Optimus no W520 com monitor de DP externo: o LVDS está desconectado, portanto, nenhum painel de laptop

1

Eu tenho um ThinkPad W520 com o Ubuntu 16.04 e os drivers Nvidia, instalados a partir dos repositórios do Ubuntu (ou o PPA, o problema que tenho é o mesmo com os drivers 367.57 e 375.20). É um monitor da Quadro 1000M. Funciona bem com o BIOS está definido para discreto. Quando em modo discreto, um script exclui xorg.conf (bem, move-o) e a configuração funciona muito bem.

Quando eu configuro o BIOS para o Optimus e prime-select nvidia, não consigo acessar o painel do laptop. Durante a inicialização, um script grava um xorg.conf.

xrandr fornece esta saída

 Screen 0: minimum 8 x 8, current 1920 x 2280, maximum 16384 x 16384         
   VGA-0 disconnected (normal left inverted right x axis y axis)
   LVDS-0 connected primary 1920x1080+0+1200 (normal left inverted right x axi#
      1920x1080     60.00*+  50.00••
   DP-0 connected 1920x1200+0+0 (normal left inverted right x axis y axis) 518#

e nada que eu possa fazer será reconectar com LVDS-0.

O painel do laptop mostra algum texto restante da fase de inicialização (um relatório sobre a unidade estar limpa). A entrada de um console virtual torna a tela DP1 em branco e o console está no painel do laptop. Retomar as sessões X desperta a tela do DP1 enquanto o laptop retorna à tela de texto de inicialização.

Eu configurei o grub apenas para texto, não fazia diferença. Eu acho que algo está errado com o xorg.conf que eu recebo.

  Section "ServerLayout"
       Identifier "layout"
       Screen 0 "nvidia"
       Inactive "intel"
   EndSection

   Section "Device"
       Identifier "intel"
       Driver "modesetting"
      BusID "PCI:0@0:2:0"
      Option "AccelMethod" "None"
  EndSection

  Section "Screen"
      Identifier "intel"
      Device "intel"
  EndSection

  Section "Device"
      Identifier "nvidia"                                                     
      Driver "nvidia"
      BusID "PCI:1@0:0:0"
      Option "ConstrainCursor" "off"
  EndSection

  Section "Screen"
      Identifier "nvidia"
      Device "nvidia"
      Option "AllowEmptyInitialConfiguration" "on"
      Option "IgnoreDisplayDevices" "CRT"
  EndSection
    
por Tim Richardson 01.12.2016 / 07:30

1 resposta

2

Estranhamente para esse hardware antigo, a atualização para o kernel 4.8 faz uma grande diferença. Isso é com 16.10 ou o kernel 4.8 disponível em 16.04 (atualmente em proposta).

Para inicializar com o Optimus ou o hardware dedicado da Nvidia, tudo o que é necessário é um parâmetro de inicialização do kernel: nox2pic nox2apic Eu estou usando 16.04.1 mas com o kernel 4.8 de 16.04.2

Não é necessário especificar mais nada. Também não é necessário fornecer manualmente as configurações de brilho para o arquivo xorg.conf. Na verdade, os velhos ajustes que eu encontrei para adicionar brilho ao xorg.conf estavam fazendo com que a placa Intel desaparecesse como um provedor, o que eu descobri adicionando de volta o conteúdo de /usr/share/X11/xorg.conf.d em pedaços. para dividir o problema.

Então, depois disso, inicializar com o otimus, na Nvidia e com dois monitores externos agora conecta os dois monitores DP e a tela interna (em outras palavras, a placa Intel e a placa Nvidia agora mostram via xrandr --listproviders , que é o resultado crítico). No entanto, enquanto o cursor aparece na tela do laptop, o fundo é preto e nenhuma janela pode ser arrastada para lá. Então isso é sucesso parcial

Atualização: este último problema (fundo preto, sem janelas arrastáveis) era Unity. Instalar o XFCE e usar uma sessão do XFCE funciona: todos os três monitores são bons. Eu ainda uso lightdm. O Gnome também funciona, embora eu não o use.

Então, isso é bom o suficiente para mim. ter todos os três monitores dispostos da esquerda para a direita na horizontal.

    
por Tim Richardson 03.12.2016 / 04:07