Instalando driver proprietário Nvidia com suporte à tecnologia Optimus num notebook com Debian Jessie
Esse post é do dark side. É sobre como instalar o driver proprietário da Nvidia no Debian Jessie, dado que o estado do driver livre infelizmente é bem insatisfatório. A própria Nvidia sempre boicotou o desenvolvimento do driver livre (nouveau) e só recentemente começou a prestar alguma ajuda.
A tecnologia NVIDIA Optimus permite aos notebooks utilizarem a placa de vídeo onboard no cotidiano e, apenas quando necessário, fazer uso da placa de vídeo dedicada (Nvidia). Isso é essencial para que a bateria tenha longa duração, dado que a placa de vídeo dedicada é ativada apenas quando necessário (e ela consome bastante energia :/).
O projeto que se dedica a suportar essa tecnologia no GNU/Linux é o Bumblebee. Podemos usar ele com o driver livre (nouveau) e o driver proprietário. Como o driver proprietário da Nvidia é bem maduro no GNU/Linux, conseguimos por meio dele usar todo o potencial da placa de vídeo e por meio do Bumblebee economizar o máximo de energia possível.
A instalação no Debian antes do Jessie exigia alguma atenção, mas no Jessie os pacotes já estão nos repositórios e o processo é bem direto.
Vamos pôr a mão na massa:
0. Adicione suporte aos repositórios com softwares proprietários
Antes de mais nada, os repositórios com softwares proprietários (non-free
) e dependentes de proprietários (contrib
) devem estar habilitados.
Para tanto, adicione no final das linhas de repositórios para o Jessie as palavras non-free
e contrib
em /etc/apt/sources.list
. Exemplo:
1 | deb http://debian.pop-sc.rnp.br/debian/ jessie main contrib non-free |
Depois atualize os dados referentes aos repositórios executando:# apt-get update
1. Instalação
Instale os pacotes necessários p/ o Bumblebee e o driver proprietário Nvidia:
1
# apt-get install bumblebee-nvidia primus
Apenas para Debian 64 bits. Permite que utilizemos o Bumblebee inclusive quando rodando aplicações 32 bits em sistemas 64 bits (essencial para diversos jogos no Steam):
1
# dpkg --add-architecture i386 && apt-get update && apt-get install primus-libs:i386
Atenção: Se durante a instalação, lhe for perguntado se deseja criar um arquivo
xorg.conf
responda que não. Essa pergunta se aplica apenas a sistemas que usam uma única placa (Nvidia - aka sem Optimus). Também não executenvidia-xconfig
.
2. Pós-instalação
Adicione os usuários que forem utilizar da placa Nvidia via Bumblebee ao grupo bumblebee
:
1 | # adduser $USER bumblebee |
Caso o usuário não seja adicionado, o mesmo não conseguirá chavear entre a placa de vídeo onboard e offboard.
Pronto! Tudo instalado e pós-instalado.
3. Utilização
O sistema estará por padrão utilizando sempre a placa onboard. Para utilizarmos a placa dedicada Nvidia, devemos executar a aplicação desejada por meio de um dos seguintes executáveis: primusrun
ou optirun
.
O primusrun
é mais novo que optirun
, tende a substituí-lo e possui maior performance (preferencial).
Exemplo de utilização:
$ primusrun [options] <application> [application-parameters]
$ optirun [options] <application> [application-parameters]
Executando o Steam c/ o primusrun
: $ primusrun steam
.
Como visto, assim temos um controle bem grande sobre quando uma ou outra placa deve ser usada. Aqui (com as observações abaixo feitas ao Steam) tenho rodado os jogos com toda a performance possível, e no restante do tempo a bateria dura e o notebook fica silencioso :D.
3.1 Utilizando Bumblebee c/ Steam
Economizando energia no Steam:
Se executamos o Steam assim$ primusrun steam
, gastaremos energia à toa pois estamos com a placa Nvidia ativada sempre (mesmo enquanto navegamos pelo Steam ou executamos jogos leves).
A forma ideal é configurar o jogo que necessitar da Nvidia defindo que o mesmo deve ser executado com o comandoprimusrun %command%
(ouoptirun %command%
) em: Properties -> General -> Set Launch Options….Jogos que nao funcionarem no Debian Jessie c/ Optimus:
Pode ocorrer da versão errada do libGL estar sendo carregada. Para corrigir isso:- Localize a versão correta do libGL:
1
$ locate libGL.so
- Configure o Steam p/ carregar o jogo com a versao correta (em Properties -> General -> Set Launch Options….). Exemplo:
1
LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libGL.so.1 primusrun %command%
- Localize a versão correta do libGL:
Fonte: Steam - ArchWiki
Links
- Bumblebee - Debian Wiki: Documentação da Wiki Debian sobre a instalação do Bumblebee. Simples e direta.