DirectX ya es target oficial de LLVM y Linux sale ganando

DirectX ya es target de LLVM y revoluciona el gaming en Linux

Hace apenas unos días, LLVM aceptó a DirectX como uno de sus objetivos oficiales de compilación. Tras cuatro años de trabajo impulsado por Microsoft, el compilador libre Clang podrá generar shaders DirectX sin piezas externas y con HLSL activado por defecto desde la futura versión 24.

La noticia suena a «ciencia mágica» para compiladores, pero en la realidad, toca de lleno al mundo de los videojuegos. Quien programa los efectos visuales de un juego escribe su código una vez en el lenguaje como HLSL, y hoy necesita herramientas distintas según el destino, lo que complica la portación de un juego a distintas plataformas. Con este paso, Windows, Linux y macOS se acercan a compartir la misma puerta de entrada.

Y vale destacar, que todo esto llega en un momento dulce para el juego en Linux, con Proton y Steam Deck en plena forma.

Cuatro años de trabajo experimental llegan a su fin

Durante cuatro años, el soporte de DirectX vivió dentro de LLVM como un experimento apagado por defecto. Había que compilar las herramientas a mano y activar una opción oculta para usarlo, así que casi nadie fuera de Microsoft lo tocaba. Pero eso se ha acabado.

La propuesta formal la firmó el ingeniero de Microsoft, Farzon Lotfi, a principios de agosto en el foro de LLVM, y el parche de promoción ya está aceptado. El cambio saca al backend de su estatus experimental y enciende por defecto el modo clang-dxc, que entiende HLSL directamente.

La clave está en lo que produce. Este backend traduce el código a DXIL, el formato que consumen los drivers gráficos de Windows con DirectX 12. Eso significa que no es un traductor de API, ni un emulador. Es el eslabón que faltaba para que el compilador estándar de código abierto hable el idioma de la GPU en Windows, de forma totalmente nativa, abriendo la puerta a migrar juegos DX12 a Linux de una forma mucho más sencilla.

Aun así, conviene poner los pies en la tierra. La madurez actual equivale a la del compilador DXC en shaders de computación, mientras que los shaders gráficos y el trazado de rayos quedan como trabajo futuro, junto con los Shader Model más nuevos. La propia propuesta lo dice sin rodeos y pide más ojos encima del código para pulir conformidad y rendimiento. El equipo presume además de una batería de conformidad que compara lo que generan Clang y DXC en varios entornos, usando la infraestructura de tests estándar de LLVM.

Valve lanza Proton 11 y gana terreno a Windows en el gaming

Lo que cambia para quien juega en Windows y en Linux

En Windows el efecto es directo. Los desarrolladores podrán compilar sus shaders con un Clang normal, sin depender de un fork separado de LLVM mantenido aparte. Menos piezas móviles, menos divergencias y un camino más corto entre el código y el driver.

En Linux el efecto es indirecto, pero quizá más emocionante. Aquí no hay drivers DirectX ni los habrá. Lo que hay es una maquinaria de traducción formidable. Proton, DXVK y VKD3D-Proton convierten las llamadas DirectX en Vulkan para que miles de juegos de Windows funcionen en Linux y Steam Deck.

Y esa maquinaria vive su mejor momento. DXVK 3.0, publicado en junio, estrenó un compilador de shaders nuevo que corrige fallos antes imposibles de resolver y pide Vulkan 1.4. VKD3D 2.1, llegado en agosto, profundizó en el soporte de DXIL y los mesh shaders de DirectX 12. Todo apunta en la misma dirección.

El problema es que cada vía hablaba su propio dialecto de herramientas. Un HLSL compilado y verificado con la infraestructura estándar de LLVM es un HLSL en el que las capas de traducción pueden confiar más. De esta manera, el mismo lenguaje alimenta con garantías tanto al driver nativo de Windows como a los traductores que lo llevan a Vulkan en Linux.

El contexto ayuda a entender el entusiasmo. Valve lleva años convirtiendo Linux en una plataforma de juego seria con Proton, y la Steam Deck demostró que miles de títulos de Windows pueden vivirse fuera de Windows. Cada mejora en la cadena de shaders se nota en tiempos de carga, tirones y juegos que dejan de fallar.

