VKD3D-Proton 2.10 llega con mejoras de compatibilidad, soporte y mas
Valve dio a conocer hace pocos días, el lanzamiento de la nueva versión de VKD3D-Proton 2.10, versión en la cual se destaca la inclusión de DirectStorage MetaCommands, mejoras de soporte, asi como también una serie de correcciones de errores y soluciones alternativas.
Para quienes aún desconocen de VKD3D-Proton deben saber que este admite cambios, optimizaciones y mejoras específicas de Proton para un mejor rendimiento de los juegos de Windows basados en Direct3D 12, que aún no se aceptan en la parte principal de vkd3d. Entre las diferencias, también hay un enfoque en el uso de extensiones Vulkan modernas y las capacidades de las versiones recientes de controladores de gráficos para lograr una compatibilidad total con Direct3D 12.
Como tal Valve usa la bifurcación especificada en el paquete basado en Wine para ejecutar los juegos de Windows Proton. El soporte de DirectX 9/10/11 en Proton se basa en el paquete DXVK y la implementación de DirectX 12 se ha basado hasta ahora en la biblioteca vkd3d (después de la muerte del autor de vkd3d, CodeWeavers continuó el desarrollo de este componente y la comunidad de wine).
Principales novedades de VKD3D-Proton 2.10
Uno de los aspectos que se destaca de la nueva versión de VKD3D-Proton 2.10, es en la API de DirectStorage que ahora ofrece la implementación del algoritmo de compresión Deflate que utiliza la extensión NV_memory_decompression (permite a la GPU realizar las tareas de descompresión de datos instalados en las unidades SSD sin pasar por el procesador). Si NV_memory_decompression no es compatible, recurre a la implementación basada en sombreadores de GDeflate.
Otro de los cambios que se destaca, es que se agregó una mejora en Starfield, pues en VKD3D-Proton 2.10 se añade la extensión NV_device_generated_commands_compute, que se puede usar para mejorar el rendimiento cuando se usa el modo ExecuteIndirect que impulsa los cambios de parámetro multi-dispatch COMPUTE + root
Ademas de ello, también se destaca que se agregó soporte para la API Root Signature 1.2, asi como también soporte para Shader Model 6.7, que cubre características como AdvancedTextureOps y WaveOpsIncludeHelperLanes.
Por la parte de las mejoras y correcciones en juegos se menciona que se resolvieron los problemas que ocurrieron en Unreal Engine 5 y los juegos Star Wars Battlefront II, Ashes of Singularity, Xenia y Armored Core VI, mientras que en las mejoras de compatibilidad están los juegos Age of Wonders 4, Starfield, Halo Infinite, Street Fighter 6, Armored Core VI, Resident Evil 4, Monster Hunter Rise.
De los demás cambios que se destacan de esta nueva versión:
- Se ha implementado la función CreateSampler2.
- Se agregó soporte para el formato A8_UNORM.
- Se corrigió la creación de firmas raíz a partir de blobs de destino de biblioteca DXIL (DXR)
- Se corrigieron algunos escenarios de PSO de combinación de fuente dual. Arreglos Star Wars Battlefront II
- Se construye la estructura de aceleración por lotes.
- Mejora enormemente del rendimiento de la compilación al menos en RADV.
- Implementar operaciones de ondas en sombreadores de píxeles de manera más estricta de acuerdo con las reglas D3D12
- Solución alternativa al mal rendimiento de ReBAR en Age of Wonders 4
- Eliminar solución alternativa para KHR_present_waitlos controladores NV 535+
- Solución alternativa al problema de corrupción de la memoria de Starfield donde no consulta correctamente la alineación de 4 KiB
- Se deshabilito el uso de ReBAR en Halo Infinite para solucionar un rendimiento de CPU muy pobre
- Se corrigieron los cuelgues falsos en Ashes of Singularity al usar cercas compartidas y esperar antes de la señal.
- Se corrigió el error de almacenamiento en caché de PSO en los sombreadores de malla. Corrige sombreadores de malla en Unreal Engine 5
- Se corrigió el resto de udiv en DXBC, lo que solucionó algunos errores de Xenia.
- Se corrigió el error de seguimiento del montón de consultas expuesto por NV Streamline
- Varias correcciones de DXIL -> SPIR-V como de costumbre
- Se reescribieron los diseños de conjuntos de descriptores para que sean más sólidos contra los errores de las aplicaciones.
Finalmente si estás interesado en poder conocer más al respecto sobre este nuevo lanzamiento, puedes consultar los detalles en el siguiente enlace.
Y si quieres probar ya Proton en Steam, ya sabes que puedes instalar el cliente de Steam desde la web oficial, aunque también lo encontrarás en los repos de la mayoría de las distros.