Menu

quinta-feira, 21 de setembro de 2017

Nvidia Legacy com bumblebee no Debian

O Bumblebee é destinado a quem tem placa de vídeo híbrida Intel + Nvidia, mas temos placas nvidia que usam driver legacy, veja nessa matéria como identificar e instalar o Bumblebee com driver legacy.






Mas o que é Bumblebee ?





Bumblebee pretende oferecer suporte a laptops com NVIDIA Optimus em distribuições GNU/Linux. Usando Bumblebee, você pode usar sua placa NVIDIA para renderizar gráficos que serão exibidos usando a placa Intel.

Caso a sua placa seja antiga, aconselho que veja antes essa matéria, ela pode ser mais adequada ao seu caso.

Nvidia Legacy com bumblebee no Debian


Mas se a sua placa é recente, continue nessa matéria.

Identificando o hardware



Antes de seguir essa matéria verifique se de fato você possui duas placas de vídeo, de o comando abaixo no terminal.


lspci


Procure na saída pelas placas de vídeo, nesse exemplo elas são.


VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)


3D controller: NVIDIA Corporation GF108M [GeForce GT 540M] (rev ff)






Caso só tenha uma ou uma Intel e a outra AMD, não siga essa matéria.


Confirmando a plava nvidia com o comando abaixo.



lspci | grep 3D



A saída do comando no meu caso foi.

NVIDIA Corporation GF108M [GeForce GT 540M] (rev ff)


 

Como podem ver a minha placa é uma GT 540M e ela precisa de drive legacy por ser uma placa antiga.

Nesse caso se eu instalar o Bumblebee da forma convencional, ele ira usar o ultimo driver da nvidia no repositório, atualmente o 375 e não vai funcionar com a minha placa.

Nesse caso confira na lista de cada driver se a sua placa se encontra em alguma delas.
Pode usar o Ctrl + f para fazer a pesquisa.


nvidia-legacy-304xx-driver



