このUSB-Cドックを介してxrandrに60Hzで3つの1680x1050ビデオ信号を出力させるにはどうすればよいですか?

このUSB-Cドックを介してxrandrに60Hzで3つの1680x1050ビデオ信号を出力させるにはどうすればよいですか?

私は3つの同じ1680x1050モニターを持っており、Razer Blade 15 "2018ノートブックと対応するThunderbolt 3ポートの"HP G5 USB-C Dock"を介して使用しようとしましたxrandr。解像度。

モデル行を直接構築すると、3つのモデルすべてを1680x1050および49Hzで実行できます。 60Hzは不可能ですか?たぶんピクセルクロックの問題かもしれません。

xrandr | egrep '^[^ ]' | grep -v 'Screen 0:' | sed -e 's/ (.*//'

ドックを接続せずに印刷してください。

eDP-1 connected primary 1920x1080+0+0
DP-1 disconnected
DP-2 disconnected
HDMI-1-1 disconnected
DP-1-3 disconnected

ドックをホットスワップすると、次のようになります。

eDP-1 connected primary 1920x1080+0+0
DP-1 disconnected
DP-2 disconnected
DP-1-1 connected
DP-1-2 connected
DP-1-3 disconnected
HDMI-1-1 disconnected

ドックを使ってディスプレイを起動します。

eDP-1 connected primary 1920x1080+0+0
DP-1 disconnected
DP-2 disconnected
DP-1-1 connected
DP-1-2 connected
DP-1-3 connected
HDMI-1-1 disconnected
DP-1-6 disconnected

ドックがホットプラグされた後は設定できませんxrandr --output DP-1-3 --auto。わかりましたxrandr: cannot find preferred mode。しかし、それから始めればうまくいきます。

1680x1050 @ 60の解像度で3番目のモニタを有効にしようとするとxrandr: Configure crtc 0 failedcvt -rCVT-RBv2に比べてディスプレイが古すぎると思います。

[友達を探す@bain]

答え1

私の発見
  1. HP G5ドッキングステーション(仕様)はUSB-Cのみをサポートします。ビデオ信号は、ラップトップ用によく知られているUSB-C DisplayPort代替モード(同じポート、別の動作モード)を介して送信されます。未使用。

  2. トリプル1680×1050の解像度は、ラップトップがUSB-C経由のDisplayPort 1.2に制限されていることを強く示唆しています。そして2車線のみが使用されます。 8.64Gb/sの帯域幅を許可し、トリプル1680x1050はその帯域幅に適していますが、60Hzが可能です。CVT-RBv2のタイミングがうまくいかないと確信したのはなぜですか?このエラーは、xrandr: Configure crtc 0 failed目的の操作を実行するようにGPUを設定できないことを示します。モニターが実際にモードを処理できない場合は、自分の画面に表示される、ちらつき、奇妙に暗くなるなどの現象が発生します。有用なモデル行を生成することは、cvtこの場合(そして他の多くの場合)には役に立ちません。また、対応する-rスイッチは「v1」タイミングのみを生成します。

  1. ホットプラグの問題は無関係なバグのようです。ドックのないポートを見ると、奇妙なDP-1-3ポートが見えます。特にそれがないDP-1-1ものとその周辺にあることが何を意味するのかはよく分かりませんDP-1-2。 - 私はこの奇妙なアイテムがコールドプラグケースと同じだと思いますDP-1-6(数字は常に最後の数字で+ 3ですDP-1-x)。ホットプラグイベントでは、DP-1その偽名の前後に列挙がクラッシュしてその名前で登録できず、他の名前を試していないため、ドックの最後のビデオポートを表示または処理することは不可能に見えます。DP-1-1DP-1-2DP-1-3
進行方法
60Hzリフレッシュ

(次のテキストは作業を進める方法を示しています。読んで理解し、環境に適応してください。コピーして貼り付けることができない場合があります。)

すべてのモニターを60Hzに設定してみましょう。まず、コールドプラグがあり、3つの外部モニタがすべて一定の解像度で動作していることを確認してください。ボトルネックやGPUの他の制限に達するのを防ぐために(モニターをテストしたい!)内部画面で作業し、他のすべての画面をオフにします。

for no in 1 2 3; do xrandr --output DP-1-$no --off; done

それでは、「my」モデル行を追加してみましょう。

