18 septiembre, 2020

Pongara

Simple. Fácil.

Proponen modificar Mesa para que NVIDIA pueda ejecutar aplicaciones con XWayland

NVIDIA

NVIDIA siempre ha exigido un trato especial dentro del ecosistema Linux, una actitud que hizo estallar al mismísimo Linus Torvalds hace unos años. El creador del kernel mandó a paseo de manera muy gruesa a la que posiblemente sea la compañía de hardware más querida dentro del sector de los videojuegos para PC.

La forma de proceder de NVIDIA ante los usuarios del escritorio GNU/Linux siempre ha representado un problema, un problema que con la irrupción de Wayland ha ido a más. Este tema ya lo abarcamos hace poco en un extenso artículo de opinión exponiendo los absurdos retos que ha puesto el driver privativo de NVIDIA sobre la mesa, con el soporte de Wayland y el uso de entornos de escritorio que no son GNOME al frente.

Lejos de cambiar su actitud, NVIDIA sigue con su pulso contra los estándares acordados por todos menos ella. En un artículo titulado “algo de código feo puede hacer que el controlador de NVIDIA para Linux funcione con XWayland acelerado”, el medio Phoronix expone que un desarrollador de Red Hat ha estado trabajando en una característica llamada GLX Delay.

Básicamente, el propósito de GLX Delay es hacer que el driver de NVIDIA para Linux sea capaz de ofrecer soporte de GLX acelerado con XWayland, la implementación de Xorg para las aplicaciones que no soportan nativamente Wayland. Según Phoronix, “el código propuesto está pasando por Mesa a pesar de que es para el beneficio del controlador propietario de NVIDIA y también requiere de un cambio en la biblioteca de OpenGL independiente del proveedor (OpenGL Vendor Neutral Dispatch Library / libglvnd).”

Como ya dijimos en el artículo de opinión, NVIDIA requiere de configuraciones y modificaciones particularizadas para que su driver funcione correctamente con Wayland, y aquí tenemos un ejemplo. El desarrollo que nos ocupa tiene como objetivo que ‘glxgears’ y ‘glxinfo’ se ejecuten correctamente en XWayland con el driver oficial de NVIDIA. Según Adam Jackson, el desarrollador de Red Hat que ha propuesto GLX Delay, el enfoque aplicado debería permitir que la renderización de GL sea igual de rápida que en Xorg y EGL, lo que teoría tendría que traer, por ejemplo, grandes beneficios a la hora de ejecutar videojuegos sobre XWayland, algo que los usuarios de AMD pueden hacer desde hace tiempo.

En resumidas cuentas, dentro de no mucho los usuarios de NVIDIA tendrían que tener la base para ejecutar videojuegos en Linux desde una sesión de Wayland, sin embargo, todavía quedan muchas características por implementar, como el cambio de tamaño de las ventanas en XWayland, varias características de GLX, características adicionales de SwapBuffers que no están conectadas como la sincronización vertical y más cosas. Los cambios propuestos para Mesa básicamente se dedican a reutilizar el propio código de GLX.

Adam Jackson ha defendido su trabajo diciendo que “quiero el código xfree86 fuera de mi vida, y este enfoque parece que eliminará una gran clase de las razones por las que se podría necesitar el uso de Xorg y el controlador de NVIDIA. Ciertamente es mejor que lo que se obtiene actualmente para los clientes GLX en ese escenario, que es llvmpipe. Por otro lado, puedo ver el argumento de que esto afianza la posición de libEGL de NVIDIA, ya que lo hemos hecho más utilizable. Pero creo, a fin de cuentas, que esto reduce la huella del controlador binario, y creo que es una buena dirección a seguir.”

Resulta curioso que para acomodar a NVIDIA en Wayland se tenga que modificar Mesa, un componente que no aparece en los requisitos mínimos para instalar el driver privativo y que no es necesario actualizar en dicho contexto. Veremos cómo evoluciona el asunto, pero todo apunta a que en el futuro veremos más “código feo” para que NVIDIA pueda funcionar correctamente en Wayland.

Requisitos de sistema para instalar el driver de NVIDIA en Linux

Requisitos de sistema para instalar el driver de NVIDIA en Linux