NUEVO
Loading...

How to: Instalar Nvidia Optimus + Bumblebee en Ubuntu Xenial Xerus

Del terror, de las pocas cosas que más me han hecho sufrir y alegrar al mismo tiempo, por un tiempo sentí que instalar el driver propietario de Nvidia era como jugar a la lotería, y que cuando funciona todo el rendimiento es mejor, pero cuando no, tu monitor sangra.

Antes solía instalar el driver sin problemas [casi], pero desde hace un tiempo empecé a recibir dos problemas, o que la pantalla se ponía negra al iniciar el sistema [Black Screen Greeter], o que aparecía el mensaje The system is running in low-graphics mode.

Afortunadamente me deshice de ambos problemas, y ahora tengo a Nvidia y Bumblebee corriendo al cien por ciento, y es por eso que voy a compartir este tutorial, ya que mi mente es frágil a veces y puedo olvidar algunos pasos.

Paso 1 Conocer el Driver Necesario

No es llegar e instalar un driver cualquiera, es obvio que depende de qué tarjeta tengamos y qué versión del driver le corresponde. Por lo que para conocer con qué tarjeta estamos trabajando, hay que pegar en el terminal.

lspci | egrep 'VGA|3D'

En mi caso es una GT 650M y una integrada de Intel. Sabiendo que la tarjeta de Nvidia es GeForce GT 650M basta con buscar en la página de Nvidia que versión del driver le corresponde y listo, para el tiempo que publique este tutorial, me corresponde la versión nvidia-361.

Paso 2 Instalar el Driver Nvidia

Desde hace un tiempo existe un equipo que construye y mantiene paquetes del driver para las distintas versiones de Ubuntu. Ellos son Graphics Driver Team del PPA Proprietary GPU Drivers. Por lo que el trabajo de instalar el driver se reduce al mínimo supongo, no tanto como un doble clic, pero algo es algo.

sudo apt-add-repository ppa:graphics-drivers/ppa && sudo apt-get update

sudo apt-get install nvidia-361 nvidia-settings nvidia-prime bumblebee

NOTA: No instalar bumblebee-nvidia

Paso 3 Post Proceso y Configuración

Esa fue la parte más que fácil del tutorial, si están afortunados y siguieron los pasos debieran iniciar sin problemas. Eso espero, pero de verdad siento que es jugar la lotería, en fin.

Hasta el momento tienen el driver instalado correctamente, el único pero es que Nvidia-Prime y Bumblebee son incompatibles, ambos paquetes sirven para lo mismo, uno es propietario y el otro no, Nvidia-Prime permite intercambiar entre Nvidia (alto rendimiento) e Intel (salvar energía) pero sólo después de un reinicio, además constaté que el modo alto rendimiento es como un Kaiō Ken, lamentablemente es tanto poder que es incontrolable, el notebook se vuelve más una estufa que un computador.

Por otro lado, Bumblebee es más antiguo, quizás se presenten bugs, pero canaliza de mejor manera el rendimiento, y lo mejor, es que se puede optar entre Nvidia (alto rendimiento) e Intel (salvar energía) en la misma sesión, no es necesario reiniciar para cambiar de modo.

Ahora si, aclarado [supongo] el tema, toca configurar Bumblebee para que funcione y reemplace Nvidia-Prime. Por lo que hay que editar el archivo bumblebee.conf y xorg.conf.nvidia con por ejemplo Gedit o Nano o Vim o el editor que tengas.


sudo gedit /etc/bumblebee/bumblebee.conf

La linea 22 debe ser Driver=nvidia y reemplazar las cuatro nvidia-current de las lineas 55, 58 y 61 con nvidia-361 o el driver que se ha instalado y guardar.

sudo gedit /etc/bumblebee/xorg.conf.nvidia

Y quitar el # de la linea 19 y asegurar que BusID "PCI:01:00:0" sea coherente con la información que apareció en lspci | egrep 'VGA|3D' y guardar.

Enmascarar gpu-manager.service para evitar cien por ciento la pantalla negra al inicio del SO.

sudo systemctl mask gpu-manager.service

Esto se puede revertir, si es necesario, con:

sudo systemctl unmask gpu-manager.service

Por último falta decirle a Nvidia-Prime que corra en modo Intel desde la aplicación NVIDIA X Server Settings, que debiera haberse instalado automáticamente, y reiniciar.

Troubleshooting

Evitar el mensaje Low Graphics Mode

Por lo que he leido, el problema de la pantalla negra es culpa de Unity-Greeter o de LightDM, pero el problema de The system is running in low-graphics mode es por Xorg, cabe mencionar que desde que el sistema tiene un GPU Nvidia, el sistema o corre Nouveau como driver o Nvidia, pero en ningún momento Xorg, por lo que es innecesario y además un problema que este se cargue.

Por lo que para evitar dicho problema es necesario borrar xorg.conf.failsafe

rm /etc/X11/xorg.conf.failsafe

En el próximo reinicio todo debiera funcionar correctamente.

Comprobar y Uso

Un método gráfico cuantificable por así decirlo, para probar el poder del GPU es hacer un benchmark con GLXSpheres, para eso es necesario instalar el paquete virtualgl32 2.4.90. Luego de haberlo instalado en el terminal.







cd /opt/VirtualGL/bin/

./glxspheres

Aquí funcionará la tarjeta integrada Intel, por lo que el rendimiento debiera ser discreto.

primusrun ./glxspheres

Aquí haremos funcionar el GPU Nvidia, de manera discreta también, debiera ser mejor que el rendimiento de Intel.

vblank_mode=0 primusrun ./glxspheres

Ahora haremos funcionar todo el poder del GPU Nvidia, debiera ser el con valores más altos.

Conclusión

¿Qué chiste tiene Bumblebee? No es necesario usar todo el tiempo el GPU Nvidia, es más lo único que lograremos, como es el caso de Nvidia-Prime, es utilizar más recursos y recalentar el notebook más rápido, de hecho, las únicas instancias en que es necesario Nvidia es en softwares de alto rendimiento, en la mayoría de casos juegos, como los de Steam, ahí si que se justifica correr en modo Nvidia.

Entonces, si estamos en modo usuario promedio (navegador, redes sociales, ofimática, etc) lo más lógico es utilizar Intel, por otro lado si deseamos correr juegos que dependen del GPU como los que se pueden correr bajo Wine o de Steam, ahí si que se justifica Nvidia.