GPUs: GeForce 6100 [C51G], GeForce 6100 [C61], GeForce 6150 [C51PV], GeForce 6150 LE [C51], GeForce 6150 SE [C61],
GeForce 6200 A-LE [NV44], GeForce 6200 LE [NV44], GeForce 6200 TurboCache [NV44], GeForce 6200 SE TurboCache [NV44],
GeForce 6200 [NV43], GeForce 6200 [NV44A], GeForce 6250 [NV44], GeForce 6500 [NV44], GeForce 6600 [NV43],
GeForce 6600 GT [NV43], GeForce 6600 LE [NV43], GeForce 6600 VE [NV43], GeForce 6610 XL [NV43], GeForce 6700 XL [NV43],
GeForce 6800 [NV40], GeForce 6800 [NV41], GeForce 6800 GS [NV40], GeForce 6800 GS [NV41], GeForce 6800 GS [NV43],
GeForce 6800 GT, GeForce 6800 GT [NV40], GeForce 6800 GTO [NV40], GeForce 6800 LE [NV40], GeForce 6800 LE [NV41],
GeForce 6800 Ultra [NV40], GeForce 6800 XE [NV40], GeForce 6800 XT [NV40], GeForce 6800 XT [NV41], GeForce 6800 XT [NV43],
GeForce 7000M [C67], GeForce 7025 [C61], GeForce 7025 [C68], GeForce 7050 [C73], GeForce 7050 PV [C68], GeForce 7100 [C73], GeForce 7100 GS [NV44], GeForce 7150 [C73], GeForce 7150M [C67], GeForce 7200 GS [G72], GeForce 7300 GS [G72],
GeForce 7300 GT [G73], GeForce 7300 LE [G72], GeForce 7300 SE [G72], GeForce 7350 LE [G72], GeForce 7500 LE [G72],
GeForce 7550 LE [G72], GeForce 7600 GS [G73], GeForce 7600 GT [G73], GeForce 7600 LE [G73], GeForce 7650 GS [G73],
GeForce 7800 GS [G70], GeForce 7800 GS [G71], GeForce 7800 GT [G70], GeForce 7800 GTX [G70], GeForce 7800 SLI [G70],
GeForce 7900 GS [G71], GeForce 7900 GT [G71], GeForce 7900 GTO [G71], GeForce 7900 GTX [G71], GeForce 7900 GX2 [G71],
GeForce 7950 GT [G71], GeForce 7950 GX2 [G71], GeForce Go 6100 [C51], GeForce Go 6150 [C51], GeForce Go 6200 [NV44M],
GeForce Go 6200 TE [NV43M], GeForce Go 6400 [NV44M], GeForce Go 6600 [NV43M], GeForce Go 6600 GT [NV43M],
GeForce Go 6600 TE [NV43M], GeForce Go 6800 [NV41M], GeForce Go 6800 Ultra [NV41M], GeForce Go 7200 [G72M],
GeForce Go 7300 [G72M], GeForce Go 7400 [G72M], GeForce Go 7600 [G73M], GeForce Go 7600 GT [G73M],
GeForce Go 7700 [G73M], GeForce Go 7800 [G70M], GeForce Go 7800 GTX [G70M], GeForce Go 7900 GS [G71M],
GeForce Go 7900 GTX [G71M], GeForce Go 7950 GTX [G71M], Quadro FX 350 [G72GL], Quadro FX 350M [G72GLM],
Quadro FX 540 [NV43GL], Quadro FX 540M, Quadro FX 550 [NV43GL], Quadro FX 560 [G73GL], Quadro FX 560M [G73GLM],
Quadro FX 1400 [NV41GL], Quadro FX Go1400 [NV41GLM], Quadro FX 1500 [G71GL], Quadro FX 1500M [G71GLM],
Quadro FX 2500M [G71GLM], Quadro FX 3400 [NV40GL], Quadro FX 3450 [NV41GL], Quadro FX 3500 [G71GL],
Quadro FX 4000 [NV40GL], Quadro FX 4000 SDI [NV41GL], Quadro FX 4500 X2 [G71GL], Quadro FX 4500 [G70GL],
Quadro FX 5500 [G71GL], Quadro NVS 110M [G72M], Quadro NVS 120M [G72M], Quadro NVS 210S [C51], Quadro NVS 285 [NV44],
Quadro NVS 440 [NV43], nForce 400 [C61], nForce 405 [C61], nForce 420 [C61], nForce 430 [C61], nForce 610M [C67],
nForce 610i [C73], nForce 620i [C73], nForce 630M [C67], nForce 630a [C61], nForce 630a [C68], nForce 630i [C73].


nvidia-legacy-340xx-driver


