Valve trabaja para mejorar el rendimiento de Vulkan en AMD
La implicación de Valve con GNU/Linux va mucho más allá de intentar quedar bien ante la comunidad FLOSS. Muchas personas señalan que SteamOS es, ante todo, un resorte contra las posibles imposiciones que Microsoft podría aplicar en Windows, sin embargo, la compañía detrás de Steam ha mostrado un gran interés por mejorar los drivers de las gráficas AMD para Linux, los cuales son software libre (al menos los de referencia incluidos en todas las distribuciones).
Si bien es cierto que el tema del abandono de los 32-bit por parte de Ubuntu hizo que aparecieran ciertos nubarrones, la situación parece ahora encauzada y Valve ha reafirmado su compromiso con GNU/Linux y anunciado que va a contribuir a Kwin para mejorar el rendimiento de los juegos en KDE Plasma.
Recientemente nos ha llegado de la mano de PCGamesN más buenas noticias sobre los drivers de AMD para GNU/Linux. Los ingenieros de Valve están trabajando en un nuevo compilador de shaders para RADV, el driver de Vulkan para AMD de origen comunitario y utilizado por defecto en todas las distribuciones. Actualmente los drivers de OpenGL y Vulkan para AMD incluidos en Mesa, RadeonSI y RADV, utilizan un compilador que forma parte del proyecto LLVM. Sin embargo, a veces los tiempos de compilación de shaders pueden verse interrumpidos accidentalmente por los desarrolladores que trabajan LLVM para otros propósitos, lo que ha motivado a Valve para crear un compilador alternativo específico para juegos: ACO.
ACO, que ya ha sido incluido en el repositorio de Mesa en GitHub, parece estar en estos momentos en una fase relativamente avanzada de su desarrollo, siendo capaz de mostrar sus capacidades en juegos ejecutados mediante Steam Play. El hecho de que ya esté en el repositorio de Mesa permite a los usuarios finales poder utilizarlo para reportar resultados, comentarios y fallos.
Al parecer ACO ha conseguido una gran mejora frente a LLVM, reduciendo el tiempo de compilación de los shaders en un 45%, lo cual repercute en una menor utilización de la CPU. Sin embargo, esto no se está traduciendo, al menos de momento, en una gran mejora en el rendimiento de los juegos, con subidas del framerate por debajo del 10% y hasta hay algunos casos en los que se ha perdido de 1 a 2 imágenes por segundo.
En su estado actual ACO solo lidia con las fases del píxel y el procesamiento del shader, pero Valve pretende ir más lejos para abarcar más fases, lo que tendría que traducirse en una mejora todavía mayor de los tiempos de compilación y el rendimiento.
Si bien todavía es pronto, parece que ACO ha abierto las puertas a mejorar el rendimiento de los juegos con RADV, un driver al que aparentemente le está costando competir con NVIDIA.