El trazado de rayos se ha convertido en una de las tecnologías más mediáticas del mundo de los videojuegos. Básicamente, y posiblemente reduciendo mucho, se trata de un algoritmo que permite obtener unos efectos de luz mucho más realistas, abarcando tanto el entorno como los reflejos. La primera generación de gráficas de consumo en soportar dicha tecnología son las RTX 20 de NVIDIA, que terminaron por no venderse del todo bien debido a los elevados precios y a la gran pérdida de rendimiento que conlleva el uso del trazado de rayos en los tiempos actuales.
A pesar de que a día hoy el trazado de rayos sigue sin ser un estándar, todo apunta a que la futura generación consolas le dará un empujón y terminará arrastrando al PC. Por su parte, AMD, además de ser la proveedora de la tecnología de hardware de las futuras consolas de sobremesa, incorporará el soporte de trazado de rayos en al menos algunas de las gráficas RDNA 2 para no perder el tren frente a NVIDIA, su gran rival en el sector.
Después de exponer de forma resumida qué es el trazado de rayos y su situación con respecto a los principales fabricantes de GPU, nos queda la siguiente pregunta: ¿Y qué pasa con el soporte para GNU/Linux? Es obvio que Windows, sistema que domina a placer el sector del gaming en PC, podrá ejecutar sin problemas esta tecnología en gráficas de AMD y NVIDIA, pero con el sistema Open Source, como suele ser habitual, la cosa no es tan sencilla.
En lo que respecta al soporte de trazado de rayos para GNU/Linux, NVIDIA hizo los deberes hace tiempo, y ahí está Quake II RTX para demostrarlo. Sin embargo, en AMD la cosa es más compleja debido a la plétora de drivers disponibles, aunque al menos hasta ahora la pila libre compuesta por AMDGPU (kernel), RadeonSI (OpenGL) y RADV (Vulkan) se ha mostrado muy competente.
Afortunadamente, los usuarios de gráficas AMD en Linux tienen motivos para la esperanza, si bien parece que tendrán que esperar hasta tener un soporte de trazado de rayos realmente funcional. Según cuentan en Phoronix, a la base de código de la versión 12 del compilador de shaders LLVM ha llegado el soporte inicial para trazado de rayos, el cual apunta a las gráficas Navi 2/RX 6000. Si bien es cierto que esto muestra que todo está muy verde todavía, es bueno saber que hay esfuerzos para ejecutar el trazado de rayos mediante drivers libres.
Además de lo que le toca a LLVM, el soporte de trazado de rayos también necesita estar conectado con el correspondiente driver de Vulkan para las gráficas Radeon, de ahí que AMD esté trabajando en el soporte para su driver de código abierto oficial para esa API, AMDVLK (competidor de RADV), aunque por el momento no hay ni rastro de eso en el repositorio de GitHub.
Por otro lado tenemos a ACO, que apunta a sustituir a LLVM cuando se use RADV en Mesa 20.2. Aquí el soporte para el trazado de rayos quedará en manos de desarrolladores de Valve y Google, y por ahora se sabe que RADV y ACO han empezado a soportar Navi 2. Viendo que AMD ha empezado a mover ficha con sus drivers oficiales, será cuestión de tiempo que los desarrolladores de RADV y ACO reaccionen y empiecen a trabajar en el trazado de rayos.
A día de hoy el trazado de rayos no es un estándar ni un requisito, así que de momento su soporte no es del todo prioritario en GNU/Linux. Sin embargo, cuanto antes haya movimientos para ejecutarlo con drivers libres, mejor, sobre todo para no depender totalmente de NVIDIA y de unos drivers oficiales de AMD que solo suelen abarcar unos sistemas Linux específicos.