CodeWeavers ajută jocurile DirectX 12 Windows să ruleze pe Linux

click fraud protection

CodeWeavers, dezvoltatorii CrossOver, lucrează la îmbunătățiri ale DirectX 12 în straturile de compatibilitate CodeWeavers și Wine.

CodeWeavers CrossOver este una dintre cele mai populare moduri de a rula aplicații Windows pe alte sisteme de operare. Combină munca excelentă a open-source Proiect de vin (la care dezvoltatorii CrossOver contribuie cu cod) cu o interfață și un front end ușor de utilizat. CodeWeavers a lansat CrossOver 21 înapoi în august, iar acum compania a împărtășit detalii despre munca sa de a aduce suport pentru jocuri modern pentru Linux și Mac.

Multe jocuri Windows recente (și alte aplicații grafice grele) se bazează pe DirectX 12, cea mai recentă versiune a Biblioteca grafică DirectX a Microsoft, care utilizează API-uri de nivel inferior pentru a obține performanțe mai rapide. DirectX este disponibil numai pe Windows (și consolele Xbox), astfel încât stratul de compatibilitate Wine utilizează VKD3D bibliotecă grafică pentru a executa apeluri Direct3D pe Vulkan (care este disponibil pe Linux, Windows și alte platforme). Biblioteca Vkd3d este

dezvoltat în principal de Valve Software pentru ea Stratul de compatibilitate cu protoni, iar progresul rapid pe VKD3D este principalul motiv pentru care atât de multe jocuri Windows sunt acum redate pe Linux.

Chiar dacă CrossOver include deja VKD3D, CrossOver nu acceptă oficial jocurile DirectX 12, în timp ce dezvoltatorii săi descoperă câteva probleme de performanță, potrivit unui nou postare pe blog:

CrossOver folosește VKD3D pentru a rula jocuri DirectX 12. VKD3D este o bibliotecă grafică 3D construită pe deasupra Vulkan. În prezent, se lucrează mult pentru a îmbunătăți performanța VKD3D. Cu ajutorul Vulkanului extensia de indexare a descriptorilor, care permite funcționalități similare cu grămada de descriptori DirectX 12, descriptorii Vulkan sunt scrisi mai rar și este folosită mult mai puțină memorie GPU. Ca rezultat, VKD3D poate suporta jocuri care folosesc suficienți descriptori pentru a necesita resurse de la hardware-ul Tier 2 și Tier 3.

CrossOver intenționează să înceapă să accepte oficial jocurile și aplicațiile DirectX 12 pe Linux în 2022, odată cu lansarea viitoare a CrossOver 22. Cu toate acestea, compania nu este atât de sigură când VKD3D va fi funcțional pe Mac. Apple nu acceptă Vulkan deloc pe macOS (sau iOS), ci le cere dezvoltatorilor să-l folosească Biblioteca de grafică metalică. Aceasta este o problemă pentru CrossOver, după cum spune postarea de blog:

În general, Metal face tesselare diferit și îi lipsesc shaderele geometriei și feedback-ul de transformare. Specific pentru DirectX 12 și Metal, există o problemă cu limitele resurselor. În general, jocurile au nevoie de acces la cel puțin un milion de vizualizări de resurse shader (SRV). Accesul la atâtea SRV-uri necesită legarea resurselor la nivelul Tier 2. Metal acceptă doar aproximativ 500.000 de resurse per buffer de argument, astfel încât legarea resurselor de nivelul 2 nu este posibilă. Limita de jumătate de milion a metalului este suficientă pentru indexarea descriptorilor Vulkan, dar nu și pentru D3D12. Această limitare înseamnă că CrossOver Mac nu poate suporta legarea Tier 2 și, prin urmare, multe jocuri DirectX 12 nu vor rula.

În ciuda acestor provocări, CodeWeavers speră că jocurile și aplicațiile DirectX 12 ar putea fi funcționale pe Mac cu viitoarea actualizare CrossOver 23. Noile versiuni majore ale CrossOver au loc, de obicei, anual, așa că probabil ar fi în 2023.

Chiar dacă nu utilizați CrossOver, majoritatea îmbunătățirilor de compatibilitate dezvoltate de CodeWeavers sunt trimise înapoi în proiectul Wine. Asta înseamnă că munca companiei ar putea ajuta la îmbunătățirea jocurilor Windows pe Lutris, the Consola Steam Deck, PlayOnLinux și alte proiecte bazate pe Wine. Acestea fiind spuse, odată ce sosește suportul complet DirectX 12, CrossOver ar putea fi o alegere convingătoare pentru a juca jocuri Windows pe Linux în afara Steam.