NVIDIA ha publicado la versión 555.58 de su driver para Linux en fase estable. Si bien por lo general no le seguimos la pista a este producto, este lanzamiento es muy importante debido a que introduce soporte para la sincronización explícita (explicit sync), con la que se espera que el controlador del gigante verde por fin empiece a ofrecer una buena experiencia sobre Wayland o al menos tenga ya todos los cimientos necesarios para lograr eso.
La sincronización explícita promete mejorar el desempeño de los gráficos mediante la reducción del trabajo que tienen que hacer los drivers, ya que las aplicaciones podrán “contactar” con ellos de manera directa en lugar de tener que descubrir las dependencias de las tareas partir de una lista de comandos. En lo que respecta al driver oficial de NVIDIA, la expectativa es eliminar o al menos reducir el flickering y los glitches que todavía experimentan los usuarios cuando ejecutan una sesión de Wayland.
Se supone que la sincronización explícita es una mejora para todos, independientemente de la marca de la GPU, pero en NVIDIA se ha mostrado como algo aparentemente imprescindible para obtener definitivamente una buena experiencia sobre sesiones de Wayland, una tecnología que se la ha atragantado a la compañía de Santa Clara por su propia cabezonería y sus malas artes a la hora de aprovecharse de la naturaleza abierta de Linux.
Volviendo al driver 555.58 de NVIDIA para Linux, la otra gran novedad que trae es el uso del firmware GSP de manera predeterminada en todas las gráficas que lo soporten, o sea, Turing (RTX 20 y GTX 16) y generaciones posteriores, aunque por ahora puede ser inhabilitado con el parámetro del kernel NVreg_EnableGpuFirmware=0
. Posiblemente a nuestros lectores les suene GSP por Nova, un nuevo driver para Linux dirigido a las últimas generaciones de gráficas de NVIDIA y que está específicamente creado para funcionar con dicho firmware.
Otras cosas a destacar son que el soporte de HDMI de 10 bits por componente está habilitado por defecto y que la integración del sistema de ventanas (WSI) de Vulkan bajo Wayland ha incluido soporte para el modo de presentación inmediata. Lo último mencionado se trata de un modo de presentación que “indica a los compositores que no esperen un período de borrado vertical para actualizar el contenido de la superficie de la aplicación, lo que puede provocar tearing”. Recordamos que uno de los lemas de Wayland fue “todo fotograma debe ser perfecto”, lo que ha derivado en la introducción de soporte para el tearing para hacer frente a problemas como el input lag.
Como última novedad interesante está el hecho de que se ha inhabilitado temporalmente la extensión GLX_EXT_buffer_age
en XWayland “para solucionar un error que podría causar corrupción”. Nos suponemos que NVIDIA volverá a habilitarla cuando haya solucionado el problema que provoca el fallo.
Por lo demás, lo que más sobresale del driver 555.58 de NVIDIA para Linux es la corrección de una gran cantidad de fallos, algunos de los cuales pueden derivar en violaciones de segmento (segfault) o kernel panics. Aquí no hay nada que sorprenda viendo que se trata de una pieza de software muy popular y que cuenta con una gran cantidad de recursos para su desarrollo, pero ya podría NVIDIA haber adoptado GBM desde el principio en lugar de haberse empecinado con EGLStreams.
Los que quieran conocer todos los detalles pueden consultar la página correspondiente en la sección de drivers de NVIDIA, pero como esto es Linux, lo más probable es que el usuario obtengan dicho componente mediante repositorio. Para Ubuntu lo suyo es recurrir al PPA Proprietary GPU Drivers, mientras que en Fedora lo lógico es apoyarse en RPM Fusion y para openSUSE hay un repositorio alojado en el domino de NVIDIA. En Arch Linux lo lógico es tomar el controlador de los repositorios oficiales de la distribución.