GPUs: GeForce 205 [GT218], GeForce 210 [GT216], GeForce 210 [GT218], GeForce 305M [GT218M], GeForce 310 [GT218],
GeForce 310M [GT218M], GeForce 315 [GT216], GeForce 315 [GT218], GeForce 315M [GT218M], GeForce 320M [MCP89],
GeForce 405 [GT216], GeForce 405 [GT218], GeForce 8100 / nForce 720a [C77], GeForce 8200 [C77], GeForce 8200M [C77],
GeForce 8200M G [C77], GeForce 8200M G [MCP79], GeForce 8300 [C77], GeForce 8300 GS [G84], GeForce 8300 GS [G86],
GeForce 8300 GS [G98], GeForce 8400 [G98], GeForce 8400 GS [G84], GeForce 8400 GS [G86], GeForce 8400 GS Rev. 2 [G98],
GeForce 8400 GS Rev. 3 [GT218], GeForce 8400 SE [G86], GeForce 8400M G [G86M], GeForce 8400M GS [G86M],
GeForce 8400M GT [G86M], GeForce 8500 GT [G86], GeForce 8600 GS [G84], GeForce 8600 GT [G84], GeForce 8600 GTS [G84],
GeForce 8600M GS [G86M], GeForce 8600M GT [G84M], GeForce 8700M GT [G84M], GeForce 8800 GS [G92], GeForce 8800 GT [G92],
GeForce 8800 GTS [G80], GeForce 8800 GTS 512 [G92], GeForce 8800 GTX [G80], GeForce 8800 Ultra [G80],
GeForce 8800M GTS [G92M], GeForce 8800M GTX [G92M], GeForce 9100 [C78], GeForce 9100M G [C77], GeForce 9100M G [C79],
GeForce 9200 [C77], GeForce 9200 [C79], GeForce 9200M GS [G98M], GeForce 9300 / nForce 730i [C79], GeForce 9300 GE [G98],
GeForce 9300 GS [G98], GeForce 9300 GS Rev. 2 [GT218], GeForce 9300 SE [G98], GeForce 9300 [C79], GeForce 9300/ION [C79],
GeForce 9300M G [G86M], GeForce 9300M GS [G98M], GeForce 9400 GT [G86], GeForce 9400 GT [G96], GeForce 9400 [C79],
GeForce 9400 [MCP7A], GeForce 9400M [C79], GeForce 9400M G [C79], GeForce 9400M [ION VGA], GeForce 9500 GS [G96],
GeForce 9500 GT [G96], GeForce 9500M G [G96M], GeForce 9500M GS [G84M], GeForce 9600 GS [G94], GeForce 9600 GSO 512 [G94],
GeForce 9600 GSO [G92], GeForce 9600 GSO [G94], GeForce 9600 GT [G94], GeForce 9600M GS [G96M], GeForce 9600M GT [G96M],
GeForce 9650 S [G96], GeForce 9650M GS [G84M], GeForce 9650M GT [G96M], GeForce 9700M GT [G96M], GeForce 9700M GTS [G94M],
GeForce 9800 GT [G92], GeForce 9800 GTX / 9800 GTX+ [G92], GeForce 9800 GTX+ [G92], GeForce 9800 GX2 [G92],
GeForce 9800M GS [G94M], GeForce 9800M GT [G92M], GeForce 9800M GTS [G94M], GeForce 9800M GTX [G92M],
GeForce G 100 [G98], GeForce G 102M [C79], GeForce G 103M [G98M], GeForce G 105M [G98M], GeForce G 105M [GT218M],
GeForce G 110M [G96M], GeForce G 210 [GT218], GeForce G 210M [GT218M], GeForce GT 120 [G96], GeForce GT 120M [G96M],
GeForce GT 130 [G94], GeForce GT 130M [G96M], GeForce GT 140 [G94], GeForce GT 220 [GT215], GeForce GT 220 [GT216],
GeForce GT 220/315 [GT215], GeForce GT 220M [G96M], GeForce GT 230 OEM [G92], GeForce GT 230 [G94],
GeForce GT 230M [GT216M], GeForce GT 240 [GT215], GeForce GT 240M [GT216M], GeForce GT 320 [GT215],
GeForce GT 320M [GT216M], GeForce GT 325M [GT216M], GeForce GT 330 [G92], GeForce GT 330 [GT215],
GeForce GT 330M [GT216M], GeForce GT 335M [GT215M], GeForce GT 340 [GT215], GeForce GT 415 [GT216],
GeForce GTS 150M [G94M], GeForce GTS 160M [G94M], GeForce GTS 240 [G92], GeForce GTS 250 [G92],
GeForce GTS 250M [GT215M], GeForce GTS 260M [GT215M], GeForce GTS 350M [GT215M], GeForce GTS 360M [GT215M],
GeForce GTX 260 [GT200], GeForce GTX 260M [G92M], GeForce GTX 275 [GT200b], GeForce GTX 280 [GT200],
GeForce GTX 280M [G92M], GeForce GTX 285 [GT200b], GeForce GTX 285M [G92M], GeForce GTX 295 [GT200],
GeForce GTX 295 [GT200b], HICx16 + Graphics [G98], ION VGA, ION LE VGA, ION [C79], ION [GT218], ION 2 [GT218],
NVS 300 [GT218], NVS 2100M [GT218M], NVS 3100M [GT218M], NVS 5100M [GT216M], Quadro 400 [GT216GL],
Quadro CX [GT200GL], Quadro FX 360M [G86GLM], Quadro FX 370 [G84GL], Quadro FX 370 LP [G98GL], Quadro FX 370M [G98GLM],
Quadro FX 380 [G96GL], Quadro FX 380 LP [GT218GL], Quadro FX 380M [GT218GLM], Quadro FX 570 [G84GL],
Quadro FX 570M [G84GLM], Quadro FX 580 [G96GL], Quadro FX 770M [G96GLM], Quadro FX 880M [GT216GLM],
Quadro FX 1600M [G84GLM], Quadro FX 1700 [G84GL], Quadro FX 1700M [G96GLM], Quadro FX 1800 [G94GL],
Quadro FX 1800M [GT215GLM], Quadro FX 2700M [G94GLM], Quadro FX 2800M [G92GLM], Quadro FX 3600M [G92GLM],
Quadro FX 3700 [G92GL], Quadro FX 3700M [G92GLM], Quadro FX 3800 [GT200GL], Quadro FX 3800M [G92GLM],
Quadro FX 4600 [G80GL], Quadro FX 4700 X2 [G92GL], Quadro FX 4800 [GT200GL], Quadro FX 5600 [G80GL],
Quadro FX 5800 [GT200GL], Quadro NVS 130M [G86M], Quadro NVS 135M [G86M], Quadro NVS 140M [G86M],
Quadro NVS 150M [G98M], Quadro NVS 160M [G98M], Quadro NVS 290 [G86], Quadro NVS 295 [G98], Quadro NVS 320M [G84GLM],
Quadro NVS 420 [G98], Quadro NVS 450 [G98], Quadro Plex 2200 D2 [GT200GL], Quadro Plex 2200 S4 [GT200GL],
Quadro VX 200 [G92GL], Tesla C870 [G80GL], Tesla C1060 / M1060 [GT200GL], nForce 730a [C77], nForce 750a SLI [C77],
nForce 760i SLI [C79], nForce 780a/980a SLI [C77].


