CodeWeavers aitab DirectX 12 Windowsi mänge Linuxis käivitada

CodeWeavers, CrossOveri arendaja, töötab DirectX 12 täiustamise nimel CodeWeaversi ja Wine'i ühilduvuskihtides.

CodeWeavers CrossOver on üks populaarsemaid viise Windowsi rakenduste käitamiseks teistes operatsioonisüsteemides. See ühendab avatud lähtekoodiga suurepärase töö Veini projekt (millele CrossOveri arendajad panustavad koodi) lihtsamini kasutatava liidese ja esiotsaga. CodeWeavers andis välja CrossOver 21 augustis tagasi, ja nüüd on ettevõte jaganud üksikasju oma töö kohta kaasaegse mängutoe toomisel Linuxile ja Macile.

Paljud hiljutised Windowsi mängud (ja muud graafikarikkad rakendused) tuginevad DirectX 12-le, mis on uusim versioon. Microsofti DirectX graafikateek, mis kasutab kiirema jõudluse saavutamiseks madalama taseme API-sid. DirectX on saadaval ainult Windowsis (ja Xboxi konsoolides), seega kasutab Wine'i ühilduvuskiht VKD3D graafikateek Direct3D kõnede käivitamiseks Vulkani peal (mis on saadaval Linuxis, Windowsis ja muudes platvormid). Vkd3d teek on peamiselt Valve Software poolt välja töötatud

selle eest Prootoni ühilduvuskiht, ja VKD3D kiire areng on peamine põhjus, miks nii palju Windowsi mänge saab nüüd Linuxis mängida.

Kuigi CrossOver sisaldab juba VKD3D-d, ei toeta CrossOver ametlikult DirectX 12 mänge, samal ajal kui selle arendajad selgitavad välja mõned jõudlusprobleemid. ajaveebi postitus:

CrossOver kasutab DirectX 12 mängude käitamiseks VKD3D-d. VKD3D on 3D graafikateek, mis on ehitatud selle peale Vulkan. Praegu tehakse VKD3D jõudluse parandamiseks palju tööd. Vulkani abiga deskriptori indekseerimislaiend, mis võimaldab DirectX 12 deskriptorihunnikutega sarnast funktsionaalsust, Vulkani deskriptoreid kirjutatakse harvemini ja GPU mälu kasutatakse palju vähem. Selle tulemusena saab VKD3D toetada mänge, mis kasutavad piisavalt deskriptoreid, et nõuda 2. ja 3. taseme riistvara ressursse.

CrossOver kavatseb ametlikult alustada DirectX 12 mängude ja rakenduste toetamist Linuxis 2022. aastal koos tulevase CrossOver 22 väljalasega. Ettevõte pole aga nii kindel, millal VKD3D Macis töötab. Apple ei toeta macOS-is (või iOS-is) Vulkanit üldse, selle asemel palub arendajatel seda kasutada Metallist graafika raamatukogu. See on CrossOveri probleem, nagu blogipostitus edasi ütleb:

Üldiselt teeb Metal tessellatsiooni erinevalt ning sellel puuduvad geomeetriavarjutajad ja teisenduste tagasiside. DirectX 12 ja Metalli puhul on probleem ressursside piirangutega. Üldiselt vajavad mängud juurdepääsu vähemalt ühele miljonile varjundiressursivaatele (SRV). Juurdepääs paljudele SRV-dele nõuab ressursside sidumist 2. taseme tasemel. Metal toetab vaid umbes 500 000 ressurssi argumendipuhvri kohta, seega pole 2. taseme ressursside sidumine võimalik. Metalli limiit pool miljonit on piisav Vulkani deskriptori indekseerimiseks, kuid mitte D3D12 jaoks. See piirang tähendab, et CrossOver Mac ei saa toetada Tier 2 sidumist ja seetõttu ei tööta paljud DirectX 12 mängud.

Vaatamata nendele väljakutsetele loodab CodeWeavers, et DirectX 12 mängud ja rakendused võivad tulevase CrossOver 23 värskendusega Macis töötada. CrossOveri uued suuremad versioonid ilmuvad tavaliselt igal aastal, nii et tõenäoliselt 2023. aastal.

Isegi kui te CrossOverit ei kasuta, saadetakse enamik CodeWeaversi välja töötatud ühilduvuse täiustustest tagasi Wine'i projekti. See tähendab, et ettevõtte töö võib aidata täiustada Windowsi mänge Lutris Steam Decki konsool, PlayOnLinux ja muud Wine'il põhinevad projektid. Nagu öeldud, kui DirectX 12 täielik tugi saabub, võib CrossOver olla kaalukas valik Windowsi mängude mängimiseks Linuxis väljaspool Steami.