É provável que a rápida sucessão de xrandr
messages esteja acionando um bug no servidor X. Eu sugiro que você faça duas coisas:
- Arquive um bug no servidor X. Ele não deve falhar, não importa o que você faça (na pior das hipóteses, deve produzir uma mensagem de erro)
-
Altere seu script para que ele chame
xrandr
apenas uma vez:xrandr --output LVDS --off --output VGA1 --mode 1280x1024 --output HDMI1 --mode 1280x1024 --rotate left --right-of VGA1
O ponto aqui é que você pode passar vários comandos por saída para
xrandr
, bem como várias saídas. Eu pessoalmente também configuraria uma das saídas como a saída principal (com--primary
), mas isso não é crítico.
EDITAR : Olhando o log um pouco mais detalhadamente, vemos isto:
Oct 21 20:13:12 debianone /etc/gdm3/Xsession[8574]: xrandr: cannot find crtc for output LVDS1
Um CRTC é um chip controlador de exibição; o componente real que transforma o buffer de quadros gerado pela GPU em linhas de varredura que são então enviadas para qualquer saída selecionada (VGA, DVI, HDMI, DisplayPort, yada yada); a abreviatura significa Controlador de Tubo de Raios Catódicos , embora essa terminologia esteja obviamente um pouco desatualizada. A maioria das GPUs tem menos do que as saídas, e o número de CRTCs geralmente é o fator limitante que decide quantos monitores uma placa de GPU pode orientar ao mesmo tempo. Até alguns anos atrás, para a maioria das GPUs móveis da Intel, esse número era de dois, embora com a aparência de telas 4K (que exigem dois CRTCs por monitor) as GPUs móveis mais modernas agora têm três.
Como o sistema também fala sobre o LVDS (que é um padrão mais antigo sendo substituído agora pela porta de exibição incorporada ou eDP), é bastante seguro assumir que você tem dois CRTCs.
O que a mensagem de erro citada acima significa é que quando você solicita ao servidor X para ativar o painel LVDS, ele procura um CRTC disponível e não o encontra. As coisas parecem dar errado. A solução para o seu problema seria, portanto, garantir que seja um CRTC disponível quando você tenta habilitar o monitor externo, desabilitando as saídas externas antes para habilitar as internas, em vez depois, como você está tentando fazer agora.