CodeWeavers pomáhá hrám DirectX 12 pro Windows běžet na Linuxu

click fraud protection

CodeWeavers, vývojáři CrossOver, pracují na vylepšení DirectX 12 ve vrstvách kompatibility CodeWeavers a Wine.

CodeWeavers CrossOver je jedním z nejoblíbenějších způsobů spouštění aplikací Windows na jiných operačních systémech. Kombinuje vynikající práci open-source Projekt vína (do kterého vývojáři CrossOver přispívají kódem) se snáze použitelným rozhraním a frontendem. CodeWeavers vydali CrossOver 21 zpět v srpnua nyní společnost sdílela podrobnosti o své práci na zavedení podpory moderních her pro Linux a Mac.

Mnoho nedávných her pro Windows (a dalších graficky náročných aplikací) spoléhá na DirectX 12, nejnovější verzi Grafická knihovna Microsoft DirectX, který používá rozhraní API nižší úrovně k dosažení rychlejšího výkonu. DirectX je k dispozici pouze na Windows (a konzolích Xbox), takže vrstva kompatibility Wine používá VKD3D grafická knihovna pro spouštění volání Direct3D nad Vulkanem (který je k dispozici pro Linux, Windows a další platformy). Knihovna Vkd3d je primárně vyvinut společností Valve Software

pro jeho Vrstva protonové kompatibilitya rychlý pokrok na VKD3D je hlavním důvodem, proč je nyní tolik her pro Windows hratelné na Linuxu.

Přestože CrossOver již obsahuje VKD3D, CrossOver oficiálně nepodporuje hry DirectX 12, zatímco jeho vývojáři přišli na několik problémů s výkonem. blogový příspěvek:

CrossOver používá VKD3D ke spouštění her DirectX 12. VKD3D je 3D grafická knihovna postavená na ní Vulkan. V současné době se dělá spousta práce na zlepšení výkonu VKD3D. S pomocí Vulkanu rozšíření indexování deskriptoru, který umožňuje funkčnost podobnou haldám deskriptorů DirectX 12, deskriptory Vulkan se zapisují méně často a používá se mnohem méně paměti GPU. Výsledkem je, že VKD3D může podporovat hry, které používají dostatek deskriptorů k tomu, aby vyžadovaly zdroje z hardwaru úrovně 2 a úrovně 3.

CrossOver plánuje oficiálně začít podporovat hry a aplikace DirectX 12 na Linuxu v roce 2022 s budoucím vydáním CrossOver 22. Společnost si však není tak jistá, kdy bude VKD3D na Macu funkční. Apple na macOS (nebo iOS) Vulkan vůbec nepodporuje, místo toho žádá vývojáře, aby používali jeho Kovová grafická knihovna. To je problém pro CrossOver, jak se dále píše v příspěvku na blogu:

Obecně platí, že Metal dělá teselaci jinak a chybí mu geometrie shadery a transformační zpětná vazba. Specificky pro DirectX 12 a Metal je problém s omezením zdrojů. Obecně hry potřebují přístup k alespoň jednomu milionu zobrazení zdrojů shaderu (SRV). Přístup k takovému množství SRV vyžaduje vazbu zdrojů na úrovni 2. Metal podporuje pouze asi 500 000 zdrojů na vyrovnávací paměť argumentů, takže vazba zdrojů 2. úrovně není možná. Limit kovu ve výši půl milionu je dostatečný pro indexování deskriptorů Vulkan, ale ne pro D3D12. Toto omezení znamená, že CrossOver Mac nemůže podporovat vazbu Tier 2, a proto nebude možné spustit mnoho her DirectX 12.

Navzdory těmto výzvám CodeWeavers doufá, že hry a aplikace DirectX 12 by mohly být funkční na Mac s budoucí aktualizací CrossOver 23. Nové hlavní verze CrossOveru se obvykle objevují každý rok, takže to bude pravděpodobně v roce 2023.

I když nepoužíváte CrossOver, většina vylepšení kompatibility vyvinutá CodeWeavers je odeslána zpět do projektu Wine. To znamená, že práce společnosti by mohla pomoci zlepšit hry pro Windows na Lutrisu Konzole Steam Deck, PlayOnLinux a další projekty založené na Wine. Jak již bylo řečeno, jakmile dorazí plná podpora DirectX 12, CrossOver by mohl být přesvědčivou volbou pro hraní her pro Windows na Linuxu mimo Steam.