Preparação para a instalação



Para quem usa sistema para arquitetura amd64 ( X64 ).


Você não sabe que arquitetura está usando ? De o comando abaixo no terminal e descubra.


uname -r






Você precisa adicionar a arquitetura i386, tornando o sistema multiarch, para a instalação de pacotes i386 ( x86 ), para isso abra o terminal e de o comando abaixo.


Adicionando a arquitetura i386 ( X86 ) no repositório do seu sistema amd64


sudo dpkg --add-architecture i386


Atualize o apt com o comando abaixo.


sudo apt update


Você também precisa dos repositórios contrib non-free, caso ainda não tenha eles habilitado, siga o procedimento abaixo.



sudo -i



nano /etc/apt/sources.list



No final de cada linha tem main, acrescente contrib non-free como na imagem abaixo.




####        REPOSITÓRIOS DEBIAN STRETCH "deb.debian.org"


### -----------------------------
###Repositório (stretch) Base ###
### -----------------------------
deb http://deb.debian.org/debian/ stretch main contrib non-free
#deb-src http://deb.debian.org/debian/ stretch main contrib non-free

### -----------------------------
###Repositório (stretch) security.debian.org/ ###
### -----------------------------
deb http://deb.debian.org/debian-security/ stretch/updates main contrib non-free
#deb-src http://deb.debian.org/debian-security/ stretch/updates main contrib non-free

### -----------------------------
###Repositório (stretch) stretch-updates ###
### -----------------------------
deb http://deb.debian.org/debian/ stretch-updates main contrib non-free
#deb-src http://deb.debian.org/debian/ stretch-updates main contrib non-free

### -----------------------------
###Repositório (stretch) proposed-updates###
### -----------------------------
#deb http://deb.debian.org/debian/ stretch-proposed-updates main contrib non-free
#deb-src http://deb.debian.org/debian/ stretch-proposed-updates main contrib non-free

### -----------------------------
###Repositório (stretch) stretch-backports ###
### -----------------------------
deb http://deb.debian.org/debian/ stretch-backports main contrib non-free
#deb-src http://deb.debian.org/debian/ stretch-backports main contrib non-free



