Actualmente la mayoría de los portátiles cuentan con 2 gráficas, una de gama media orientada a un bajo consumo de batería, y otra de altas prestaciones pensada para aplicaciones de alto rendimiento. La gestión de las mismas se realiza gracias a una tecnología conocida como Nvidia Optimus, encargada de cambiar entre los dos adaptadores gráficos de forma transparente en función de las necesidades. El problema comienza cuando llegamos a linux…
Si bien la compañía informa estar trabajando en ello, habiendo añadido soporte por primera vez en su driver 319.12 beta, lo más probable es que os encontréis con una llamativa disminución de la autonomía de la batería al instalar linux en vuestro portátil, debido a que se está usando de forma predeterminada y única la gráfica de altas prestaciones, lo que puede llegar a afectar en más de un 50% a la duración de la misma.
Para evitar esto existe un proyecto de software libre llamado Bumblebee, cuya finalidad es dar soporte para los gráficos intercambiables, si bien la detección e intercambio entre gráficas de manera automática aún no está disponible. El objetivo de la siguiente guía es configurar la gráfica de bajo consumo de forma predeterminada (suele encontrarse integrada en el procesador), y cuando necesitemos un rendimiento mayor de lo normal (juegos, edición multimedia…), indicar que dicha aplicación debe ejecutarse con la gráfica más potente.
¡Comencemos!
El portátil que vamos a tomar como ejemplo es un Toshiba Satellite L50-A-18R, con una gráfica integrada Intel HD4600, y a mayores la gráfica Nvidia G740M. La distribución de referencia será Linux Mint 16, aunque los pasos a seguir son exactamente iguales para cualquier otro portátil que cuente con dos gráficas.
-
1º [OPCIONAL] Configurar la gráfica integrada: instalar el repositorio xorg-edgers/ppa, cuya finalidad es disponer de los drivers más actualizados:
- Ejecutar en consola el siguiente comando: sudo add-apt-repository ppa:xorg-edgers/ppa
- Actualizar el sistema para aplicar los cambios. En el caso de Mint debemos activar la instalación de los «paquetes naranjas» (inestables).
-
2º Configurar la gráfica secundaria:
- Instalar los paquetes nvidia-319 y nvidia-settings-319-updated (o más actual). [331 puede dar problemas, consultar]
-
3º Instalar Bumblebee para poder cambiar entre ambas:
- Instalar los paquetes bumblebee, bumblebee-nvidia, primus, linux-headers-generic.
-
4º Configurar Bumblebee para nuestra gráfica:
- Editar, con los datos del driver usado, las siguientes líneas del archivo /etc/bumblebee/bumblebee.conf:
Driver=nvidia
KernelDriver=nvidia-319
LibraryPath=/usr/lib/nvidia-319:/usr/lib32/nvidia-319-updates
XorgModulePath=/usr/lib/nvidia-319/xorg,/usr/lib/xorg/modules
- Editar, con los datos del driver usado, las siguientes líneas del archivo /etc/bumblebee/bumblebee.conf:
Si todo ha salido bien, tras iniciar el sistema, ejecutando el comando dmseg -T y consultando las últimas líneas, debería constar algo similar a esto:
pci 0000:01:00.0: power state changed by ACPI to D3cold
donde el estado D3Cold nos indica que la gráfica NVIDIA no está recibiendo energía, por tanto está funcionado con la integrada Intel de bajo consumo.
Otra forma más específica de certificar si el proceso ha tenido éxito es comprobar el estado del archivo /proc/acpi/bbswitch, realizando por ejemplo un cat /proc/acpi/bbswitch. Si el resultado es similar a:
0000:01:00.0 OFF
nos indica que la gráfica NVIDIA se encuentra apagada.
Bien, ya tenemos nuestra gráfica integrada de bajo consumo como predeterminada en el arranque del sistema. Ahora veamos como activar la NVIDIA para aplicaciones que requieran mayor potencia gráfica: tan sencillo como ejecutar en consola la orden optirun, seguida de la aplicación que queremos iniciar. Ejemplo: optirun firefox. Una vez hecho esto podemos, mediante cualquiera de las dos formas explicadas anteriormente, comprobar que ahora sí se encuentra activa la gráfica NVIDIA. Al cerrar la aplicación, cede de nuevo el mando, automáticamente, a la gráfica integrada.
Si a mayores, por curiosidad, queréis realizar comparativas de rendimiento entre ambas gráficas, recomendable glxsperes.
Y por último, para los más osados, se puede activar Nvidia Optimus a partir del driver 319.12. Requisitos: X.org 1.14 y al menos la versión 3.9 del kernel Linux, junto con nvidia-prime. A partir de ahí ya es…¡trastear, trastear, trastear, y trastear!
ACTUALIZACIÓN: Prime: Nvidia Optimus para Linux II…
Fuentes: Instalación driver NVIDIA, Driver Nouveau (libre), Instalación Bumblebee, Bumblebee FAQ.