Habilitar Nvidia Optimus en openSUSE

La mayoría de las CPUs actuales tienen incorporado un chip gráfico. Por ejemplo, un Intel Core i3, i5 ó i7, posee dentro del propio procesador una tarjeta gráfica integrada también de la compañía Intel.

Por tanto, si os compráis un PC y le ponéis un Core i5, por ejemplo, no necesitáis ponerle aparte una tarjeta gráfica, porque este procesador ya lleva una sencilla (aunque para muchos casos es suficiente) tarjeta gráfica incorporada.

Ahora bien, si alguien necesita más potencia en los gráficos (para disfrutar de los últimos juegos, por ejemplo), puede colocar una tarjeta gráfica pinchándola en una bahía pci express libre. El ordenador sabe (*) que debe usar esa nueva tarjeta más potente y obviar la Intel.

En los portátiles ocurre algo similar, sólo que no es posible pinchar una tarjeta gráfica más potente si es que la necesitamos. De hecho, dado que la capacidad de ampliación de un portátil es mucho más limitada que la de un PC de sobremesa, cuando compras un portátil, debes tener en mente qué uso le vas a dar, porque insisto, no es posible añadir una tarjeta gráfica al mismo.

Sin embargo, te puedes comprar un portátil con una tarjeta gráfica potente incorporada. ¿Cuál es el problema? Que un parámetro importante en los portátiles y que no lo es en los de sobremesa es la batería, y es que una tarjeta gráfica potente consume mucha batería. ¿Qué hacer entonces?

Pues los fabricantes de chips gráficos, y cuando digo los fabricantes me refiero sobre todo a AMD y Nvidia, han desarrollado tecnologías que permiten disfrutar de grandes capacidades de procesamiento gráfico y al mismo tiempo la posibilidad de ahorrar batería. ¿Cómo lo consiguen?

La idea es que el portátil dispone de dos tarjetas gráficas, una es la integrada en el procesador que comentábamos antes (una Intel si es un Core iX o una ATI si es un AMD) y la otra es una tarjeta gráfica discreta (**) más potente instalada en la placa del portátil. Las tecnologías que han implementado las dos compañías (AMD y Nvidia) se basan en que se usa normalmente la tarjeta gráfica sencilla, es decir, la integrada en el procesador, ya que consume mucha menos batería mientras que la tarjeta gráfica discreta está apagada. Por otra parte, cuando se necesita tirar de alto procesamiento gráfico (por ejemplo, para correr un juego exigente), automáticamente activa la tarjeta gráfica discreta y permite jugar sin problemas, consumiendo más batería, lógicamente, pero permitiendo disfrutar de toda la potencia que ofrece dicha tarjeta.

Esta tecnología se conoce con Optimus si la tarjeta discreta es Nvidia, o PowerXpress si se trata de una tarjeta AMD (***).

En particular, mi portátil dispone de la primera (Optimus), teniendo un chip gráfico Nvidia Geforece GT 525M. En Windows, los drivers de Nvidia implementan esta tecnología perfectamente y funciona de forma automática nada más instalarlos.

En Linux, sin embargo, aún tenemos ciertos problemas ya que los grandes fabricantes, aunque ya empiezan a desarrollar drivers para este sistema, aún no son tan completos como los de Windows. En particular, la tecnología Optimus no está completamente soportada con estos drivers. ¿Qué hacer entonces?

Lo de siempre ;-). En Linux tenemos la suerte de que surgen grandes proyectos de gente que aporta su tiempo, ganas y conocimientos para desarrollar mediante distintas técnicas (muchas veces basadas en ingeniería inversa) drivers de gran calidad. Para soportar Optimus en Linux, de hecho, existe un proyecto llamado Bumblebee que permite desconectar la tarjeta gráfica discreta para que el portátil no consuma mucha batería y activarla sólo cuando sea necesario.

Si usáis openSUSE, como yo actualmente, aquí tenéis un enlace a una web que os explica cómo dejarlo configurado en vuestro sistema. Este enlace está enfocado para la versión 13.1 de openSUSE, que es la última en estos momentos, pero también está para la 12.3. Es sólo cuestión de buscar un poco.

Yo lo tengo configurado y se nota y mucho en el consumo de la batería y en el ventilador, que ahora está apagado casi siempre y se agradece. Por el mismo motivo, el portátil se calienta menos.

Esto es debido a que con Bumblebee la gráfica discreta está apagada por defecto. Con la aplicación powertop podemos ver el consumo:

La batería reporta una tasa de descarga de 19.0 W
The estimated remaining time is 1 hours, 47 minutes

Como vemos, la tasa de descarga es de unos 19 W (digo “de unos” porque va variando, pero la media está por los 19-20 W). Esto le da de vida al portátil más de hora y media sin tener que conectarlo a la corriente.

Para comprobar que estamos trabajando con la tarjeta gráfica integrada (no la discreta), podemos ejecutar glxgears, que nos dice la tasa de frames por segundo que es capaz de procesar:

305 frames in 5.0 seconds = 60.797 FPS
300 frames in 5.0 seconds = 59.816 FPS

Para activar la tarjeta discreta usamos el comando “optirun” antes de la aplicación a usar. Así, por ejemplo, para ejecutar glxgears con la tarjeta gráfica discreta ejecutaremos:

optirun glxgears

Esto nos da una tasa de más de 1500 frames por segundo:

7633 frames in 5.0 seconds = 1526.421 FPS
7555 frames in 5.0 seconds = 1510.848 FPS

Sin embargo, si ejecutamos powertop mientras está lanzado este último comando (i.e., con la tarjeta gráfica discreta activada), la tasa de descarga sube bastante:

La batería reporta una tasa de descarga de 62.7 W
The estimated remaining time is 0 hours, 29 minutes

Realmente no es un valor sostenido, luego baja a valores entre 30 y 40, luego vuelve a subir un poco pero, en cualquier caso, se ve que consume mucho más que con la tarjeta gráfica integrada.

 

 

(*) Y si no lo deduce se puede configurar en la BIOS del equipo.

(**) Dado que actualmente ya es muy común encontrar tarjetas gráficas integradas en otros chips, como es el caso de los procesadores Core iX, por ejemplo, se usa el término tarjeta discreta para referirse a la tarjeta gráfica que va pinchada en placa, es decir, la tarjeta gráfica de toda la vida, que es independiente del procesador.

(***) La compañía ATI, competencia directa de Nvidia desde hace años, fue comprada por AMD, por lo que ahora la lucha no es entre Nvidia y ATI sino entre Nvidia y AMD. Intel también fabrica sus propios chip gráficos (los que incluyen en sus procesadores Core iX), pero no están aún a la altura de competir en potencia gráfica con los dos primeros.