- Valve y Collabora trabajan en portar el driver de código abierto RADV a Windows para ofrecer una alternativa a los controladores propietarios.
- El proyecto se basa en la ingeniería inversa de la interfaz WDDM2 para comunicarse con el driver de modo kernel de AMD.
- Se han logrado hitos importantes como la ejecución de Counter-Strike 2, aunque la falta de documentación oficial de AMD supone un freno.
- Esta iniciativa busca mejorar la estabilidad, la depuración de errores y el rendimiento en GPUs AMD bajo Windows.
Seguro que te suena que Linux es el paraíso para los que aman el software libre, y en el terreno de las gráficas de AMD, el driver RADV es el rey absoluto. Este controlador de Vulkan, integrado en Mesa, se ha convertido en el estándar para quienes juegan en Steam Deck o cualquier distro Linux, dejando atrás incluso las opciones oficiales de la compañía. Pero, ¿qué pasaría si pudiéramos tener esa misma potencia y transparencia en Windows? Pues que hay un grupo de gente muy motivada intentando hacer precisamente eso.
La idea no es tirar a la basura los drivers que ya tenemos, sino ofrecer una vía alternativa. Valve, que no quiere dejar de empujar el código abierto, ha puesto pasta para que los expertos de Collabora intenten portar RADV al sistema de Microsoft. Aunque parezca una misión imposible, ya han conseguido que juegos como Counter-Strike 2 funcionen, demostrando que el camino, aunque escarpado, es totalmente viable si se tiene la paciencia necesaria.
¿En qué consiste técnicamente este port?

Para entender el lío, hay que saber que un driver se divide en dos partes: el modo usuario (UMD), que es donde vive RADV, y el modo kernel (KMD), que es el que habla directamente con el hardware. En Windows, Microsoft usa una interfaz llamada WDDM2. El truco ha estado en que, desde Windows 10, esta interfaz permite que un driver de terceros interactúe con el kernel de forma más flexible que antes.
El problema es que AMD guarda sus secretos bajo llave. Para que RADV funcione, tiene que enviar datos al kernel de AMD, pero esos datos son «blobs» opacos y no están documentados. Para solucionar este marrón, Faith Ekstrand creó una herramienta llamada wddm2-pdd-re que permite registrar y analizar las llamadas al sistema. Gracias a esta ingeniería inversa, han podido descifrar cómo pedir memoria, crear colas de trabajo y, finalmente, dibujar cosas en pantalla.
Los baches en el camino: hardware y compiladores

No todo ha sido coser y cantar. Los desarrolladores se dieron cuenta de que las GPUs no son todas iguales; por ejemplo, pasar de una RX 7800 XT a una RX 7900 XT provocó que el sistema se colgara constantemente. Esto los obligó a mejorar sus herramientas de depuración, creando una capa de registro de WDDM2 mucho más potente para ver exactamente dónde se rompía el flujo de comandos.
Además, pelearse con los compiladores es un dolor de cabeza. Mesa se diseña para GCC y Clang, pero en Windows manda MSVC. Resulta que MSVC gestiona los enumeradores de forma distinta, tratándolos a veces como valores con signo, lo que provoca comportamientos erráticos que pueden volver loco a cualquier programador.
El cuello de botella: la opacidad de AMD
Si queremos que esto sea algo que cualquier usuario pueda instalar y usar sin que el PC explote, necesitamos estabilidad. Actualmente, RADV en Windows es frágil porque depende de estructuras de datos privadas que AMD puede cambiar en cualquier actualización del driver oficial sin avisar a nadie. Es como intentar encajar una pieza de puzzle que cambia de forma cada semana.
Para salir del atasco, Collabora ha pedido a gritos que AMD o Microsoft proporcionen una interfaz documentada o una librería «shim» que sirva de puente. Sin esto, el mantenimiento será una pesadilla. Otro punto crítico es la presentación de la imagen; ahora mismo usan una ruta lenta vía CPU y necesitan implementar swapchains de DXGI para que el rendimiento sea realmente competitivo y no haya cuellos de botella.
¿Por qué nos debería importar este proyecto?
Tener RADV en Windows no es solo un capricho de programadores. Los drivers propietarios de AMD en Windows a veces tienen fama de ser inestables o dar fallos gráficos en Windows 11 o problemas en ciertos juegos. RADV, al ser abierto, permite que la comunidad reporte errores y aplique parches mucho más rápido. Además, facilitaría la vida a los desarrolladores de juegos, que podrían probar su código en una única implementación de Vulkan para ambos sistemas operativos.
Asimismo, esto podría darle una segunda vida a tarjetas gráficas antiguas que AMD ya ha dejado de lado. Al ser un proyecto comunitario, la compatibilidad con hardware viejo suele durar mucho más que el soporte oficial. Si Valve sigue impulsando esto, podríamos llegar a un punto donde instalar RADV en Windows sea la opción preferida para ganar estabilidad o incluso unos cuantos FPS extra.
El esfuerzo de Valve y Collabora ha convertido una idea loca en un prototipo funcional que ya mueve polígonos en juegos reales. A pesar de los obstáculos técnicos con los compiladores y la falta de manuales oficiales de AMD, la base ya está sentada. El futuro de esta iniciativa depende ahora de si existe la voluntad de abrir las puertas del kernel para que el código abierto pueda brillar también en el escritorio de millones de usuarios de Windows.