CodeWeavers palīdz DirectX 12 Windows spēlēm darboties operētājsistēmā Linux

CodeWeavers, CrossOver izstrādātāji, strādā pie DirectX 12 uzlabojumiem CodeWeavers un Wine saderības slāņos.

CodeWeavers CrossOver ir viens no populārākajiem veidiem, kā palaist Windows lietojumprogrammas citās operētājsistēmās. Tas apvieno lielisko atvērtā koda darbu Vīna projekts (kurā CrossOver izstrādātāji pievieno kodu) ar vieglāk lietojamu saskarni un priekšējo daļu. CodeWeavers izlaida CrossOver 21 vēl augustā, un tagad uzņēmums ir dalījies ar informāciju par savu darbu, lai nodrošinātu modernu spēļu atbalstu Linux un Mac.

Daudzas jaunākās Windows spēles (un citas lietojumprogrammas, kurās ir daudz grafikas) ir balstītas uz DirectX 12, jaunāko Microsoft DirectX grafikas bibliotēka, kas izmanto zemāka līmeņa API, lai panāktu ātrāku veiktspēju. DirectX ir pieejams tikai operētājsistēmā Windows (un Xbox konsolēs), tāpēc Wine saderības slānis izmanto VKD3D grafikas bibliotēka, lai izpildītu Direct3D zvanus virs Vulkan (kas ir pieejams operētājsistēmās Linux, Windows un citās platformas). Vkd3d bibliotēka ir

galvenokārt izstrādāja Valve Software par to Protonu saderības slānis, un VKD3D straujais progress ir galvenais iemesls, kāpēc tik daudzas Windows spēles tagad var spēlēt operētājsistēmā Linux.

Lai gan CrossOver jau ietver VKD3D, CrossOver oficiāli neatbalsta DirectX 12 spēles, kamēr tās izstrādātāji izdomā dažas veiktspējas problēmas saskaņā ar jaunu emuāra ieraksts:

CrossOver izmanto VKD3D, lai palaistu DirectX 12 spēles. VKD3D ir 3D grafikas bibliotēka, kuras pamatā ir Vulkāns. Pašlaik tiek veikts liels darbs, lai uzlabotu VKD3D veiktspēju. Ar Vulkāna palīdzību deskriptora indeksēšanas paplašinājums, kas nodrošina funkcionalitāti, kas ir līdzīga DirectX 12 deskriptoru kaudzēm, Vulkan deskriptori tiek rakstīti retāk un tiek izmantots daudz mazāk GPU atmiņas. Rezultātā VKD3D var atbalstīt spēles, kurās tiek izmantots pietiekami daudz deskriptoru, lai pieprasītu resursus no 2. un 3. līmeņa aparatūras.

CrossOver plāno oficiāli sākt atbalstīt DirectX 12 spēles un lietojumprogrammas operētājsistēmā Linux 2022. gadā, nākotnē izlaižot CrossOver 22. Tomēr uzņēmums nav tik pārliecināts, kad VKD3D darbosies Mac datorā. Apple vispār neatbalsta Vulkan operētājsistēmā macOS (vai iOS), tā vietā lūdzot izstrādātājus to izmantot Metāla grafikas bibliotēka. Tā ir CrossOver problēma, kā teikts emuāra ziņojumā:

Kopumā Metal veic teselāciju atšķirīgi, un tam trūkst ģeometrijas ēnotāju un pārveidošanas atgriezeniskās saites. Īpaši DirectX 12 un Metal ir problēma ar resursu ierobežojumiem. Parasti spēlēm ir nepieciešama piekļuve vismaz vienam miljonam ēnotāju resursu skatījumu (SRV). Lai piekļūtu tik daudzām SRV, ir nepieciešama resursu saistīšana 2. līmenī. Metāls atbalsta tikai aptuveni 500 000 resursu vienā argumentu buferī, tāpēc 2. līmeņa resursu saistīšana nav iespējama. Metāla pusmiljona robeža ir pietiekama Vulkan deskriptora indeksēšanai, bet ne D3D12. Šis ierobežojums nozīmē, ka CrossOver Mac nevar atbalstīt 2. līmeņa saistīšanu, un tāpēc daudzas DirectX 12 spēles nedarbosies.

Neskatoties uz šiem izaicinājumiem, CodeWeavers cer, ka DirectX 12 spēles un lietojumprogrammas varētu darboties Mac datorā ar nākamo CrossOver 23 atjauninājumu. Jaunas galvenās CrossOver versijas parasti tiek izlaistas katru gadu, tātad, visticamāk, tas notiks 2023. gadā.

Pat ja neizmantojat CrossOver, lielākā daļa CodeWeavers izstrādāto saderības uzlabojumu tiek iesniegti atpakaļ projektam Wine. Tas nozīmē, ka uzņēmuma darbs varētu palīdzēt uzlabot Windows spēles vietnē Lutris Steam Deck konsole, PlayOnLinux un citi projekti, kuru pamatā ir Wine. Tomēr, tiklīdz būs pieejams pilns DirectX 12 atbalsts, CrossOver varētu būt pārliecinoša izvēle, lai spēlētu Windows spēles operētājsistēmā Linux ārpus Steam.