Nvidia Optimus en Linux


Nvidia y Linux: se soportan, pero no se quieren.

Estoy un poco desconectado en cuanto a componentes gráficos, placas base y cosas así.  Pero cuando un compañero me pidió consejo sobre qué portátil comprar, con la intención de instalarle Linux en cuanto lo comprase, mi experiencia me decía al oído “que tenga una gráfica Nvidia, te ahorrarás muchos problemas…

Así que cuando me enseñó el portátil que quería comprarse (Aquí una captura, por si quitan la oferta) y vi que llevaba una gráfica Nvidia dedicada, no me lo pensé mucho y le dije que era una buena opción para meterle un pingüino.  Ni me fijé en eso de “Optimus Technology”.

Ahora que ya sé qué es la tecnología Optimus, quizá me lo pensaría dos veces…

(Lo que sigue explica cómo instalar correctamente un portátil con Linux Mint / Ubuntu y una gráfica Nvidia Optimus.  Por si prefieres saltártelo e ir a tomar unas cañas.  De nada)

Parece ser que esa tecnología es una especie de “híbrido” gráfico que usa dos tarjetas: una dedicada Nvidia y la otra, integrada en placa, que puede ser Intel o AMD.  La gracia del asunto es que pretende ahorrar batería del portátil utilizando la tarjeta integrada en placa mientras hacemos las cosas cotidianas (navegar por internet, hacer documentos, etc) y reserva la tarjeta dedicada, mucho más potente, para tareas exigentes (juegos, edición de vídeo, etc.)

La idea no es mala.  Entonces, ¿cuál es la pega?

Pues la pega es que Nvidia, de momento, no ha sacado unos drivers decentes para esa tecnología en Linux.  Así que, instalemos el driver propietario de Nvidia en un PC con Optimus, nos quedaremos sin aceleración gráfica.😦

Afortunadamente, hay unos cuantos genios por el mundo que se dedican a hacer la vida más fácil a los linuxeros.  ¿Será porque ellos también lo son?

En este caso, lo que debemos hacer es esto (visto en la web de Juanetebitel, que es un auténtico crack)

1.- Añadir los repositorios de “Ubuntu X Swat”:

sudo add-apt-repository ppa:ubuntu-x-swat/x-updates

sudo apt-get update

2.- Modificar el GRUB:

sudo gedit /etc/default/grub

Aquí buscamos la línea que pone GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash” y la modificamos para que ponga esto: GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash pcie_aspm=force”
Tras eso, actualizamos GRUB:

sudo update-grub

3.- Ahora, añadimos los repositorios de Bumblebee:

sudo add-apt-repository ppa:bumblebee/stable
sudo apt-get update
sudo apt-get install bumblebee bumblebee-nvidia acpi-call-tools

4.- Reiniciamos el sistema.

Tras haber hecho esto, el PC trabajará por defecto con la gráfica integrada en placa. Y, si queremos que trabaje con la gráfica NVIDIA (por ejemplo, para correr de modo fluído Google Earth) entonces debemos usar el comando “optirun” antes. Por ejemplo, si queremos ver cómo funciona el viejo glxgears con la placa integrada, entonces teclearíamos desde una terminal:

glxgears

Pero si quisiéramos que ejecutase esa aplicación usando la potencia de la gráfica Nvidia (algo que se nota, y mucho, en los FPS), entonces teclearíamos:

optirun glxgears

El sagaz lector podría preguntarse cómo hacerlo para que determinadas aplicaciones se ejecuten siempre con la gráfica Nvidia, sin tener que teclear nada. Pues la solución es sencilla: creamos un lanzador.

1.- Instalamos gnome-panel:

sudo apt-get install gnome-panel

2.- Creamos un archivo, por ejemplo en nuestro home, que llamaremos “Crear lanzador”:

gedit "Crear lanzador"

y le pegamos el siguiente código:

#!/bin/bash
NM1=$((RANDOM%8000))
NM2=$((RANDOM%7999))
gnome-desktop-item-edit --create-new $NM1$NM2.desktop

3.- Ahora damos permisos de ejecución al archivo:

sudo chmod 777 "Crear lanzador"

4.- Por último, copiamos el archivo al directorio oculto de scripts de Nautilus:

sudo cp "Crear lanzador" /home/tu_usuario/.gnome2/nautilus-scripts

Y ya está, ya podemos crear un lanzador en cualquier lado con el botón derecho del ratón.

Por ejemplo, si queremos que Google Earth se ejecute siempre con la gráfica dedicada, podemos rellenar el lanzador así:

Hala, si tienes una Optimus ya sabes lo que te toca hacer.😉

5 pensamientos en “Nvidia Optimus en Linux

  1. Bufff a mí me pasó algo similar cuando me compré a principios de año mi nuevo pc (un mini pc para ser más exactos), me fui directamente a nvidia pensando que no tendría problemas y andaba tan desconectada como tú en el tema hardware, no reparé en el tema de Nvidia Optimus, jejeje, me dio bastantes quebraderos de cabeza al principio, al final conseguí que todo funcionase correctamente, en mi caso porque por suerte desde la placa se podía desactivar la opción de usar las 2.

  2. Pues finalmente quedó funcionando sólo con Nvidia, tenía que desactivar un par de opciones de la placa base y ya todo me fue perfecto. Al principio de ponerme a instalar yo lo hice como de costumbre sin reparar en eso de la tecnología optimus y no me daba más que problemas, hasta que me puse a investigar y me enteré de todo, escribí un post al respecto con mi odisea: http://laotraboladecristal.com/2012/04/01/archlinux-un-minipc-una-nvidia-optimus-y-que-dolor-de-cabeza/

  3. Sorprendentemente NVIDIA está dando los primeros pasos a liberar código,ya sé que este comentario no viene a cuento en esta cita pero acabo de leer la noticia en http://www.distrowatch.com y me ha sorprendido mucho.
    Por algo se empieza aunque aún queda mucho trabajo por hacer,veo un futuro mas cómodo para los usuarios de GNU/Linux sin tener que romperse el coco usando los drivers libres como NOUVEAU que aunque funcionan muy bien,no tienen soporte y falta mucho para que sean completos.
    Aquí os dejo el enlace al mensaje que me ha sorprendido tanto.
    http://lists.freedesktop.org/archives/dri-devel/2014-January/053028.html

Quita un poco de mierda de tu cabeza y dime algo:

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s