Como instalar drivers nVidia com Bumblebee no Ubuntu 14.04

Respostas:

26

NB: este post é o resultado de muitos dias passados ​​lendo vários materiais na web, portanto, tome-o por sua conta e risco. Foi testado no Ubuntu 12.04 / 12.10 / 13.04 / 13.10 / 14.04 (todos de 64 bits) com placa gráfica nVidia GT650M. Sinta-se livre para adicionar comentários e sugestões


Instale o nVidia e o zangão

1. Primeiro, precisamos excluir todos os drivers de vídeo no computador:

sudo apt-get remove --purge nvidia*

Em seguida, o zangão, caso você o tenha instalado anteriormente:

sudo apt-get remove --purge bumblebee*

Também temos que excluir todo o driver do nouveau com:

sudo apt-get --purge remove xserver-xorg-video-nouveau

Para ter certeza de ter excluído todo o material, tente digitar dpkg -l | grep nvidiae dpkg -l | grep bumblebee: ele não deve retornar nada. Pois dpkg -l | grep nouveaué provável que ele retorne algumas linhas dizendo libdrm-nouveauXXXXX; por enquanto, apenas ignore-os.

2. Então, temos que garantir que todos os cabeçalhos digitem:

sudo apt-get install linux-source && sudo apt-get install linux-headers-$(uname -r)

3. A próxima coisa a fazer é colocar na lista negra os drivers restantes do nouveau e alguns outros pacotes que podem causar problemas:

sudo cp /etc/modprobe.d/blacklist.conf /etc/modprobe.d/blacklist.conf.bak
 sudo gedit /etc/modprobe.d/blacklist.conf

Adicionando as seguintes linhas no final do arquivo:

# Necessary to install nvidia drivers
blacklist nouveau
blacklist lbm-nouveau
blacklist nvidia-173
blacklist nvidia-96
blacklist nvidia-current
blacklist nvidia-173-updates
blacklist nvidia-96-updates
alias nvidia nvidia_current_updates
alias nouveau off
alias lbm-nouveau off
options nouveau modeset=0

Apenas salve e saia.

4. Agora, execute os comandos ubuntu mais conhecidos

sudo apt-get update && sudo apt-get dist-upgrade -y

5. A partir de agora, trabalhamos no tty. Abra o console tty1 com CTRL + ALT + F1 e faça o login com seu nome de usuário e senha. Em seguida, execute:

sudo service lightdm stop

Agora vamos instalar os drivers. Executar:

sudo apt-get install nvidia-XXX-updates nvidia-settings

onde XXX são os drivers estáveis ​​mais recentes. Estou usando os drivers 331, mas li em algum lugar que os 343 estão disponíveis para download (não sei se são estáveis).

Nota: com as versões mais recentes do driver, ele também é instalado nvidia-primepor padrão. Esta tecnologia destina-se a alternar automaticamente entre a placa gráfica Intel e nVidia sem intervenção do usuário. Para fazer isso, deixa os dois cartões ligados. A Optimus, por outro lado, liga a placa gráfica nVidia apenas com solicitação explícita do usuário; traduz em significativamente menos consumo de energia em relação ao prime.

Pessoalmente, prefiro o otimus do que o prime, mas se você não se incomodar com o enorme desperdício de energia, pare aqui. Caso contrário, você tem duas opções:

  • excluir completamente prime ( sudo apt-get remove --purge nvidia-prime);

  • deixe o prime lá; na seção "Prime with optimus", veremos como fazer o optirun funcionar também com o prime instalado

6. Agora, temos que instalar os pacotes bumblebee e virtualgl com

sudo apt-get install bumblebee bumblebee-nvidia virtualgl virtualgl-libs virtualgl-libs-ia32:i386 virtualgl-libs:i386

Em seguida, precisamos adicionar nosso usuário no grupo de abelhas com:

sudo usermod -a -G bumblebee $USER

E depois reinicie o PC.

7. Faça login na sua conta de usuário, abra uma nova janela do terminal e digite:

cd /etc/bumblebee
ls -Al

Entre os vários arquivos listados, deve haver dois em particular: bumblebee.confe xorg.nvidia.conf. Vamos fazer uma cópia de backup de ambos com:

sudo cp FILE_NAME FILE_NAME.bak

Você deve substituir FILE_NAME pelo nome real do arquivo. Então, vamos modificar o primeiro arquivo com sudo gedit bumblebee.conf, adicionando (tudo sem aspas)

  • seção [bumblebeed]: depois de "Driver =" insert "nvidia"
  • Seção [nvidia-driver]: após "KernelDriver =" insert "nvidia-XXX-updates"
  • seção [nvidia-driver]: após "LibraryPath =" insert "/ usr / lib / nvidia-XXX-updates, / usr / lib / nvidia-331-updates: / usr / lib32 / nvidia-XXX-updates"
  • Seção [nvidia-driver]: depois de "XorgModulePath =" insert "/ usr / lib / nvidia-XXX-updates / xorg, / usr / lib / xorg / modules"

Assegure-se de que o "XorgConfFile" em [nvidia-driver] seja igual a "/etc/bumblebee/xorg.conf.nvidia" (novamente, sem aspas), salve e feche o gedit.

Agora temos que editar o outro arquivo com sudo gedit xorg.conf.nvidia(neste caso, temos que inserir as aspas também !!). Substitua Option "ConnectedMonitor" "DFP"por Option "UseDisplayDevice" "none", salve e saia.

