Nvidia GTX 960M com Bumblebee em teste debian

1

Eu tenho o ASUS N552VW-FY136T com a NVIDIA GTX 960M (tecnologia Optimus). Sem instalar o bamblebee ou qualquer outro driver em particular eu consigo logar (estou usando canela) e normalmente uso o computador (tive que colocar o módulo nouveau na lista negra porque às vezes estava retardando o processo de boot), acho que está fazendo renderização de software. Na verdade, se eu digitar o comando:

glxinfo | grep OpenGL

Eu recebo:

OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 530 (Skylake GT2) 
OpenGL core profile version string: 4.3 (Core Profile) Mesa 12.0.4
OpenGL core profile shading language version string: 4.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 12.0.4
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 12.0.4
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:

Eu tentei instalar o Bamblebee com driver nouveau gratuito:

sudo apt-get install bumblebee primus

depois reiniciei mas não funcionou, o portátil simplesmente não inicia. Então comecei no modo de recuperação, removi o nouveau e o bumblebee, instalei o módulo nouveau e instalei o bumblebee-nvidia:

sudo apt-get install bumblebee-nvidia primus

o computador inicia sem problemas mas, após o login, o ventilador começa a ir na velocidade máxima e se eu abrir o shell e digitar novamente:

glxinfo | grep OpenGL

computador congela e eu tenho que desligar manualmente o computador!

Eu não sei mais o que tentar, alguma ideia? alguém teve o mesmo problema?

    
por Giorgio 04.12.2016 / 11:57

1 resposta

1

Eu sempre tive a melhor sorte de executar os drivers proprietários da Nvidia em minhas máquinas.

Instalação do driver da Nvidia:

O driver mais recente pode ser baixado aqui ( link ), mas geralmente, a menos que você tenha um motivo específico para ter o driver mais recente, é sempre mais fácil usar o incluído na sua distribuição ( sudo apt-get install nvidia-driver no debian por exemplo).

(No momento em que escrevo este artigo, o último lançamento do driver (375) tem duas grandes correções para a funcionalidade "Prime Sync" - eliminando o rasgo da tela e o manuseio adequado das telas externas - o que faz o driver mais recente um pouco mais valioso em sua circunstância.)

Observe que, se você optar por fazer a instalação binária do site da Nvidia, terá recursos como o suporte atualizado ao custo de reinstalar o driver toda vez que atualizar seu kernel. Portanto, se você seguir essa rota, mantenha o script de instalação do driver Nvidia em um local fácil de encontrar.

Certificando-se de que o nouveau não está em execução

Se o Nouveau for executado, ele assumirá a propriedade da sua placa gráfica e o driver da nvidia não poderá operar. Como o módulo nouveau vem com o Linux por padrão, não é possível desinstalá-lo, mas você pode colocá-lo na lista negra. O primeiro passo é adicionar a linha blacklist nouveau ao arquivo /etc/modprobe.d/blacklist.conf . O segundo passo é rodar sudo update-initramfs -u (no debian / ubuntu). Esta etapa propaga a alteração na configuração da lista negra para a sequência de inicialização do grub ou algo assim.

Observe que bumblebee, bbswitch e primus funcionam apenas com o nouveau e devem ser desinstalados. Veja editar no final do post para informações mais detalhadas.

Configurando o driver da Nvidia para funcionar no modo Prime Sync

Os laptops Nvidia Optimus têm duas placas gráficas: a placa gráfica integrada da Intel, que é anexada à tela, e a placa gráfica discreta da Nvidia, que não está conectada à tela (embora seja frequentemente conectada a saídas externas). Portanto, você precisa configurar a placa Nvidia para gerar gráficos, mas para passá-los para a placa Intel para ser exibido na tela.

Tente alterar seu /etc/X11/xorg.conf para o seguinte (substituindo no PCI BusID da sua placa gráfica, geralmente "PCI:1:0.0" , com aspas):

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

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "<BusID for NVIDIA device here>"
EndSection

Section "Screen"
    Identifier "nvidia"
    Device "nvidia"
    Option "AllowEmptyInitialConfiguration"
EndSection

Section "Device"
    Identifier "intel"
    Driver "modesetting"
EndSection

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

Em seguida, você precisará executar dois comandos depois que seu servidor X tiver iniciado antes de poder realmente usar o servidor X (portanto, coloque-os em um arquivo em que eles sejam executados automaticamente):

xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto

Eu inicio meu servidor x manualmente a partir da linha de comando usando startx , então coloco esses comandos no meu arquivo ~/.xinitrc config. Se você inicializar em um ambiente gráfico, você provavelmente poderia colocá-los em /etc/X11/xinit/xinitrc . Eu nunca tentei isso sozinho.

As informações são da documentação on-line da Nvidia ( link )

Informações extras

Os passos que descrevo aqui usam o driver proprietário da Nvidia, usando o que é chamado de funcionalidade "Prime Sync". Ele renderiza todos os gráficos da GPU, mas os envia através de um buffer para a GPU integrada da Intel para exibição real. Este sistema Prime Sync não é complementar ao zangão. Note que as instruções Debian podem ainda estar corretas, porque elas não configuram a funcionalidade Nvidia Prime Sync. Estou muito menos familiarizado com a maneira como eles sugerem. Eu geralmente venho do "último driver proprietário é o melhor", porque eu geralmente quero rodar o CUDA mais recente em hardware de GPU razoavelmente novo. Eu sugiro esta estratégia para você porque você está tendo problemas com a configuração do driver de código aberto.

Também vale a pena mencionar o programa bbswitch, que não se preocupa com monitores ou drivers, apenas liga e desliga a GPU da Nvidia. Ele não deve ser usado com a funcionalidade Prime Sync da Nvidia, porque com o Prime Sync, desligar sua GPU significa que você não tem mais gráficos: (

    
por 04.12.2016 / 15:16