logo nvidia

Nvidia pierde relevancia en Linux

Uno de los escritorios más extendidos en Linux ha decidido dejar de dedicar demasiados esfuerzos en dar un buen soporte a las tarjetas gráficas de Nvidia.

El panorama en los gráficos de Linux ha cambiado radicalmente en los últimos años. Desde la aparición de Steam y de cientos de juegos (algunos de ellos AAA muy exigentes en gráficos), los controladores y las distintas APIs han evolucionado e incluso algunas como Vulkan se han creado para dotar al sistema libre de una infraestructura que hasta entonces estaba subdesarrollada.

Durante este periodo, han pasado cosas como que AMD decida ofrecer controladores libres soportados por la propia compañía con su stack AMDGPU. De hecho, en la próxima versión de Linux, el cambio más abultado será precisamente el de los drivers libres de AMD. Eso ha hecho que de los tres principales actores (Nvidia, Intel y AMD) quede sólo Nvidia como fabricante que sólo ofrece una solución de código cerrado para Linux.

driver amd
AMDGPU se presentó en 2015

Esto tiene varias implicaciones pero en el terreno técnico es importante desde la perspectiva de que ciertos programas necesitan hacer uso de ciertas funciones que están disponibles sólo si las ofrece el controlador. Y si este es cerrado, no existe la posibilidad de implementarlas fuera del ámbito corporativo de la compañía de turno.

En el caso de KWin (el encargado de mostrar las ventanas, decoraciones, efectos, etc de Plasma) resulta que al contrario del resto de fabricantes, Nvidia todavía no ofrece soporte para gbm, una biblioteca necesaria para que funcione Wayland. A cambio, la compañía ofrece EGLStreams, una solución propietaria que da una funcionalidad similar. Pero a la gente de KDE no le hace gracia tener que duplicar esfuerzos, por una parte dando soporte a la solución estándar de Linux que funciona en todas las GPUs menos Nvidia y por otra dando soporte a EGLStreams.

Wayland todavía está en fase de pruebas en Plasma

Este es un problema que afecta principalmente al funcionamiento de Wayland y de hecho tiene solución: usar la composición con Qpainter en vez de con OpenGL. El inconveniente es que así no se usa aceleración 3D lo que supone pérdida de funciones, merma del rendimiento y aumento del consumo energético. Así que Martin Gräßlin (desarrollador principal de KWin) le ha puesto una cruz a la compañía.

Hace unos días, el fabricantes de GPUs de Santa Clara ofreció a Gräßlin una tarjeta gráfica gratuita para hacer pruebas de KWin ya que el nulo soporte estaba produciendo quejas entre los usuarios. La respuesta del desarrollador a dicho obsequio fue la siguiente:
«Gracias por el ofrecimiento pero no acepto. Decidí hace años no tener una buena GPU en mi sistema para ser capaz de darme cuenta de los problemas de renderizado y también decidí no aceptar ninguna GPU ya que hay tantas GPUs y tantas combinaciones de controladores/kernels que probarlas todas no tendría sentido. Si quisiera hacerlo bien, necesitaría algo así como 50 GPUs de todos los fabricantes y sencillamente eso no es realista. Y dado que soy usuario de Debian testing, me he dado cuenta de que de todas formas no tengo problemas. Además, no me interesa una tarjeta de Nvidia ya que el controlador no soporta gbm y debido a eso KWin/Wyland no funciona«.

Lo más penoso es que el tema de la tarjeta que rechazó el desarrollador alemán ha salido a la luz por la queja de un usuario que ve texturas mal renderizadas en Plasma. Ante este problema, uno de los desarrolladores de Nvidia para Linux respondió lo siguiente:
«Hasta donde sabemos, KWin no está siendo probado por sus desarrolladores sobre hardware Nvidia a pesar de que hemos ofrecido hardware gratis. Eso significa que hay bugs en KWin que no se están pillando a tiempo o que directamente no se están encontrando y nunca tenemos información sobre fallos de los desarrolladores de KWin cuando creen que es nuestro controlador y no KWin el que falla.»

El problema de Nvidia en Linux no solo se limita a Plasma sino a otros escritorios y programas. La cerrazón de usar su API en vez de las opciones libres y normalizadas causa frustración a desarrolladores y usuarios.

Fedora 25 puso a Wayland en producción hace más de un año

La postura de Nvidia sobre esto es clara: no tienen pensado dar soporte a XWayland, una capa de abstracción que permite usar programas dirigidos al protocolo X en una sesión Wayland. El proceso por el que se consigue renderizar una ventana X con aceleración gráfica en una superficie de Wayland es bastante enrevesado y no tener soporte para este proceso a nivel de hardware, penaliza sobremanera el rendimiento.

Habrá usuarios de Linux poseedores de una flamante tarjeta gráfica de Nvidia con esperanzas en que Nouveau (un proyecto que mantiene controladores para Nvidia libres a base de ingeniería inversa) sea la respuesta a estos problemas. Para ellos, también hay malas noticias. Resulta que Nvidia no solo no facilita documentación para, al menos, permitir que otros usen su tiempo y recursos en dar un soporte decente sobre Linux (lo cual, por cierto, favorecería a la compañía en imagen pública y en venta aunque sea a un nicho de mercado) sino que encima ignora y pone trabas a estos desarrolladores.

Ante una situación que parece el resultado de un maquiavélico plan de AMD por desprestigiar a Nvidia (porque hay que esforzarse demasiado en hacerlo tan mal como para perder a todo un entorno de escritorio) y de esa forma conseguir encandilar a los usuarios de Linux (en torno al 2% de PCs, pero menos da una piedra), la única solución que tienen los linuxeros a día de hoy es tan simple como no comprar Nvidia. No se trata de un boicot ni de una decisión por despecho: es una cuestión puramente práctica porque Wayland se va a imponer próximamente.

El número de cambios en Xorg alcanzó su punto álgido hace una década

En el caso de Plasma, han decidido dejar de incluir nuevas funciones a X.org para centrarse en el nuevo protocolo, por lo que poner a Wayland en producción es cuestión de muy poco tiempo. Y sobre el soporte de otros entornos, todo es cuestión de que sus respectivos desarrolladores sigan queriendo dedicar tiempo a los artefactos cerrados de los controladores de Nvidia, algo que podría cambiar sin previo aviso. Así que si quieres un PC duradero con potencia gráfica y con garantías de soporte durante mucho tiempo (y ojo que aunque lo parezca, esta entrada no está patrocinada por AMD), sólo te queda una opción.

Ver comentarios