無関係なソフトウェアの相互作用により外部モニターが無効になり、xrandr によって検出されなくなります。

無関係なソフトウェアの相互作用により外部モニターが無効になり、xrandr によって検出されなくなります。

私は Arch Linux 上で KDE Plasma 5 を実行しているラップトップを持っていますが、外部モニターに問題があります。

モニターが検出されるまで、HDMI ケーブルの接続を何度も試さなければならないことがあります。その後、Okular で PDF ファイルを開くまでは正常に動作しますが、これにより外部モニターへの出力が無効になります。一部のアプリケーションでは、確認ダイアログをポップアップ表示すると同じ効果が得られます。

Okular によってモニターが「無効」になっている場合、xrandr は HDMI ポートが切断されていると表示します。

モニターを再接続すると機能する場合もあれば、機能しない場合もあります。Okular で別の PDF ファイルを開くと、正常に動作する場合もあります。

最近、Okular でプレゼンテーション モードで PDF を開くと外部モニターを確実に無効にできることに気付きました。これは、プロジェクターでプレゼンテーションを行う場合に特に問題になります。

もちろん、再起動後にはすべてが「正常」に戻ります。

この問題は複数のモニターと複数のケーブルで発生したため、コンピューターが原因と思われます。ソフトウェア経由でこの問題をトリガーできるという事実は、ドライバーの問題を示唆しています。

この問題の原因を診断する方法が全く分からないため、解決策を見つけることすらできません。

編集 今日、複数のタブを持つインスタンスを閉じようとしたところ、問題を再現できましたKonsole。結果のダイアログには、2つのタブを同時に閉じることについて警告が表示され、外部モニターは無効になりました。また、新しくコンパイルしたGTKバージョンを起動することで、外部モニターのオン/オフを切り替えることができました。歩き回るプレイヤー

アップデート 今日、私の同僚が同じハードウェアで Gnome を実行しているのに同様の問題を抱えていました。HDMI プラグを挿入すると、モニターが一瞬検出され (xrandr がオプションを表示)、その後再びオフになります。この処理中、ラップトップ モニターは外部出力に切り替えてから元に戻ったかのように 1 回ちらつきます。

とにかく、これを診断しながら、モニターが検出された瞬間を捉えるために実行しましたwatch -n 0.5 xrandr。これを自分のシステムで試してみたところ、このコマンドの実行中はシステム全体で非常に大きな遅延が発生することに気付きました。さらに、時々空の出力が表示され、dmesg次のエラーが出力されます。

[13856.498317] xrandr[30492]: segfault at 38 ip 000000000040300c sp 00007ffffbd85370 error 4 in xrandr[400000+e000]
[13913.933446] xrandr[30629]: segfault at 38 ip 0000000000402f8d sp 00007fff27f746f0 error 4 in xrandr[400000+e000]
[13945.980728] xrandr[30709]: segfault at 38 ip 0000000000402f8d sp 00007ffc510a87e0 error 4 in xrandr[400000+e000]
[14022.522987] xrandr[30880]: segfault at 38 ip 0000000000402f8d sp 00007fffe3d274c0 error 4 in xrandr[400000+e000]
[14049.008622] xrandr[30939]: segfault at 38 ip 0000000000402f8d sp 00007ffc295ca130 error 4 in xrandr[400000+e000]

何か怪しいことが起こっているようです。xrandr をデバッグする方法について何かヒントはありますか? Runnig がgdb xrandr次の情報を提供してくれました (xrandr 出力の最後の 4 行から始まり、比較のために、この投稿の下部にあるセグメント違反のない呼び出しを見てください):

   400x300       60.32    56.34  
   320x240       60.05  
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-1 connected (normal left inverted right x axis y axis)

Program received signal SIGSEGV, Segmentation fault.
0x0000000000402f8d in ?? ()
(gdb) bt
#0  0x0000000000402f8d in ?? ()
#1  0x00007ffff71f843a in __libc_start_main () from /usr/lib/libc.so.6
#2  0x0000000000408629 in ?? ()
(gdb) disassemble 0x0000000000408620,100
Dump of assembler code from 0x408620 to 0x64:
End of assembler dump.

関連する可能性のあるその他の dmesg 出力:

[14887.537240] [drm:drm_dp_dual_mode_detect [drm_kms_helper]] *ERROR* Unexpected DP dual mode adaptor ID 04
[14887.681751] i915 0000:00:02.0: HDMI-A-1: EDID is invalid:
[14887.681758]  [00] BAD  04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04
[14887.681761]  [00] BAD  04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04
[14887.681763]  [00] BAD  04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04
[14887.681765]  [00] BAD  04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04
[14887.681767]  [00] BAD  04 05 ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[14887.681770]  [00] BAD  ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[14887.681771]  [00] BAD  ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[14887.681773]  [00] BAD  ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[14892.829695] [drm:drm_dp_dual_mode_detect [drm_kms_helper]] *ERROR* Unexpected DP dual mode adaptor ID 04

また、次の xrandr 出力にも注意してください (このラップトップには HDMI ポートが 1 つと内部モニターが 1 つしかありません)。

Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
eDP-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 345mm x 194mm
   1920x1080     60.02*+
   1400x1050     59.98  
   1280x1024     60.02  
   1280x960      60.00  
   1024x768      60.04    60.00  
   960x720       60.00  
   928x696       60.05  
   896x672       60.01  
   800x600       60.00    60.32    56.25  
   700x525       59.98  
   640x512       60.02  
   640x480       60.00    59.94  
   512x384       60.00  
   400x300       60.32    56.34  
   320x240       60.05  
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-1 connected (normal left inverted right x axis y axis)
   1920x1080     60.00 +  50.00    59.94    30.00    25.00    24.00    29.97    23.98  
   1920x1080i    60.00    50.00    59.94  
   1680x1050     59.88  
   1280x1024     60.02  
   1280x960      60.00  
   1152x864      59.97  
   1280x720      60.00    50.00    59.94  
   1024x768      60.00  
   800x600       60.32  
   720x576       50.00  
   720x480       60.00    59.94  
   640x480       60.00    59.94  
DP-2 disconnected (normal left inverted right x axis y axis)
HDMI-2 disconnected (normal left inverted right x axis y axis)

アップデート

しばらくの間、HDMI デバイスを正常に接続できなくなっていたので、元の質問は再現できない可能性があります。ただし、Antergos Live Installer (GNOME を使用) で HDMI を使用できること、および xrandr を繰り返し起動すると、ある時点で xrandr がクラッシュし、モニターが切断され、ディスプレイ リストから削除されることに気付きました。

私も見つけたこの質問それは私が見ているものと似ているようです。

関連情報