不相關的軟體互動會停用外部顯示器並使其無法被 xrandr 偵測到

不相關的軟體互動會停用外部顯示器並使其無法被 xrandr 偵測到

我有一台在 Arch Linux 上運行 KDE Plasma 5 的筆記型電腦,但外部顯示器出現問題。

有時我必須多次嘗試連接 HDMI 電纜才能檢測到顯示器。然後它運行良好,直到我在 Okular 中打開 PDF 文件,這會禁用到外部顯示器的輸出。在某些應用程式中,彈出確認對話方塊會產生相同的效果。

當 Okular「停用」顯示器時,xrandr 表示 HDMI 連接埠已中斷連線。

有時重新連接顯示器有效,有時則無效。有時,當在 Okular 中開啟另一個 PDF 檔案時,它會恢復正常。

最近,我注意到我可以透過在 Okular 中以演示模式開啟 PDF 來可靠地停用外部顯示器,當我想透過投影機進行演示時,這尤其成問題。

當然,重啟後一切都會恢復「正常」。

請注意,這種情況發生在多個顯示器和多條電纜上,因此電腦似乎是原因。事實上,我可以透過軟體觸發此問題,這暗示了驅動程式問題。

我什至無法開始尋找解決方案,因為我不知道如何診斷導致此問題的原因。

編輯 今天,我可以透過嘗試關閉Konsole具有多個選項卡的實例來重現該問題。產生的對話方塊警告一次關閉 2 個選項卡,並且外部顯示器已停用。我還可以透過啟動新編譯的 GTK 版本來開啟和關閉外部顯示器流動玩家

更新 今天,我的一位同事在運行 Gnome 的相同硬體上也遇到了類似的問題。插入 HDMI 插頭時,會短暫偵測到顯示器(xrandr 顯示選項),然後再次關閉。在此過程中,筆記型電腦顯示器閃爍一次,就像切換到外部輸出然後再切換回來一樣。

不管怎樣,在診斷這個問題時,我們跑去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 的任何指示嗎? Runniggdb xrandr給了我這個(從 xrandr 輸出的最後四行開始,為了進行比較,請查看本文底部的非段錯誤呼叫):

   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 連接埠和一台內部顯示器):

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 崩潰並斷開顯示器連接並將其從顯示列表中取消列出。

我還發現這個問題這聽起來與我所看到的相似。

相關內容