Eu tenho um laptop rodando KDE Plasma 5 no Arch Linux que tem problemas com monitores externos.
Às vezes tenho que tentar várias vezes conectar o cabo HDMI antes que o monitor seja detectado. Então funciona bem até eu abrir um arquivo PDF no Okular, o que desativa a saída para o monitor externo. Em alguns aplicativos, a exibição de uma caixa de diálogo de confirmação resulta no mesmo efeito.
Quando o monitor é "desativado" pelo Okular, xrandr diz que a porta HDMI está desconectada.
Às vezes, reconectar o monitor funciona, às vezes não. Às vezes, ele volta à vida ao abrir outro arquivo PDF no Okular.
Recentemente, percebi que posso desativar o monitor externo de maneira confiável abrindo um PDF no modo de apresentação no Okular, o que é especialmente problemático quando quero fazer uma apresentação via projetor.
Claro, tudo volta ao “normal” após uma reinicialização.
Observe que isso aconteceu com vários monitores e vários cabos, então o computador parece ser a causa. O fato de eu poder acionar isso por meio de software indica um problema de driver.
Não consigo nem começar a encontrar uma solução porque não tenho ideia de como diagnosticar o que causa esse problema.
EDITAR
Hoje consegui reproduzir o problema tentando fechar uma Konsole
instância com várias abas. A caixa de diálogo resultante alertou sobre o fechamento de 2 guias ao mesmo tempo e o monitor externo foi desativado. Também consegui ligar e desligar o monitor externo iniciando uma versão GTK recém-compilada doJogador Ambulante.
ATUALIZAR Hoje um colega meu teve um problema semelhante com o mesmo hardware, rodando o Gnome. Ao inserir o plugue HDMI o monitor é detectado por um breve momento (xrandr exibe as opções) e depois é desligado novamente. O monitor do laptop pisca uma vez durante este procedimento, como se estivesse alternando para saída externa e depois vice-versa.
De qualquer forma, ao diagnosticar isso corremos watch -n 0.5 xrandr
para captar o momento em que o monitor é detectado. Eu tentei isso em meu sistema e percebi que há um atraso terrível em todo o sistema enquanto este comando está em execução. Além disso, recebo uma saída vazia de vez em quando e dmesg
exponho estes erros:
[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]
Então, algo suspeito parece estar acontecendo. Alguma dica sobre como depurar o xrandr? Runnig gdb xrandr
me deu isso (começando com as últimas quatro linhas da saída do xrandr, para comparação, veja a invocação não segfault no final deste post):
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.
Mais alguma saída dmesg que pode estar relacionada:
[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
Observe também a seguinte saída xrandr (há apenas uma porta HDMI e um monitor interno neste laptop):
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)
ATUALIZAR
Já faz algum tempo que não consigo conectar nenhum dispositivo HDMI com êxito, então a pergunta original pode não ser reproduzível para mim. No entanto, percebi que poderia usar o HDMI no Antergos Live Installer (que usa GNOME?) E que iniciar o xrandr repetidamente irá travar o xrandr em algum momento e desconectar o monitor, bem como retirá-lo da lista de exibição.
Eu também encontreiessa questãoque parece semelhante ao que estou vendo.