8. Execute gedit /etc/modprobe.d/bumblebee.confe verifique se todas as linhas que contêm blacklist <something>não são comentadas (ou seja, elas não começam com #).

9. Neste ponto, execute o seguinte comando

sudo service bumblebeed start

Se retornar um erro, tente executar o comando novamente com reiniciar, em vez de iniciar. Se você ainda tiver erros, algo como:

restart: Unknown job: bumblebeed

Provavelmente há algo errado no arquivo bumblebee.conf; então, verifique novamente a etapa 7.

Se, em vez disso, o resultado for semelhante a:

bumblebeed start/running, process XXXXX

Você está pronto para configurar o zangão!

10. Agora podemos simplesmente correr optirun glxspheresou optirun glxspheres64. Se tudo funcionar como esperado, você terá uma saída como esta:

$ optirun glxspheres64
Polygons in scene: 62464
Visual ID of window: 0x20
Context is Direct
OpenGL Renderer: GeForce GT 650M/PCIe/SSE2
182.253407 frames/sec - 203.394802 Mpixels/sec
182.940725 frames/sec - 204.161849 Mpixels/sec
....

Para verificar se estamos realmente usando drivers nvidia, abra outro terminal enquanto optirun <application>estiver em execução e digite sudo lshw -c display | grep driver. O resultado deve ser algo assim.

configuration: driver=nvidia latency=0
configuration: driver=i915 latency=0

Se, por outro lado, você fechar todo o aplicativo iniciado optirun, deve mostrar apenas o driver intel. É isso aí!!


Instalar a interface do usuário do Bumblebee

Graças a esta resposta de Pavak Paul, aqui estão as instruções para adicionar a interface de usuário do zangão no Ubuntu 14.04 para gerenciar aplicativos a serem abertos usando o nVidia.

1. Instale o Indicador de aplicativo Python:

sudo apt-get install python-appindicator

2. Instale o Git:

sudo apt-get install git

3. Crie um diretório para o git:

mkdir git && cd git

4. Confira o repositório:

git clone https://github.com/Bumblebee-Project/bumblebee-ui.git
cd bumblebee-ui
sudo ./INSTALL

5. Vá para Aplicativos de inicialização e adicione o indicador de zangão [clique em Adicionar, insira o nome e o comentário que deseja; insira bumblebee-indicatorna caixa de comando e clique em Adicionar).

6. Reinicialize.


Prime com optimus

Se você quiser ter a opção de também usar nvidia-primealgumas vezes, tente seguir as instruções abaixo.

1. Para impedir bumblebeeda inicialização no momento da inicialização, execute:

echo "manual" | sudo tee /etc/init/bumblebeed.override

2. Este ponto é o mais problemático; evita que o zangão coloque na lista negra os drivers da nVidia e deve resultar em congelamento da sessão gráfica. Experimente por sua conta e risco! Corre:

sudo gedit /etc/modprobe.d/bumblebee.conf

E comente a linha que contém os drivers XXX da nVidia. Isso deve resultar em algo assim.

# XXX
#blacklist nvidia-XXX
#blacklist nvidia-XXX-updates
blacklist nvidia-experimental-XXX

3. Reinicialize o sistema e inicie nvidia-settings. A situação final é esta:

Se você selecionar "Intel (economia de energia)" nas configurações da nvidia, você terá apenas a placa gráfica Intel ativada por padrão. Você ainda precisa executar um aplicativo optirunpara usar a placa gráfica nVidia

sudo service bumblebeed start
optirun <application>

Se você deseja usar o perfil "Nvidia (Performance)", selecione-o em nvidia-settings e faça login / logout, e todos deverão funcionar automaticamente. A única coisa é que você não precisa iniciar o bumblebeeddaemon com esse perfil selecionado, pois isso pode causar problemas.

Caso você tenha problemas:

1. Se você deseja usar apenas nvidia-prime:

sudo apt-get --purge remove bumblebee*

Então reinicie.

2. Se você deseja usar apenas o optimus sem remover o nvidia-prime, edite novamente o arquivo anterior:

sudo gedit /etc/modprobe.d/bumblebee.conf

Não comentando (removendo o caractere #) das linhas modificadas anteriormente:

# XXX
blacklist nvidia-XXX
blacklist nvidia-XXX-updates
blacklist nvidia-experimental-XXX

E reiniciando. Nesse caso, você pode deixar o bumblebeed executado no momento da inicialização:

sudo rm /etc/init/bumbebeed.override
tigerjack89
fonte
1
Segui as instruções no Ubuntu 14.04, mas minha tela fica preta após a tela inicial e não consigo fazer o login. Usando o Dell xps l502x, nvidia gfrc gt540m.
precisa saber é o seguinte
1
Tem certeza de que seguiu todas as instruções desde o início? De qualquer forma, pressione CTRL + ALT + F1 para acessar o tty, digite suas credenciais de login e reinicie desde o início.
precisa saber é o seguinte
1
Ok, eu resolvi o problema usando vblank_mode=0 primusrun ./glxgearsou podemos usar vblank_mode=0 optirun -b primus ./glxgears. Obrigado :)
DeepSidhu1313
1
observe que eu tive que instalar o xorg-edgers ppa para obter os pacotes do virtualgl. Não estavam disponíveis em uma instalação limpa do Ubuntu 14.04
Ubuntuser
1
Este é, de longe, o tutorial mais atualizado que eu votei sobre isso. Eu verifiquei, e funciona para 17.10. Bom trabalho.
Doodloo 23/10