CodeWeavers está ayudando a que los juegos de Windows con DirectX 12 se ejecuten en Linux

CodeWeavers, los desarrolladores de CrossOver, está trabajando en mejoras a DirectX 12 en las capas de compatibilidad de CodeWeavers y Wine.

Tejedores de código Transversal es una de las formas más populares de ejecutar aplicaciones de Windows en otros sistemas operativos. Combina el excelente trabajo del código abierto. Proyecto vitivinícola (al cual los desarrolladores de CrossOver contribuyen con el código) con una interfaz y un front-end más fáciles de usar. CodeWeavers lanzó CrossOver 21 en agosto, y ahora la compañía ha compartido detalles sobre su trabajo para llevar soporte de juegos modernos a Linux y Mac.

Muchos juegos recientes de Windows (y otras aplicaciones con muchos gráficos) dependen de DirectX 12, la última versión de Biblioteca de gráficos DirectX de Microsoft, que utiliza API de nivel inferior para lograr un rendimiento más rápido. DirectX sólo está disponible en Windows (y consolas Xbox), por lo que la capa de compatibilidad de Wine utiliza VKD3D biblioteca de gráficos para ejecutar llamadas Direct3D sobre Vulkan (que está disponible en Linux, Windows y otros plataformas). La biblioteca Vkd3d es

desarrollado principalmente por Valve Software por su Capa de compatibilidad de protones, y el rápido progreso en VKD3D es la razón principal por la que tantos juegos de Windows ahora se pueden reproducir en Linux.

Aunque CrossOver ya incluye VKD3D, CrossOver no es compatible oficialmente con juegos DirectX 12 mientras sus desarrolladores descubren algunos problemas de rendimiento, según un nuevo entrada en el blog:

CrossOver usa VKD3D para ejecutar juegos DirectX 12. VKD3D es una biblioteca de gráficos 3D construida sobre vulcano. Actualmente, se está trabajando mucho para mejorar el rendimiento de VKD3D. Con la ayuda del Vulkan extensión de indexación de descriptores, que permite una funcionalidad similar a los montones de descriptores de DirectX 12, los descriptores de Vulkan se escriben con menos frecuencia y se utiliza mucha menos memoria de GPU. Como resultado, VKD3D puede admitir juegos que utilizan suficientes descriptores como para requerir recursos del hardware de Nivel 2 y 3.

CrossOver planea comenzar oficialmente a admitir juegos y aplicaciones DirectX 12 en Linux en 2022, con el lanzamiento futuro de CrossOver 22. Sin embargo, la compañía no está tan segura de cuándo funcionará VKD3D en Mac. Apple no admite Vulkan en absoluto en macOS (o iOS), sino que pide a los desarrolladores que utilicen su Biblioteca de gráficos metálicos. Eso es un problema para CrossOver, como continúa diciendo la publicación del blog:

En general, Metal realiza la teselación de manera diferente y le faltan sombreadores de geometría y retroalimentación de transformación. Específicamente para DirectX 12 y Metal, existe un problema con los límites de recursos. Generalmente, los juegos necesitan acceso a al menos un millón de vistas de recursos de sombreado (SRV). El acceso a esa cantidad de SRV requiere la vinculación de recursos en el nivel 2. Metal solo admite alrededor de 500 000 recursos por búfer de argumentos, por lo que la vinculación de recursos de nivel 2 no es posible. El límite de Metal de medio millón es suficiente para la indexación de descriptores de Vulkan, pero no para D3D12. Esta limitación significa que CrossOver Mac no admite el enlace de nivel 2 y, por lo tanto, muchos juegos DirectX 12 no se ejecutarán.

A pesar de estos desafíos, CodeWeavers tiene la esperanza de que los juegos y aplicaciones DirectX 12 puedan funcionar en Mac con la futura actualización CrossOver 23. Las nuevas versiones principales de CrossOver generalmente ocurren anualmente, por lo que probablemente sería en 2023.

Incluso si no utiliza CrossOver, la mayoría de las mejoras de compatibilidad desarrolladas por CodeWeavers se envían al proyecto Wine. Eso significa que el trabajo de la compañía podría ayudar a mejorar los juegos de Windows en Lutris, el Consola Steam Deck, PlayOnLinux y otros proyectos basados ​​en Wine. Dicho esto, una vez que llegue la compatibilidad total con DirectX 12, CrossOver podría ser una opción convincente para jugar juegos de Windows en Linux fuera de Steam.