Los Usuarios de Linux podrán utilizar FSR 4 y Anti-Lag de AMD en RDNA3 y RDNA2 gracias a VKD3D-Proton 3.0

0
28

Hans-Kristian Arntze, un desarrollador de Valve, lanzó hoy la versión 3.0 de VKD3D-Proton, la capa de traducción de Vulkan a DirectX 12 utilizada en Proton de Valve. Los interesados pueden descargarlo aquí.

Esta nueva versión añade soporte para FidelityFX Super Resolution 4 (FSR4) y Anti-Lag de AMD en juegos DirectX 12 en Linux, mientras que DLSS 4 de Nvidia todavía no cuenta con integración nativa en Proton, la capa de compatibilidad de Valve que permite ejecutar juegos de Windows en Linux y SteamOS, incluyendo Steam Deck.

El desarrollador señala que esta implementación utiliza soporte para matrices cooperativas int8 y float16, y que esto puede conllevar una pérdida de rendimiento significativa. Por lo tanto, no es oficialmente compatible con la versión predeterminada de VKD3D-Proton, y la implementación oficial actual es principalmente un primer paso para integrar FSR 4 de forma más adecuada en el propio Proton de Valve.

El soporte para FSR 4 podría no ser relevante para dispositivos como el Steam Deck, debido a la mayor pérdida de rendimiento, pero podría cobrar mayor importancia con el lanzamiento de la Steam Machine, que aún utiliza núcleos de GPU RDNA 3, pero se espera que ofrezca un rendimiento similar al de una AMD Radeon RX 7600M.

Benchmarks FSR 3 Vs. FSR 4

ComputerBase ha comparado pruebas de rendimiento iniciales utilizando la variante INT8 de FSR 4 en una Radeon RX 7900 XTX y una Radeon RX 9070 XT. La tarjeta gráfica RDNA 4 también se comparó con la FSR 4 «FP8», oficialmente compatible.

En Cyberpunk, la versión INT8 es ligeramente más lenta que su contraparte FP8, pero el retraso en la RX 9070 XT es muy bajo. Esto también pone en perspectiva la pérdida de rendimiento al usar FSR 4 INT8 vs. FSR 3 en la Radeon RX 7900 XTX, ya que esto se debe principalmente al cambio general a FSR 4. Se sabe que FSR 4 tiene un rendimiento inferior en comparación con FSR 3, pero definitivamente se ve mucho mejor.

Benchmarks con RX 6800 – TAA Vs FSR 3.1 Vs FSR 4

Kena: Bridge of Spirits FPS P1 FPS P0.1 FPS
FSR 3.1.5 Quality 35.2 22.5 16.9
FSR 4 Performance 33.0 22.9 17.4
FSR4 Quality 29.9 20.4 16.2
TAA Native 29.9 19.4 15.9

Para GPU más antiguas, existe una ruta de emulación opcional que utiliza matrices cooperativas int8 y float16. Esta opción es más lenta y no está habilitada por defecto, por lo que los usuarios deben compilar VKD3D-Proton desde el código fuente con parámetros específicos para obtenerla -pero alguien tarde o temprano algún usuario la compilará y subirá.

Los usuarios de Linux con hardware RDNA 4 (Radeon RX 9000) pueden esperar FSR 4 en títulos que corran bajo DirectX 12 una vez que Proton lance una compilación con VKD3D-Proton 3.0. Para GPUs que no sean RDNA 4, FSR 4 sigue siendo experimental y está dirigido a usuarios avanzados que ejecutan compilaciones personalizadas, mientras que DLSS 4 aún depende de la compatibilidad con cada juego y de otros ajustes manuales.

Es llamativo que los desarrolladores también mencionen que esta versión incluye compatibilidad experimental con los gráficos de trabajo D3D12 aclarando que, si bien no hay juegos que utilicen esta tecnología, según las pruebas realizadas ya funciona más rápido que la implementación nativa tras convertirla a sombreadores de cómputo normales.

Compatibilidad de VKD3D-Proton con FSR4

Se ha añadido compatibilidad con las funciones intrínsecas AGS WMMA mediante VK_KHR_cooperative_matrix y VK_KHR_shader_float8, lo cual es suficiente para ser compatible con FSR4. Tengan en cuenta que estos sombreadores están programados específicamente para GPUs de AMD con cierto comportamiento definido por la implementación (especialmente en lo que respecta a la disposición de las matrices), y no necesariamente funcionarán en GPU de otros fabricantes.

También existe una solución de emulación bastante rudimentaria que se basa en la compatibilidad con matrices cooperativas int8 y float16 que puede ejecutarse en GPU antiguas con una importante pérdida de rendimiento (y cierta pérdida de precisión teórica). Tengan en cuenta que la compilación «oficial» predeterminada de vkd3d-proton solo expone esta función cuando la función nativaVK_KHR_shader_float8 es totalmente compatible, es decir, solo en RDNA4 o futuras arquitecturas de AMD.

La solución de emulación está disponible al compilar desde el código fuente con las opciones de compilación adecuadas. La decisión de no incluir esta solución de emulación de forma predeterminada no depende de mí. El objetivo es poder implementar FSR 4 de una manera más adecuada en Proton.

¿Qué es Proton?

Proton una herramienta de compatibilidad que permite a los juegos de Windows ejecutarse en sistemas operativos basados en Linux, como SteamOS, a través del cliente de Steam. Funciona como una capa que traduce las instrucciones de Windows a un formato que Linux puede entender, mejorando el rendimiento y la compatibilidad con los juegos sin que los desarrolladores necesiten crear versiones nativas para Linux.

¿Qué es VKD3D?

VKD3D es una capa de traducción que convierte llamadas de la API de gráficos Direct3D 12 (de Windows) a la API Vulkan (un estándar abierto). Su principal objetivo es permitir que juegos y aplicaciones de Windows que usan Direct3D 12 se ejecuten en sistemas operativos como Linux, a través de proyectos como Proton y Wine. Esto facilita la ejecución de juegos de Windows en plataformas como SteamOS.

source