Hay además una prueba silenciosa de esta convergencia. La suite de tests de LLVM ejecuta los mismos shaders HLSL sobre DirectX 12, Vulkan y Metal, incluso desde Linux gracias al puente de DirectX en WSL 2, disponible desde 2020. Tres API, un solo lenguaje, una sola batería de pruebas.

Apple también está en la ecuación gracias a Metal

macOS tampoco ejecuta DirectX, y eso no va a cambiar. Su baza es Metal, la API gráfica nativa de macOS y el puente para ella, ya existe. El compilador DXC puede generar bibliotecas Metal directamente con su flag -metal apoyándose en el conversor oficial de Apple, según documenta el propio proyecto.

Aquí es donde la jugada de LLVM cobra todo su sentido. Si HLSL se compila con herramientas estándar y abiertas, convertirlo a Metal deja de ser un ejercicio de artesanía con un fork privado. La documentación de Clang lo plantea como objetivo a largo plazo. Para ello, el compilador libre debería cubrir todos los usos actuales de DXC, incluidos Vulkan y Metal como destinos.

En febrero de este año, Microsoft anunció la creación del comité Ecma TC57 para convertir HLSL en un estándar abierto y royalty-free, con la participación de la industria en igualdad de condiciones. El anuncio habla de HLSL como un lenguaje multiplataforma cuyo futuro ya excede las fronteras de Microsoft. Once años después de adoptarlo como base de DXC, LLVM devuelve el favor acogiendo a DirectX como ciudadano de primera clase.

Flathub, la App Store de Linux que ya supera los 4.000 millones de descargas

Escribiendo el futuro con SPIR-V

Pero hay una pieza más y es la más ambiciosa. En septiembre de 2024, Microsoft anunció que DirectX 12 aceptará shaders compilados en SPIR-V, el formato abierto del grupo Khronos que ya usan Vulkan y OpenCL. El soporte será oficial cuando llegue el Shader Model 7 a DirectX 12. Mantener un formato propietario, admitió entonces el equipo de DirectX, choca con su apuesta por las tecnologías abiertas, y es una bendición para los gamers y modders.

Dos años después, el plan sigue su curso. La edición de febrero de 2026 del compilador, trajo mejoras profundas en la generación de SPIR-V para interoperar mejor con los drivers Vulkan, además del soporte de producción del Shader Model 6.9. Y Microsoft promete herramientas para traducir entre SPIR-V y DXIL en ambas direcciones durante la transición, que será larga. El precedente invita al optimismo, porque el soporte de SPIR-V en DXC lo aportó un equipo de Google y su mantenimiento sigue en manos compartidas.

El mapa queda así.

SistemaCómo recibe hoy los shaders HLSLQué aporta el hito de LLVM
WindowsDXIL directo al driver DirectX 12Compilador estándar en Clang, sin fork aparte
LinuxTraducción a Vulkan vía Proton, DXVK y VKD3DUn HLSL verificado con las mismas herramientas
macOSConversión a Metal con el conversor de AppleHLSL abierto y estándar, más fácil de convertir

No es un milagro…por ahora

Ningún backend oficial instala drivers DirectX en Linux ni resucita juegos rotos por arte de magia. Para calibrar expectativas, tres matices pesan mucho.

Primero, la paridad con DXC hoy cubre shaders de computación. Los gráficos y el trazado de rayos todavía están en la hoja de ruta, así que los estudios AAA no van a tirar su toolchain actual mañana por la mañana.

Segundo, DXIL arrastra una herencia peculiar. El formato está anclado al bitcode de LLVM 3.7, una versión de hace una década. Durante el debate de promoción se preguntó si eso congelaría el diseño de la información de depurado de LLVM, y la respuesta tranquilizó al personal. El backend degrada esa información a los intrínsecos antiguos y descarta lo que no cabe, sin bloquear al resto del proyecto.

Tercero, el Shader Model 7 con SPIR-V aún no tiene fecha. La unificación total del formato de shaders es un proyecto de varios años, no de la próxima primavera.

Aun así, la dirección es inequívoca. Cada pieza, el backend oficial, el HLSL estandarizado y el SPIR-V como horizonte, reduce la fricción de publicar un juego fuera de Windows. Y de algo podemos estar seguros: los gamers de Linux y macOS lo agradecerán.

Nueva generación de consolas: PS6, Xbox y la crisis de la RAM

Comparte esto: