Como instalar drivers Nvidia no laptop Dell Latitude - Ubuntu 16.04

Como instalar drivers Nvidia no laptop Dell Latitude - Ubuntu 16.04

Após atualizar do Ubuntu 15.10 para 16.04.1, ambos de 64 bits, fiquei preso em um loop de login infinito - toda vez que eu fazia login lightdm, após o login a tela ficava preta e depois voltava para a tela de login. O login tty0funcionou bem. Eu tenho um laptop Del Latitude 3350 com Core i5 5200U e Nvidia GeForce 830M. A atualização decidiu que eu precisava dos nvidia-361drivers antes de usar o nvidia-352. Muitas das instruções que encontrei anteriormente mencionavam a inicialização segura no meu UEFI BIOS, mas ela já estava desativada (não me lembro se desliguei assim que comprei o laptop ou se foi enviado dessa forma pela Dell) . A reinstalação e/ou reconfiguração lightdmnão ajudou. Eles pelo menos me indicaram a desinstalação dos drivers da Nvidia, mas isso é apenas uma solução parcial. Esta não é uma duplicata de outras perguntas que vi no askubuntu, pois as etapas que funcionaram para outras pessoas não funcionaram para mim. Possivelmente o guia mais próximo sejaComo instalar drivers gráficos sensatos para hardware Nvidia Optimus no * Ubuntu 16.04?. No entanto, isso não torna a GPU Nvidia utilizável para mim, tive que instalar o Bumblebee. Além disso, esse guia tem links para [Bumblebee em um Lenovo T440p [NVidia GT 730M] com XUbuntu/Ubuntu 16.04 LTS]{http://lenovolinux.blogspot.co.za/2016/05/bumblebee-on-lenovo-t440p-nvidia-gt.html?m=1} exceto que seguir essas instruções também me deixou sem um Bumblebee funcionando.

Depois de muito pesquisar no Google, descobri que a solução parcial era desinstalar os drivers da Nvidia. Eu finalmente encontreiessesinstruções que me levaram ao ponto de conseguir fazer login.

Uma observação importante antes de continuar: parece que você precisa instalar os intel-microcodedrivers usando a guia Drivers Adicionais nas Configurações do Sistema. Eu já os tinha instalados (provavelmente do Ubuntu 15.10 dias), então nunca testei o que acontece se eles não estiverem instalados.

Usei os seguintes comandos para remover o Bumblebee e os drivers da Nvidia, seguido de reinstalar os drivers da Nvidia. Observe que você precisa adicionar o repositório de drivers gráficos para obter os drivers Nvidia mais recentes:

sudo apt-get purge .*nvidia.* bumblebee.* .*primus.*
sudo apt-get --purge autoremove
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt install nvidia-367 nvidia-prime nvidia-settings

Isso resultou na instalação dos seguintes pacotes:

bbswitch-dkms libcuda1-367 libjansson4 nvidia-367 nvidia-opencl-icd-367 nvidia-prime nvidia-settings screen-resolution-extra

Então eu fiz rm .nvidia-settings-rc.

Neste ponto, as instruções dizem para executar alguns programas que usam a GPU. Se eu executar clinfo(eu uso a GPU para desenvolvimento OpenCL), tudo funcionará bem. Outros programas OpenCL também funcionam bem. No entanto, se eu executar, glxinforecebo a seguinte saída:

name of display: :0
Error: couldn't find RGB GLX visual or fbconfig

Continuei com as instruções para poder fazer o Bumblebee funcionar. sudo prime-select intelfoi necessário porque, caso contrário, após a reinicialização, voltarei ao loop infinito de login. Após a reinicialização, fiz sudo apt install bumblebeea edição /etc/bumblebee/bumblebee.confpara alterar todas as instâncias de nvidia-currentpara nvidia-367. Também editei /etc/modprobe.d/bumblebee.confpara incluir a linha blacklist nvidia-367. Como não há nvidia-367-updatesnenhum nvidia-experimental-367pacote para eu instalar, não os coloquei na lista negra.

Após a reinicialização, posso executar primusrun clinfoe imprimir a plataforma Nvidia. A execução de programas OpenCL na GPU Nvidia também funciona ao usar arquivos primusrun. No entanto, primusrun glxinfome dá um erro:

primus: fatal: Bumblebee daemon reported: error: [XORG] (EE) Failed to load module "mouse" (module does not exist, 0)

Usar optirunpara qualquer coisa me dá um erro semelhante, por exemplo, optirun clinfoe optirun glxinfoambos dão:

[  462.796690] [ERROR]Cannot access secondary GPU - error: [XORG] (EE) Failed to load module "mouse" (module does not exist, 0)

[  462.796725] [ERROR]Aborting because fallback start is disabled.

Tentei mudar a linha Bridge=para Bridge=primuse a linha PMMethod=autopara PMMethod=bbswitchin /etc/bumblebee/bumblebee.conf. Isso não ajudou.

Como faço para que os drivers do Bumblebee e da Nvidia funcionem aqui? Parece que nenhum conjunto de instruções funciona? Bônus: como faço para que os drivers da Nvidia funcionem totalmente ao usar prime-select nvidiao Bumblebee?

Responder1

As soluções que encontrei até agora fazem o Bumblebee funcionar (principalmente) e fornecem um meio de desligar manualmente a GPU Nvidia quando não estiver em uso. Ainda não comecei glxinfoa trabalhar ao usar prime-select nvidiaem vez de optirun.

comecei a seguiressesinstruções. Eu adicionei i915e bbswitchpara /etc/modules. Eu corri sudo gpasswd -a $USER bumblebeee sudo systemctl enable bumblebeed. Esses dois comandos parecem ter sido concluídos com sucesso. Após a reinicialização, o problema permanece o mesmo. Se eu sudo prime-select nvidiaseguir, glxinfoainda recebo o erro couldn't find RGB GLS visual or fbconfig.

Nesse ponto, decidi instalar bumblebee-nvidia- as instruções vinculadas na minha pergunta diziam que não, mas o link acima o incluía. Surpreendentemente, isso resolveu principalmente meus problemas. Agora, faça optirun glxinfoou primusrun glxinfoimprima as informações da GPU Nvidia. optirun glxgearse optirun glxheads(e também usando primusrun) funciona bem. Uma palavra de cautela, em uma iteração anterior ao tentar corrigir esse problema, instalando bumblebee-nvidiao optirun/ primusrun.

A única coisa que não funciona é prime-select nvidiaseguida por glxinfo. Ainda recebo o erro sobre falha ao carregar o módulo "mouse". Além disso, se eu executar, cat /proc/acpi/bbswitchcontinuo recebendo 0000:04:00.0 ON, o que acredito indicar que minha GPU Nvidia ainda está ligada. A execução lspci | grep NVIDIAretorna 04:00.0 3D controller: NVIDIA Corporation GM108M [GeForce 830M] (rev a2)que confirma o endereço PCIe da minha GPU Nvidia.

O problema de energia, com base no dmesg | grep bbswitch, era que o nvidiamódulo estava impedindo o desligamento da GPU. É possível desligar manualmente a GPU Nvidia executando sudo rmmod nvidia_drm, sudo rmmod nvidia_uvm, sudo rmmod nvidia_modesete sudo rmmod nvidia, seguido por sudo tee /proc/acpi/bbswitch <<<OFF. Não é ótimo, então procurei um método automático para fazer isso funcionar.

Para resolver o problema de o Bumblebee não desligar minha GPU Nvidia, tentei as instruçõesdo projeto abelhamas sem sucesso. Especificamente, my /etc/modprobe.d/bbswitch.confcontains options bbswitch load_state=0e eu adicionei bbswitch load_state=0ao final de /etc/modules. Eu executei sudo update-initramfs -u, seguido de reinicialização, mas cat /proc/acpi/bbswitchainda mostra que a GPU está LIGADA. No momento, estou resolvendo isso usando um script com rmmodcomandos para desligar a GPU Nvidia. Executar qualquer programa optirunou primusrunrecarregar automaticamente esses drivers.

informação relacionada