Como superar a tela de login em branco usando dois monitores com laptop (Intel i965)

1

Acabei de instalar o Ubuntu 16.04.3 LTS (Kernel: Linux 4.10.0-40-genérico (x86_64), Desktop: LXDE (Lubuntu)) em um Dell Latitude D630 (gráficos Intel GM965). Funciona bem com apenas o laptop (desacoplado), mas se eu tentar inicializar com 2 monitores externos (VGA + DVI) conectados (tampa do laptop aberta ou fechada), recebo uma tela em branco no login. Uma vez logado, isso pode ser corrigido explicitamente desligando a tela do laptop ("LVDS-1") no xrandr-autostart.desktop executando:

xrandr --output DVI-D-1 --mode 1920x1200 --rate 59.95 --pos 1280x0 --rotate normal
--output VGA-1 --mode 1280x1024 --rate 60.02 --pos 0x128 --rotate normal
--output LVDS-1 --off
--output VIRTUAL1 --off'

Olhando para a saída do dmesg, este parece ser um problema de firmware (não incomum) (embora eu não veja nenhuma menção a uma correção nas notas de versão de firmware posteriores para minha máquina):

[Firmware Bug]: Duplicate ACPI video bus devices for the same VGA
  controller, please try module parameter "video.allow_duplicates=1"if the
  current driver doesn't work.

De nada adiantou, tentei adicionar o seguinte ao / etc / default / grub:

GRUB_CMDLINE_LINUX_DEFAULT="video.allow_duplicates=1 quiet splash"
Embora isto (ou várias coisas que eu tentei) me faça ver um logotipo gráfico "Lubuntu" seguido por uma tela de mensagens no estilo terminal (em monitores bothexternais), a final dos quais está dizendo "Plymouth boot screen", ele fica na tela sem exibir login (mesmo que isso me permita logar cegamente).

Verificando os módulos do kernel VGA, o aviso da ACPI estaria relacionado ...

lspci -nnk | grep -A3 VGA
00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (primary) [8086:2a02] (rev 0c)
    Subsystem: Dell Latitude D630 [1028:01f9]
    Kernel driver in use: i915
    Kernel modules: i915, intelfb

Parece que vários bugs do i915 foram corrigidos no kernel anterior 4.6 linux, mas eu não tenho ido longe com as várias sugestões neste fórum ou em outro lugar. Tentei definir opções para um ou ambos os módulos de vídeo relacionados no arquivo de controle /etc/modprobe.d/fix-video.conf:

options i915 video.allow_duplicates=1
options intelfb video.allow_duplicates=1

mas isso não resolveu o problema, no mínimo, tornando o sistema menos estável. Ele adicionou 2 linhas extras na tela do tipo terminal depois da (mensagem do plymouth bootscreen) relacionada ao controle da luz de fundo, mas eu não acho que esse seja o problema.

Minha configuração atual é sem arquivos modprobe.d extras, mas com o seguinte no grub (o que me dá o logotipo do Lubuntu, seguido pela tela do tipo terminal):

GRUB_CMDLINE_LINUX_DEFAULT="i915.modeset=1 quiet splash"

Mesmo que eu não consiga superar o bug do firmware, se houvesse uma maneira de configurar as coisas para desligar a tela do laptop para a tela de login (como no script arandr acima) isso seria ótimo - particularmente com o script arandr se o laptop está funcionando de forma independente, ele só é ignorado (a tela do laptop aparece).

Outras informações sobre o vídeo que podem ser úteis, confirmadas em minha área de trabalho, com os dois monitores externos desativando o monitor de laptop com arandr:

sudo lshw -c video
  *-display:0             
       description: VGA compatible controller
       product: Mobile GM965/GL960 Integrated Graphics Controller (primary)
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 0c
       width: 64 bits
       clock: 33MHz
       capabilities: msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:27 memory:f6e00000-f6efffff memory:e0000000-efffffff ioport:efe8(size=8) memory:c0000-dffff
  *-display:1 UNCLAIMED
       description: Display controller
       product: Mobile GM965/GL960 Integrated Graphics Controller (secondary)
       vendor: Intel Corporation
       physical id: 2.1
       bus info: pci@0000:00:02.1
       version: 0c
       width: 64 bits
       clock: 33MHz
       capabilities: pm bus_master cap_list
       configuration: latency=0
       resources: memory:f6f00000-f6ffffff
    
por R.Thomas 29.11.2017 / 10:09

1 resposta

0

A solução a seguir não é ideal, pois não corrige o bug do driver, mas torna a tela de login visível no laptop e (um) nos monitores externos (após um período em branco, quando deveria ter sido mostrando o logotipo do Lubuntu) ...

Como apontado por @ravery (obrigado!) como meu sistema está configurado para usar o greeter Lightdm, eu posso modificar o script de saudação para ativar / desativar exibições usando arandr:

Adicione um novo arquivo de configuração (usando sudo) para substituir o script de saudação padrão usando o editor de sua escolha:

sudo gvim /etc/lightdm/lightdm.conf.d/50-myconfig.conf

e digite o seguinte:

# Redirect greeter script to my version
[Seat:*]
greeter-wrapper=/etc/lightdm/lightdm.conf.d/my-lightdm-greeter-session

Copie o script greeter existente e edite-o:

sudo cp -p /usr/lib/lightdm/lightdm-greeter-session /etc/lightdm/lightdm.conf.d/my-lightdm-greeter-session
sudo gvim /etc/lightdm/lightdm.conf.d/my-lightdm-greeter-session

para adicionar a seguinte linha para ativar a tela do laptop ("LVDS-1") e VGA, mas desligue o DVI-D:

xrandr --output LVDS-1 --auto --output VGA-1 --auto --same-as LVDS-1 --output DVI-D-1 --off

Embora isso apenas ligue um dos dois monitores externos possíveis, dentro do Lubuntu a sessão do usuário pode ser configurada para mudar para o desejado monitore a configuração usando o item de menu "Monitor Settings" para configurar o arquivo de configuração: ~ / .config / autostart / lxrandr-autostart.desktop (Mesmo que eu tenha configurado esse arquivo para desligar a tela do laptop, quando o laptop é usado desacoplar, ele ignora sensivelmente este aviso e é exibido na tela do laptop ... embora esse não tenha sido o caso se o lxrandr também foi invocado para a tela do laptop) saudação no script my-lightdm-greeter-session).

    
por R.Thomas 29.11.2017 / 21:34