マルチモニターがあるドッキングステーションでxrandrが失敗する

マルチモニターがあるドッキングステーションでxrandrが失敗する

編集:問題を解決する質問の最後に何かを追加しました。これはRobert Simmerの提案に基づいているため、彼の答えは正しいとマークされています。

Lenovo USB-Cドックをラップトップにコールドプラグで差し込むと、2台の追加モニター(合計3台)が動作を開始しました。

ただし、ドックをホットプラグすると、次のエラーが発生しますarandr

XRandR returned error code 1:
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 21 (RRSetCrtcConfig)
Serial number of failed request: 44
Current serial number in output stream: 44
  1920x1080 (0x48) 142.600MHz -HSync -VSync *current +preferred
        h: width  1920 start 1936 end 1952 total 2080 skew    0 clock  68.56KHz
        v: height 1080 start 1083 end 1088 total 1142           clock  60.03Hz
  1920x1080 (0x56f) 138.500MHz +HSync -VSync
        h: width  1920 start 1968 end 2000 total 2080 skew    0 clock  66.59KHz
        v: height 1080 start 1083 end 1088 total 1111           clock  59.93Hz

また、3つのモニターをすべて使用する場合、ある時点でノートパソコンの画面がランダムにアプリを停止させることが多いため、これを防ぐためにノートパソコンの画面を無効にすることがよくあります。

私のラップトップはLenovo X1 Carbonの第8世代です。私はWaylandではなく、i3とX11を使用する完全に最新バージョンのManjaro Linuxを使用しています。

以下は短縮された出力です。xrandr --verbose

  1. モニターが接続されていない場合は、次の結果が表示されます。
xrandr --verbose | grep -E '^[^[:space:]]|curr|pref' | sed -e 's/(norm.*)//' 

Screen 0: minimum 8 x 8, current 6535 x 2434, maximum 32767 x 32767
eDP1 connected primary 1920x1080+1256+1354 (0x48) normal  310mm x 170mm
  1920x1080 (0x48) 142.600MHz -HSync -VSync *current +preferred
DP1 disconnected 
DP1-1 connected 
  1440x900 (0x78b) 106.500MHz +HSync -VSync +preferred
DP1-2 connected 
  1920x1080 (0x56f) 138.500MHz +HSync -VSync +preferred
DP1-3 disconnected 
DP2 disconnected 
HDMI1 disconnected 
VIRTUAL1 disconnected

  1. ドックを接続して再起動した後(つまり、すべてがうまく機能します)、次のようになります。
Screen 0: minimum 8 x 8, current 4740 x 3600, maximum 32767 x 32767
eDP1 connected primary 1920x1080+2820+2520 (0x4b) normal  310mm x 170mm
  1920x1080 (0x4b) 142.600MHz -HSync -VSync *current +preferred
DP1 disconnected 
DP1-1 connected 900x1440+0+0 (0x4c) right  410mm x 260mm
  1440x900 (0x4c) 106.500MHz +HSync -VSync *current +preferred
DP1-2 connected 1920x1080+900+1440 (0x4d) normal  530mm x 300mm
  1920x1080 (0x4d) 138.500MHz +HSync -VSync *current +preferred
DP1-3 disconnected 
DP2 disconnected 
HDMI1 disconnected 
VIRTUAL1 disconnected

答え:

いいね!したがって、arandrを完全に使用しないでください。


xrandr --output DP1-2 --auto 
xrandr --output DP1-1 --auto  

ホットプラグ時に2つの外部モニタが動作するようにします。

その後、次のものを使用できます。



xrandr --output eDP1 --primary --mode 1920x1080 --pos 2820x2520 --rotate normal --output DP1 --off --output DP1-1 --mode 1440x900 --pos 0x0 --rotate right --output DP1-2 --mode 1920x1080 --pos 900x1440 --rotate normal 

設定してください。以前は、上記の内容をスクリプトに入れるだけでは機能しませんでしたが、スクリプトの両方の画面に--autoを含めると、ホットプラグ時にも機能します。


xrandr --output DP1-2 --auto 
xrandr --output DP1-1 --auto  

xrandr --output eDP1 --primary --mode 1920x1080 --pos 2820x2520 --rotate normal --output DP1 --off --output DP1-1 --mode 1440x900 --pos 0x0 --rotate right --output DP1-2 --mode 1920x1080 --pos 900x1440 --rotate normal 

ただし、arandr --auto(それぞれ個別に)を使用して設定を実行しないと失敗します。

私が知っている限り、このステップを実行すると、dmesgには何の変更もありません。

ベストアンサー1

xrandrエラーメッセージには、どのコマンドが実行されたかarandr(そして意図的に)表示されません。

ここではいくつかの仮定をする必要があります。あなたのコメントでこれを確認/拒否してください。だから私の仮定は次のようになります。

  • ドックから起動すると、すべてのモニターが機能します。
  • ドックがホットプラグされると、内部ディスプレイのみが表示され続け、外部ディスプレイは黒/オフのままになります。
  • どのラッパーを使用していますか?arandr(私はよくわかりません。問題を調査するときは除外するのが最善です!)
  • arandr外部モニターの電源を入れたいです。

次から始めます。

xrandr --output DP1-1 --auto

それから

xrandr --output DP1-2 --auto

どうしたの?

私はこれが似たようなことをしていると推測しましたが、arandr残念ながらこのコマンドは機能しませんでした。カーネルの新しい出力が含まれていません(コマンドdmesgxrandr2回呼び出される前と後に表示されます。存在する場合は、新しいメッセージのみが報告されます)。

それでも問題が解決しない場合は、一度に1つずつ低解像度モニターを駆動してみてください。たとえば、

xrandr --output DP1-1 --mode 800x600

働く?

私が知っているすべては:

  • これはピクセルクロックの問題ではありません。コールドスワップモニタは他のすべてのモデルと周波数で動作し、ピクセルクロックが不足しているため、これをサポートすることはできません。
  • モニターを接続した後の出力は接続されていると報告されているため、「モニターオフ」のように見えます。これはドックがなくても同じですか? (またはドッキングステーションを使用していますが、モニターケーブルを外していますか?)

おすすめ記事