Feita a alteração, salve teclando Ctrl + x tecle s e enter para fechar.


Atualize o apt com o comando abaixo.



apt update

Limpeza do sistema




Limpe o sistema caso já tenha feito outras tentativas e não obteve sucesso, no terminal de os comandos abaixo.




apt remove --purge nvidia* bumblebee-nvidia primus



apt-get autoremove


Dois pacotes foram removidos e devem ser reinstalados, de o comando abaixo no terminal.



apt install xserver-xorg-input-all xserver-xorg-video-all



OBS: Faça uma das escolhas "Driver livre nouveau" ou Driver proprietário nvidia", não faça os dois métodos, só um.





Instalação




Driver livre nouveau


No terminal de o comando abaixo.



apt-get install bumblebee primus

 

Driver proprietário Nvidia legacy

Use os comandos para instalar o driver que você identificou a sua placa de vídeo nvidia legacy.

Placa identificada para o driver nvidia-legacy-304xx-driver

No terminal de o comando abaixo para sistema i386 ( x86 ).





apt-get install nvidia-legacy-304xx-driver bumblebee-nvidia primus



No terminal de o comando abaixo para sistema amd64 ( x64 ).



apt-get install nvidia-legacy-304xx-driver bumblebee-nvidia primus primus-libs:i386

Placa identificada para o driver nvidia-legacy-340xx-driver

No terminal de o comando abaixo para sistema i386 ( x86 ).




apt-get install nvidia-legacy-340xx-driver bumblebee-nvidia primus



No terminal de o comando abaixo para sistema amd64 ( x64 ).



apt-get install nvidia-legacy-340xx-driver bumblebee-nvidia primus primus-libs:i386

Configuração



Adicione seu usuário ao grupo do bumblebee com o comando abaixo.

OBS: Altere senomedeuser para o seu nome de usuário.


adduser senomedeuser bumblebee

Durante a instalação sera exibida a mensagem abaixo, não se preocupe e tecle enter para continuar.





Ao final reinicie o computador para que os módulos sejam ativados e nouveau desativado com o comando abaixo.


reboot

O restante é identico a instalação normal.

Testes


OBS: De forma alguma adicione o /etc/X11/xorg.conf com o comando indicado pelo "Configurações do NVIDIA X Server"




Para rodar o "Configurações do NVIDIA X Server", use o comando abaixo no terminal.


optirun -b none nvidia-settings -c :8





Os testes são importantes para se assegurar que o driver foi instalado com sucesso, no terminal de o comando abaixo.


optirun glxgears -info




No meu caso a instalação foi facil e sem apresentação de erros.
Esse teste pode apresentar erros, nesse caso leia atentamente a indicação da

documentação em Common issues.

Resolvido o problema e vc quer é tirar um print com FPS nas nuvens :) para isso use o
comando abaixo.


vblank_mode=0 primusrun glxgears -info







Uso do Bumblebee / Primus




Tenha em mente que por padrão a placa de video usada sera a Intel, veja no exemplo.


glxgears -info






Para que a placa Nvidia seja usada você dese usar sempre o parâmetro abaixo.


optirun [options] <application> [application-parameters]


Veja no exemplo:


optirun glxgears -info


Note que agora a Nvidia é a usada.





Caso queira melhor desempenho do Gimp, pode rodar ele usando a Nvidia.


optirun gimp

Caso queira o Firefox.


optirun firefox


E assim deve ser com todos os programas que queira que rodem usando a placa de vídeo Nvidia :)



 Fonte

Fonte pt_BR


Donate - Contribua para a melhoria do nosso trabalho!!














2 comentários:

  1. Velho! Quanto aparece o FPS (em média) rodando "glxgears -info" e "optirun glxgears -info"?

    Pois no meu aparece para as duas situações ~60 FPS. Porém quando eu rodo com o parâmetro "vblank_mode=0" na frente vai pra ~2200 FPS. Você saberia dizer o que são essas diferenças?

    ResponderExcluir