Detecção do monitor de força, nível baixo

2

Meu monitor externo (dell) não é detectado no meu laptop Asus se eu ligá-lo somente depois de inicializar o laptop.

O caso é semelhante a Como fazer com que o Linux detecte / re-monitore os monitores com o driver intel i915? , exceto que no meu caso, uma vez que é conhecido pelo laptop, posso desconectá-lo e conectá-lo novamente e detectá-lo.

Apenas quando o monitor externo está desligado durante a inicialização, não consigo ser detectado.

A solução com echo detect > /sys/class/drm/card0-DP-1/status , não funciona, porque o diretório relevante seria card0-DP-2 , que simplesmente não existe após a inicialização enquanto o monitor está desligado.

Outras soluções como CTRL-ALT-F1 e de volta da mesma forma não funcionam.

Desconectar o cabo e conectar novamente também não tem efeito. Parece um pouco como se todo o plug de exibição do laptop estivesse completamente desligado.

Detecção estranha: se o cabo da porta de exibição estiver não conectado durante a inicialização, o monitor é detectado quando eu ligá-lo e conectar o cabo após a inicialização (:-( Portanto, parece que a combinação "cabo conectado / monitor desligado durante a inicialização" é interpretada como "não se preocupe mais com esse hardware".

Existe algum comando dizendo ao sistema para reconsiderar a questão de saber se algo está conectado à porta de exibição?

    
por Harald 19.08.2018 / 11:57

2 respostas

2

Isso não responde exatamente à sua pergunta em si, mas é sem dúvida uma resposta tecnicamente correta, por isso estou aproveitando a formatação mais agradável oferecida às respostas, portanto, isso não é 30 comentários de parede de texto.

Você provavelmente não obterá uma resposta sobre SO / SE, porque simplesmente não há conhecimento suficiente sobre domínio específico. Você está muito melhor falando diretamente com os desenvolvedores do driver do kernel i915.

link contém muito instruções completas sobre como fazer isso em um maneira organizada.

A maneira como você redigiu o seu relatório de bug implica que /sys/class/drm/card0-DP-2/status existe quando você conecta um cabo DisplayPort após a inicialização, mas não quando um cabo e nenhuma tela estão conectados. Bem, qualquer coisa que envolva /sys/* definitivamente não é relacionada ao X11, e o drm no caminho confirma absolutamente que você quer seguir a seção 1.1 - DRM Kernel do link acima.

Eu dei uma olhada nos detalhes solicitados por aquela seção e estou razoavelmente confiante de que os bits impossíveis de entender não são realmente necessários. Dito isto, as informações do kernel e da distribuição, dmesg completo após a reinicialização com drm.debug=0xe , etc, são ideias muito boas.

Como é óbvio, dois dmesg s seriam logicamente apropriados aqui; um de uma bota sem o conector presente, e outro com. Pode ser muito útil anotar o ponto exato ou aproximado em que você realmente conectou o conector.

O pensamento de 5 minutos surgiu com uma maneira adequada e bem-sucedida de anotar:

script -c 'dmesg -w | cat' dmesg.txt

executará dmesg -w e também permitirá que você digite linhas de texto diretamente no terminal para adicionar anotações , e você poderá ^C quando terminar de coletar informações do dmesg. ( dmesg -w | cat é menor que dmesg -w --color=never .)

Uma coisa possivelmente improvável, apenas no caso: isso já funcionou? Se sim, você lembra que horas? Se sim, tente instalar versões antigas das distribuições usadas nesses pontos e, se elas funcionarem, colete as versões do kernel!

Além disso, você pode não querer ouvir isso, mas como sempre, não se pode ter 100% de certeza se, por má vontade, a versão mais recente do kernel não resolve tudo magicamente. :)

Felizmente, isso é muito menos assustador do que você pode temer: link é um clone inteiro do kernel do Linux com os adesivos de ponta de árvore já dobrados. Por melhor que eu possa dizer, apenas clone e construa isso e você deve estar pronto para ir.

... Dito isto, por uma questão de cautela, você pode querer baixar a versão mais recente do kernel e obter esse trabalho conhecido primeiro, e então copiar o .config para o drm-tip tree. Se você não fizer isso primeiro, e tudo explodir de lado, a verificação de que você pode criar e inicializar um kernel da linha principal pode ser uma boa primeira checagem de integridade.

Esta é a página do bugzilla que você deseja: link

Na verdade, isso quase certamente mostrará a você uma visualização de login; Nesse caso, você desejará primeiro este URL: link

Finalmente, se você quiser fazer perguntas, o link menciona # gfx-intel no freenode.

FWIW, o que descrevi acima é um conjunto ideal de etapas. Você pode abrir um bug provisório no freedesktop.org antes de, por exemplo, ir e fazer uma reconstrução do kernel para descobrir se não há outras etapas de depuração que você possa tentar. (A página de entrada de bugs lista apenas "drm git" na seção de versão, então, eles realmente querem você usando a versão git ... heh)

Na verdade, tenho uma boa pergunta para o canal do IRC - listei o drm-tip git repo porque é esse que a documentação menciona, mas há também um drm-intel repo e não sei qual é a relevância dele . Ele também se parece com uma árvore de kernel e está sendo atualizado a cada poucos minutos também.

    
por 04.09.2018 / 16:31
0

Esta não é uma solução, mas uma possível solução alternativa:

$ env DISPLAY=:0 xset dpms force off
$ env DISPLAY=:0 xset dpms force on

O método acima é deste AU Q & A intitulado: monitor DisplayPort não detectado se desligado e ligado novamente tinha outras soluções para um problema semelhante também.

Este U & Q e amp; A intitulado: Como posso detectar quando um monitor está conectado ou desconectado? tinha um método de pesquisa que pode ajudar aqui também.

    
por 19.08.2018 / 21:09