Valve ya está trabajando para que Proton soporte Direct3D 12 mediante Vulkan
A pesar de que Vulkan es muy capaz, la industria de los videojuegos sigue apostando de manera clara por DirectX, la API privativa de Microsoft. En consecuencia, Valve ha tenido que impulsar “traductores” a Vulkan para mejorar el rendimiento de los videojuegos ejecutados con Proton, entre los que destacan DXVK, que renderiza (o traducir) instrucciones Direct3D 10 y 11, y D9VK, que hace lo mismo con la novena versión de la API de gráficos 3D de Microsoft.
Los grandes cambios introducidos en DirectX 12 y el no soporte inicial para Windows 7 hicieron que la mayoría de las desarrolladoras siguieran apostando por DirectX 11, pero todo apunta a que la duodécima versión de la API se extenderá en los próximos años, así que a Valve le interesa empezar a preparar su traductor para garantizar el correcto funcionamiento de los juegos que lo utilicen en Proton.
Para soportar Direct3D 12 en Proton, Valve ha tomado la decisión de bifurcar VKD3D, un traductor que tiene su origen entre los propios desarrolladores de Wine. La historia de VKD3D es un poco trágica debido a que su creador, Józef Kucia, falleció hace unos meses, por lo que Valve ha tenido que financiar o contratar a desarrolladores para impulsar su desarrollo (todo apunta a que ya ha movido ficha en ese sentido). El objetivo de la compañía tras Steam es la de ejecutar Cyberpunk 2077 con Proton, ya que el esperado título de CD PROJEKT RED solo usará DirectX 12 como API.
En el repositorio dedicado a la bifurcación de VKD3D en GitHub se explica que “el rendimiento y la compatibilidad son objetivos importantes, a expensas de la compatibilidad con controladores y sistemas más antiguos. Las extensiones y funciones modernas de Vulkan se utilizan de forma agresiva para mejorar el rendimiento y la compatibilidad. Se recomienda utilizar los controladores más recientes para obtener la mejor experiencia. La compatibilidad con versiones anteriores de la API que tenía la versión independiente de VKD3D no es un objetivo de este proyecto.”
Al parecer el esfuerzo del equipo apoyado por Valve se centrará en la compatibilidad con Direct3D 12 descartando anteriores versiones de la API de Microsoft, cosa que no tendría que sorprender al existir otros traductores ya maduros que hacen ese trabajo. En lo de la exigencia a nivel de drivers posiblemente se refiera a tener la última versión del driver oficial de NVIDIA sobre Pascal, Turing y Ampere (las arquitecturas en un principio realmente hechas para soportar Vulkan) y a obtener la última versión de RADV (Vulkan para AMD) mediante la versión más reciente de Mesa. Por otro lado, según cuentan en Phoronix, los desarrolladores podrían centrarse en la ejecución de videojuegos debido a que el VKD3D original tenía un propósito más general.
En resumidas cuentas, Valve ya ha puesto en marcha la maquinaria para que Proton pueda ejecutar correctamente los videojuegos que utilizan DirectX 12. Como ya hemos dicho en varias ocasiones, lo importante no es que el soporte vaya perfecto desde el primer día, sino que su evolución y mejora no se detenga.
Activar Proton/Steam Play en GNU/Linux es muy fácil. Solo hay que iniciar el cliente de Steam, dirigirse a los Parámetros de la aplicación, ir a la sección ‘Steam Play’, pulsar sobre “Activar Steam Play para todos los demás títulos”, seleccionar la versión de Proton más reciente y pulsar sobre el botón Aceptar. La aplicación pedirá reiniciarse, y tras eso el usuario tendrá a disposición todos los títulos que no tienen versión nativa para GNU/Linux y no están en la lista blanca de Valve.