web-dev-qa-db-ja.com

xrandrが複数のモニターのあるドックで「Configure crtc X failed」でランダムに失敗する

TL; DR:ドッキングステーションに接続されている2台のモニターを使用したセットアップで、xrandrがシステムでランダムに失敗し、エラーメッセージxrandr: Configure crtc X failedが表示されます。単一のモニターの電源を複数回オン/オフした後、ほとんどの場合、正常に機能します。

ドッキングステーションにLenovo Thinkpadをセットアップしています。そのドッキングステーションには、2つのモニターがディスプレイポートで接続されています。 xrandrの出力は次のとおりです。

razr@notebook [~]
-> % xrandr
Screen 0: minimum 8 x 8, current 7680 x 1440, maximum 32767 x 32767
eDP1 connected 2560x1440+5120+0 (normal left inverted right x axis y axis) 340mm x 190mm
   2880x1620     59.96 +  50.00
   2560x1600     59.97
   2560x1440     59.95*
   2048x1536     60.00
   1920x1440     60.00
   1856x1392     60.01
   1792x1344     60.01
   2048x1152     60.00    59.90    59.91
   1920x1200     59.88    59.95
   1920x1080     59.96    60.00    59.93
   1600x1200     60.00
   1680x1050     59.95    59.88
   1400x1050     59.98
   1600x900      60.00    59.95    59.82
   1280x1024     60.02
   1400x900      59.96    59.88
   1280x960      60.00
   1440x810      60.00
   1368x768      60.00    59.88    59.85
   1280x800      59.81    59.91
   1280x720      59.86    60.00    59.74
   1024x768      60.00
   1024x576      60.00    59.90    59.82
   960x540       60.00    59.63    59.82
   800x600       60.32    56.25
   864x486       60.00    59.92    59.57
   640x480       59.94
   720x405       59.51    60.00    58.99
   640x360       59.84    59.32    60.00
DP1 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)
DP2-1 connected 2560x1440+2560+0 (normal left inverted right x axis y axis) 610mm x 350mm
   3840x2160     60.00 +  30.00    29.97
   2560x1440     59.95*
   1920x1080     60.00    59.94
   1680x1050     59.95
   1600x900      60.00
   1280x1024     75.02    60.02
   1440x900      59.89
   1280x800      59.81
   1152x864      75.00
   1280x720      60.00    59.94
   1024x768      75.03    70.07    60.00
   832x624       74.55
   800x600       72.19    75.00    60.32    56.25
   640x480       75.00    72.81    66.67    60.00    59.94
   720x400       70.08
DP2-2 connected primary 2560x1440+0+0 (normal left inverted right x axis y axis) 610mm x 350mm
   3840x2160     60.00 +  30.00    29.97
   2560x1440     59.95*
   1920x1080     60.00    59.94
   1680x1050     59.95
   1600x900      60.00
   1280x1024     75.02    60.02
   1440x900      59.89
   1280x800      59.81
   1152x864      75.00
   1280x720      60.00    59.94
   1024x768      75.03    70.07    60.00
   832x624       74.55
   800x600       72.19    75.00    60.32    56.25
   640x480       75.00    72.81    66.67    60.00    59.94
   720x400       70.08
DP2-3 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
razr@notebook [~]
-> %

私のシステムにはxorg.confがありません。起動時にlightdmによって呼び出されるシェルスクリプトがあり、これらのモニターが接続されている(つまり、ノートブックがドッキングステーションにある)かどうかを確認し、その場合は次のコマンドを実行します。

xrandr --output eDP1 --mode "1920x1080" --output DP2-1 --mode auto --left-of eDP1 --output DP2-2 --mode auto --primary --left-of DP2-1

それ以外の場合は、ノートブックディスプレイのモードを"1920x1080"に設定するだけです。

しかし、これはまったく機能しません。常にxrandr: Configure crtc 1 failedのようなエラーメッセージが表示されます。その数は時々変化すると思います。

私はすでに職場で同様の問題を経験しています(私の質問の終わりを見てください)ので、ほとんどの場合、モニターを非アクティブ化および再アクティブ化することでこれを修正できます。そのためにarandrをインストールしました。これにより、これを何度も何度も簡単に行えるようになったためです。 1台のモニターとノートブックディスプレイをアクティブにしただけで、常に機能します。どのモニターがアクティブであるかは関係ありません。 2つのモニターのみ(ノートブックディスプレイなし)は機能しません。

自宅での(新しい)セットアップでは、これを機能させることができません。私はそれを機能させるためにちょっと親切ですが、両方のモニターでモード"2560x1440"がある場合のみです。また、これは常に機能するとは限りません。時々、もう一度、arandrを開いてモニターをランダムに非アクティブ化/再アクティブ化して、機能する状態にする必要があります。今まで、そこにはどんなパターンも理解できませんでした。時々私はあきらめて、マシンを再起動し、それが後でうまくいくことを願っています。

既に述べたように、私は仕事でかなり同じようなセットアップをしていて、基本的に同じことをしています。職場では、これは少なくともドッキングステーションでマシンを起動したときに機能します。マシンを起動してドッキングステーションに接続し、上記のコマンドを実行すると、同じエラーが発生します。ここではモニターをランダムに非アクティブ化/再アクティブ化もほとんどの場合に機能します。

これがなぜ起こるのか、そして私がこれをどのように修正できるのか誰かに何か考えがありますか?

5
razr

Niklasの答えは、あなたがarandrを使用している場合の解決策に私を向けました。 (私がしたように)ドックを外すとarandrはプライマリモニター(この場合は私のラップトップ)のみを表示することがわかります。ただし、他の2つのモニターはxrandrによって引き続き検出されるため、GUIの背景を右クリックして2つのモニターの「アクティブ化」をオンにすることで、他の2つのモニターを再度アクティブ化する必要があります。

しかし、両方のモニターでこれを行うと、razrが言及していたエラーが発生します。各モニターを一度に1つずつアクティブ化するだけです-アクティブ化の間にチェックマークボタンをクリックするだけで-うまくいくはずです:)

編集:

Arandrを介さずにこれを行うための確実な方法も見つけたようです。最初のモニターをアクティブにします。

xrandr --output DP2-1 --auto

次に、私のような場合、2台目のモニターをアクティブにしようとしても機能しません(エラーrazrが表示されます)。

xrandr --output DP2-2 --auto

代わりに、保存したarandrスクリプトを実行してください。これは私の場合です:

./dual_monitor_home.sh

そして、2番目の画面を自動検出して機能しました。

3
Levi

Xrandrコマンドを次のような複数のコマンドに分割してみてください:

xrandr --output eDP1 --mode "1920x1080" 
xrandr --output DP2-1 --mode auto --left-of eDP1 
xrandr --output DP2-2 --mode auto --primary --left-of DP2-1

これは回避策です。

1
Niklas

私の解決策は、ドックステーションにいる間にノートブックをサスペンド/スリープしてスリープ解除することでした。

1

Lenovoドッキングステーションにも同じ問題があります。(実行中の)ラップトップをそれに接続すると、1つのxrandrコマンドで同時に両方の外部ディスプレイを有効にしてラップトップディスプレイを無効にすることができません。同じxrandr: Configure crtc 1 failedメッセージ。

しかし、ランダムにモニターを非アクティブ化/再アクティブ化する代わりに、私がしていることは、それをNiklasと同様の2つのステップに分割することです。

  1. 最初の外部ディスプレイを有効にし、ラップトップディスプレイを無効にする
  2. 2番目の外部ディスプレイを有効にする

これは再現性のある方法で機能しますが、適切な解決策にも興味があります。

0
Frank Siegert