La interacción de software no relacionada desactiva el monitor externo y lo hace indetectable para xrandr

La interacción de software no relacionada desactiva el monitor externo y lo hace indetectable para xrandr

Tengo una computadora portátil que ejecuta KDE Plasma 5 en Arch Linux y tiene problemas con los monitores externos.

A veces tengo que intentar varias veces conectar el cable HDMI antes de que se detecte el monitor. Luego funciona bien hasta que abro un archivo PDF en Okular, lo que desactiva la salida al monitor externo. En algunas aplicaciones, la aparición de un cuadro de diálogo de confirmación produce el mismo efecto.

Cuando Okular "deshabilita" el monitor, xrandr dice que el puerto HDMI está desconectado.

A veces, volver a conectar el monitor funciona, a veces no. A veces vuelve a la vida al abrir otro archivo PDF en Okular.

Recientemente, noté que puedo desactivar de manera confiable el monitor externo abriendo un PDF en modo de presentación en Okular, lo cual es especialmente problemático cuando quiero hacer una presentación a través del proyector.

Por supuesto, todo vuelve a la "normalidad" después de reiniciar.

Tenga en cuenta que esto ha sucedido con varios monitores y varios cables, por lo que la computadora parece ser la causa. El hecho de que pueda activar esto a través del software indica un problema con el controlador.

Ni siquiera puedo empezar a encontrar una solución porque no tengo idea de cómo diagnosticar la causa de este problema.

EDITAR Hoy podría reproducir el problema intentando cerrar unKonsole instancia con varias pestañas. El cuadro de diálogo resultante advirtió sobre el cierre de 2 pestañas a la vez y el monitor externo se deshabilitó. También pude encender y apagar el monitor externo iniciando una versión GTK recién compilada delJugador ambulante.

ACTUALIZAR Hoy, un colega mío tuvo un problema similar con el mismo hardware, ejecutando Gnome. Al insertar el enchufe HDMI, el monitor se detecta por un breve momento (xrandr muestra las opciones) y luego se apaga nuevamente. El monitor de la computadora portátil parpadea una vez durante este procedimiento, como si cambiara a la salida externa y luego regresara.

De todos modos, mientras diagnosticábamos esto corrimos watch -n 0.5 xrandrpara captar el momento en que se detecta el monitor. Probé esto en mi sistema y noté que hay una enorme cantidad de retraso en todo el sistema mientras se ejecuta este comando. Además, de vez en cuando obtengo un resultado vacío y dmesgescupo estos errores:

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

Entonces parece que algo sospechoso está pasando. ¿Algún consejo sobre cómo depurar xrandr? Runnig gdb xrandrme dio esto (comenzando con las últimas cuatro líneas de la salida de xrandr, para comparar, mire la invocación sin segmentación al final de esta publicación):

   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.

Algunos resultados más de dmesg que podrían estar relacionados:

[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

También tenga en cuenta la siguiente salida xrandr (solo hay un puerto HDMI y un monitor interno en esta computadora portátil):

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)

ACTUALIZAR

Ya no pude conectar con éxito ningún dispositivo HDMI desde hace algún tiempo, por lo que es posible que la pregunta original no sea reproducible para mí. Sin embargo, noté que podía usar HDMI en Antergos Live Installer (¿que usa GNOME?) y que al iniciar xrandr repetidamente, xrandr fallará en algún momento y desconectará el monitor, además de eliminarlo de la lista de visualización.

También encontréesta preguntaque suena similar a lo que estoy viendo.

información relacionada