Intel y AMD están preparando renovaciones importantes de los drivers y el firmware que implementan en el kernel Linux. La primera está desarrollando un nuevo dirver orientado a exprimir de mejor manera sus recientes gráficas dedicadas y la integrados Xe, mientras que la segunda está mejorando el firmware y la experiencia con RDNA 3.
El rumbo de los drivers gráficos presentes en el kernel Linux empezó a dar un giro de 180 grados en mitad de la década pasada, más concretamente a partir del anuncio de AMDGPU, que supuso la adopción definitiva y oficial de la pila gráfica estándar del sistema por parte de AMD. A partir de ahí Intel respondió para mejorar enormemente el desempeño de sus controladores. Llegados a este punto, no viene mal recordar que eso de que todos los drivers para Linux proceden de la ingeniería inversa es un mito en un porcentaje importante (el DualSense también está soportado con un driver oficial).
Volviendo a la actualidad, Intel está preparando un nuevo driver para el kernel, Xe, que vendría a sustituir al viejo i915 en las gráficas integradas con tecnología Xe (a partir de Tiger Lake) y las dedicadas de la compañía. Como curiosidad, las gráficas Intel Arc tienen en la ejecución de OpenGL sobre Linux el único escenario en el que han cumplido desde el primer día.
El driver Xe será compatible con los controladores del espacio de usuario suministrados por Mesa para Intel: Iris, encargado del soporte para OpenGL, y ANV, que suministra el soporte de Vulkan. Dejando aparte lo que pueda aportar el driver Xe, ANV sigue siendo uno de los tendones de aquiles de Intel en Linux, sobre todo cuando se trata de ejecutar videojuegos nativos hechos con Vulkan o a través de Proton. También contará con soporte de OneAPI, la plataforma de desarrollo de Intel, y de OpenCL a través del correspondiente controlador del espacio de usuario.
El driver i915, como bien indica su nombre, es muy antiguo, y puede que Intel haya visto que mejorarlo es una tarea difícil, así que la compañía habría optado por empezar con el desarrollo de un nuevo controlador desde cero para así tener un mejor marco para competir frente a AMD y NVIDIA. Si a algunos esto le ha recordado a la situación de los drivers para las gráficas dedicadas Intel Arc en Windows, el origen es similar, aunque las circunstancias muy diferentes.
En lo que respecta a AMD, el gigante rojo ha presentado una serie de parches que permiten recurrir más fácilmente al búfer de fotogramas del firmware cuando el driver AMDGPU no se carga correctamente. Este cambio introduce un nuevo enfoque que debería permitir la recuperación del búfer del marco del firmware en caso de que la inicialización de AMDGPU falle, por lo que se ofrecería una mayor resiliencia sobre todo en contextos en los que el driver no soporte del todo una nueva generación de gráficas, como es el caso por ahora de RDNA 3 (RX 7900 XT y RX 7900 XTX).
Otro conjunto de parches que AMD ha planteado para Linux consiste en la implementación de las colas de gráficos en modo usuario (user-mode) para el driver AMDGPU en las gráficas Navi 3x y posteriores. Básicamente, consisten en permitir el envío directo de cargas de trabajo desde un proceso del espacio de usuario que tiene un contexto en AMDGPU (que es el componente que lleva el peso). Como resultado, se podría tener un mejor rendimiento y una gestión más sencilla de aplicaciones y ciertos juegos que funcionan a pantalla completa.
Las mejoras que pretende introducir AMD en su driver para Linux podrían tener como foco futuras versiones de la Steam Deck con gráficos RDNA 3, ya que el sistema operativo de la consola de Valve, SteamOS 3, es un GNU/Linux estándar al que se le han añadido propiedades inmutabilidad para evitar roturas y ofrecer un suelo más estanco a los desarrolladores.
Las noticias en torno a los drivers gráficos para Linux no han parado de arrojar cosas muy interesantes desde el año 2016, y es que lo de ejecutar videojuegos triple A para Windows con la pila gráfica estándar del sistema era considerado como un sueño imposible de cumplir hasta hace relativamente poco.
Primero, veremos si el driver Xe logra que Intel se ponga a la par de AMD y NVIDIA en cuanto a rendimiento, mientras que por otro lado habrá que ver si los parches que está preparando AMD consiguen dar los resultados esperados.