不相关的软件交互会禁用外部监视器,并使其无法被 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 崩溃,断开显示器连接并将其从显示列表中取消列出。

我还发现这个问题这听起来和我所看到的很相似。

相关内容