Die Interaktion mit fremder Software deaktiviert den externen Monitor und macht ihn für xrandr nicht erkennbar

2

Ich habe einen Laptop mit KDE Plasma 5 unter Arch Linux, der Probleme mit externen Monitoren hat.

Manchmal muss ich mehrmals versuchen, das HDMI-Kabel anzuschließen, bevor der Monitor erkannt wird. Dann läuft es einwandfrei, bis ich eine PDF-Datei in Okular öffne, die die Ausgabe auf den externen Monitor deaktiviert. In einigen Anwendungen hat ein Bestätigungsdialog den gleichen Effekt.

Wenn der Monitor von Okular "deaktiviert" wird, meldet xrandr, dass der HDMI-Port nicht angeschlossen ist.

Manchmal funktioniert das erneute Anschließen des Monitors, manchmal nicht. Manchmal wird es wieder lebendig, wenn Sie eine andere PDF-Datei in Okular öffnen.

Kürzlich habe ich festgestellt, dass ich den externen Monitor zuverlässig deaktivieren kann, indem ich in Okular eine PDF-Datei im Präsentationsmodus öffne. Dies ist besonders problematisch, wenn ich eine Präsentation über einen Projektor halten möchte.

Natürlich ist nach einem Neustart alles wieder "normal".

Beachten Sie, dass dies bei mehreren Monitoren und Kabeln der Fall ist, sodass der Computer die Ursache zu sein scheint. Die Tatsache, dass ich dies per Software auslösen kann, deutet auf ein Treiberproblem hin.

Ich kann nicht einmal anfangen, eine Lösung zu finden, weil ich keine Ahnung habe, wie ich das Problem diagnostizieren soll.

BEARBEITEN Heute konnte ich das Problem reproduzieren, indem ich versuchte, eine KonsoleInstanz mit mehreren Registerkarten zu schließen. Das daraufhin angezeigte Dialogfeld warnte vor dem gleichzeitigen Schließen von zwei Registerkarten, und der externe Monitor wurde deaktiviert. Ich konnte auch den externen Monitor ein- und ausschalten, indem ich eine frisch kompilierte GTK-Version des Ambulant Players startete .

UPDATE Heute hatte ein Kollege von mir ein ähnliches Problem mit der gleichen Hardware, Gnome ausgeführt. Beim Einstecken des HDMI-Steckers wird der Monitor für einen kurzen Moment erkannt (xrandr zeigt die Optionen an) und dann wieder ausgeschaltet. Der Laptop-Monitor flackert während dieses Vorgangs einmal, als würde er auf einen externen Ausgang umschalten und dann wieder zurück.

Trotzdem haben wir bei der Diagnose versucht watch -n 0.5 xrandr, den Moment zu erfassen, in dem der Monitor erkannt wurde. Ich habe dies auf meinem System ausprobiert und festgestellt, dass das gesamte System eine erhebliche Verzögerung aufweist, während dieser Befehl ausgeführt wird. Außerdem bekomme ich ab und zu eine leere Ausgabe und dmesgspucke diese Fehler aus:

[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]

Es scheint also etwas faul zu sein. Gibt es Hinweise zum Debuggen von xrandr? Runnig gdb xrandrgab mir dies (beginnend mit den letzten vier Zeilen der xrandr-Ausgabe, zum Vergleich, siehe den Aufruf ohne Segfault am Ende dieses Beitrags):

   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.

Einige weitere Dmesg-Ausgaben, die in Zusammenhang stehen könnten:

[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

Beachten Sie auch den folgenden xrandr-Ausgang (an diesem Laptop befinden sich nur ein HDMI-Anschluss und ein interner Monitor):

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)

AKTUALISIEREN

Ich konnte seit einiger Zeit kein HDMI-Gerät mehr erfolgreich anschließen, sodass die ursprüngliche Frage für mich möglicherweise nicht mehr reproduzierbar ist. Ich bemerkte jedoch, dass ich den HDMI-Anschluss im Antergos Live Installer (der GNOME verwendet?) Verwenden konnte und dass das wiederholte Starten von xrandr xrandr irgendwann zum Absturz bringt und den Monitor vom Computer trennt sowie ihn in der Anzeigeliste löscht.

Ich habe auch diese Frage gefunden , die sich ähnlich anhört wie das, was ich sehe.

Niemand
quelle
1
Können Sie versuchen, okular mit KSCREEN_BACKEND = fake okular zu starten und melden, ob dies einen Unterschied gemacht hat? Dadurch wird xrandr umgangen, womit okular nicht schön zu spielen scheint.
MariusMatutiae
@MariusMatutiae Ich werde das nächste Woche versuchen. Dieses Problem tritt jedoch auch in anderen Anwendungen auf, sodass irgendwo ein tieferes Problem auftreten muss.
Niemand
@MariusMatutiae Ich kann die Ausgabe nicht mehr über okular (mit und ohne KSCREEN_BACKEND=fake) reproduzieren . Ich sehe jedoch immer noch ein- oder zweimal pro Tag Instanzen dieses Problems. Müssen Sie einen anderen zuverlässigen Reproduzent zu finden :(
Niemand