xrandr --newmode h160 119    1680 1728 1760 1840 1050 1053 1059 1080 +HSync -VSync
xrandr --newmode h80 114.048 1680 1688 1720 1760 1050 1066 1074 1080 +HSync -VSync
xrandr --newmode h60 112.752 1680 1688 1710 1740 1050 1066 1074 1080 +HSync -VSync
xrandr --newmode h50 112.104 1680 1688 1705 1730 1050 1066 1074 1080 +HSync -VSync
xrandr --newmode h40 111.456 1680 1688 1702 1720 1050 1066 1074 1080 +HSync -VSync
xrandr --newmode h30 110.808 1680 1682 1690 1710 1050 1066 1074 1080 +HSync -VSync
xrandr --newmode h25 110.484 1680 1682 1690 1705 1050 1066 1074 1080 +HSync -VSync
xrandr --newmode h20 110.16  1680 1682 1690 1700 1050 1066 1074 1080 +HSync -VSync
xrandr --newmode h12 109.642 1680 1684 1688 1692 1050 1066 1074 1080 +HSync -VSync

お好みのモニター(そして最終的には他のモニター)にすぐに追加してください。

for name in h160 h80 h60 h50 h40 h30 h25 h20 h12; do xrandr --addmode DP-1-1 $name; done

今テストしてみてください!

xrandr --output DP-1-1 --mode h160

h160が機能するはずです。退屈なCVT-RBタイミングですcvt -r 1680 1050 60。次にh80をテストします。 CVT-RBv2 です。私は4つの普通の古いモニターを持っていますが、すべてこれを行います。もっと遠く:

  • 私の不快なMedionブランドのフルHDモニターの画像がh60で揺れます。
  • h30はBenQブランドのフルHDモニターの最後のモデルです。
  • h20 HP Full HDモニター(一般)
  • h12 Dell Office 1680x1050モニター(うまくいきます!)

次に、使用した最後のモデル行で3つすべてを有効にしてみてください。

60Hzの代替

前述のように、帯域幅の制限はUSB-Cディスプレイポート代替モードのバージョンと設定によって異なります。より多くの帯域幅が必要な場合は、2本のUSB-Cケーブルの代わりにDP 1.3+および/または4レーン(最大)を使用してください。前者は同じハードウェアで変更することはできず、後者は時々「USB-C高解像度モード」のファームウェア設定ユーティリティ(「BIOS」)にあります。 4にはUSB 3.xはありません。 DisplayPortビデオ信号が隣接するチャンネルモード、USB 2.0のみ。

ホットスワップ可能なドッキングステーション

同じ3つの状態(ドックなし、ホットプラグ、コールドプラグ)に対して次の出力を送信します。

(cd /sys/class/drm; ls */edid)

私は持っています

card0-DP-1/edid     card0-DVI-I-2/edid
card0-DVI-I-1/edid  card0-HDMI-A-1/edid

たとえば、名前は次のように完全に異なります。xrandr | egrep '^[^ ]' | grep -v 'Screen 0:' | sed -e 's/ (.*//'

DisplayPort-0 connected primary 1680x1050+0+1080
HDMI-0 connected 1680x1050+1920+1080
DVI-0 connected 1680x1050+3840+1080
DVI-1 connected 1680x1050+1920+0

多分それは私達に何が何であるかについての考えを与えるかもしれません。これRazer Blade 15インチベース(2018)内部ディスプレイ、1×Thunderbolt3 / USB-C、1×HDMI 2.0、および1×Mini DisplayPort 1.4が必要です。

これは、eDP-1、HDMI-1-1(名前指定ではない)、およびDP-1が私たちが知っているUSB-Cに関連する理由を説明します。 DP-2とDP-1-3は残してください。 DP-2はMini DisplayPortのようです。おそらく、DP-1-3はこの二重目的のThunderbolt / USBポートのThunderbolt側です。相互依存がある場合は、まず個別に有効にしてから一緒に確認してください。ドッキングステーションを外し、--offすべての出力を切り替えます。それから

xrandr --addmode DP-1 0x74  # some 800x600 standard modeline on my system
xrandr --output DP-1 --mode 0x74  # does this work?
xrandr --output DP-1 --off  # afterwards

これにより、GPUがそこから何かを出力するように強制できます。次にDP-1-3を試してみてください。効果的ですか?両方を同時に有効にできますか?また、他の(低)解像度(ミラーレスなど)がありますか? Thunderbolt-DPコンバータを借りることはできますか?このアダプタがDP-1-3を使用していることを確認してください。

とにかく...これがすべて真であれば、Xserverがある種の内部出力スプリッタに対して競合する名前を発行するときに間違った呼び出しをするようです。見れば面白いと思うただフル再起動なしでドックをホットプラグした後、Xserverを再起動してください。正しく動作している場合、カーネルGPUドライバは問題を引き起こさないようですが、X11の列挙型では問題が発生します。


1ピクセルクロックは次のように計算されます。Tomのビデオタイミング計算機そして手でモデルを作りました。

関連情報