NVIDIA Optimus

Después de casi una década, parece que NVIDIA está empezando a tomarse mínimamente en serio el soporte de Optimus para GNU/Linux, la tecnología que en Windows permite intercambiar de forma automática entre una gráfica NVIDIA y un acelerador gráfico de Intel según la demanda de potencia gráfica con el fin de ahorrar energía en los portátiles.

NVIDIA publicó el mes pasado una versión beta de su driver (435.17) que incluía una importante novedad en el soporte de PRIME, la herramienta que permite cambiar manualmente entre las gráficas Intel y NVIDIA en Linux, y es que al parecer se le ha añadido una opción adicional llamada “NVIDIA On-Demand” (NVIDIA bajo demanda), la cual permite que una aplicación específica se ejecute en la GPU de NVIDIA mientras que el resto sigue cargado en el acelerador Intel. Esta característica soporta Vulkan y OpenGL, pero de momento no EGL.

Este cambio tendría que hacer que el soporte para portátiles con gráficas Intel+NVIDIA sea más similar al de Windows, sin embargo, todavía quedan importantes pasos por dar, ya que para apoyar la ejecución de una aplicación sobre la GPU NVIDIA se tiene que recurrir a la consola de comandos y a variables del entorno dependiendo de las características de la propia aplicación.

Para ejecutar una aplicación Vulkan:

__NV_PRIME_RENDER_OFFLOAD=1 nombreaplicacion

Para ejecutar una aplicación OpenGL (GLX):

__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia nombreaplicacion

Otro escollo a salvar es la versión de Xorg necesaria para usar la opción “NVIDIA On-Demand”, requiriéndose, al menos aparentemente, la 1.20 como mínimo. La situación fuerza a los usuarios de Ubuntu a tener que usar esta PPA si quieren hacer uso de la característica que nos ocupa. Mejor lo llevan los usuarios de Arch Linux, que por defecto ya disponen de una versión de Xorg compatible, por lo que si combinan dicho sistema con Intel y NVIDIA (sobre todo si se trata de un portátil) ya tendrían que tener disponible “NVIDIA On-Demand”, que por cierto ya se encuentra en la versión estable del driver (435.21).

A lo largo de su trayectoria NVIDIA solo se ha preocupado de GNU/Linux para aquello que le da ingresos, haciendo que su “buen soporte” solo abarque las soluciones profesionales y las orientadas a ordenadores de sobremesa (torres), las cuales siempre han funcionado desde el momento del lanzamiento o poco después en el peor de los casos. Sin embargo, aparte de la cuestión en torno a Optimus, también hay otros asuntos como su nulo compromiso con los estándares establecidos para el sistema Open Source, que sí son respetados y cumplidos por parte de AMD e Intel.

Para terminar, queremos darle las gracias al comentarista Noctis por su aviso.