A CodeWeavers segíti a DirectX 12 Windows-játékok futtatását Linuxon

click fraud protection

A CodeWeavers, a CrossOver fejlesztője a DirectX 12 fejlesztésén dolgozik a CodeWeavers és a Wine kompatibilitási rétegekben.

CodeWeavers CrossOver a Windows alkalmazások más operációs rendszereken való futtatásának egyik legnépszerűbb módja. Egyesíti a nyílt forráskód kiváló munkáját Bor projekt (amelynek kódjához a CrossOver fejlesztői hozzájárulnak) egy könnyebben használható felülettel és kezelőfelülettel. A CodeWeavers kiadta a CrossOver 21-et még augusztusban, és most a cég részleteket osztott meg arról a munkájáról, hogy modern játéktámogatást biztosítson Linuxra és Macre.

Sok újabb Windows-játék (és más, nagy grafikai igényű alkalmazás) a DirectX 12-re, a legújabb verzióra támaszkodik. A Microsoft DirectX grafikus könyvtára, amely alacsonyabb szintű API-kat használ a gyorsabb teljesítmény elérése érdekében. A DirectX csak Windowson (és Xbox konzolokon) érhető el, így a Wine kompatibilitási réteg a VKD3D-t használja grafikus könyvtár Direct3D hívások végrehajtásához a Vulkan tetején (amely elérhető Linuxon, Windowson és egyéb platformok). A Vkd3d könyvtár az

elsősorban a Valve Software fejlesztette annak Proton kompatibilitási réteg, és a VKD3D gyors fejlődése a fő oka annak, hogy olyan sok Windows-játék játszható Linuxon.

Annak ellenére, hogy a CrossOver már tartalmazza a VKD3D-t, a CrossOver hivatalosan nem támogatja a DirectX 12 játékokat, miközben a fejlesztők kitalálnak néhány teljesítményproblémát, blog bejegyzés:

A CrossOver VKD3D-t használ a DirectX 12 játékok futtatásához. A VKD3D egy 3D grafikus könyvtár, amely a tetejére épül Vulkan. Jelenleg sok munka folyik a VKD3D teljesítményének javításán. A Vulkán segítségével leíró indexelő kiterjesztés, amely lehetővé teszi a DirectX 12 leíró kupacokhoz hasonló funkcionalitást, a Vulkan leírókat ritkábban írják, és sokkal kevesebb GPU memóriát használnak. Ennek eredményeként a VKD3D támogatja azokat a játékokat, amelyek elegendő leírót használnak ahhoz, hogy erőforrásokat igényeljenek a 2. és 3. szintű hardvertől.

A CrossOver azt tervezi, hogy 2022-ben, a CrossOver 22 jövőbeli kiadásával hivatalosan is megkezdi a DirectX 12 játékok és alkalmazások támogatását Linuxon. A vállalat azonban nem biztos abban, hogy a VKD3D mikor fog működni Macen. Az Apple egyáltalán nem támogatja a Vulkan-t macOS-en (vagy iOS-en), ehelyett arra kéri a fejlesztőket, hogy használják Fém grafikai könyvtár. Ez egy probléma a CrossOver számára, ahogy a blogbejegyzés folytatja:

Általánosságban elmondható, hogy a Metal másképp csinálja a tesszellációt, és hiányzik belőle a geometriai árnyékolók és a transzformációs visszacsatolás. A DirectX 12 és a Metal esetében az erőforrások korlátaival kapcsolatos probléma. Általában a játékoknak legalább egymillió shader erőforrás-nézethez (SRV) kell hozzáférniük. Az ilyen sok SRV-hez való hozzáférés erőforrás-kötést igényel a 2. szint szintjén. A Metal csak körülbelül 500 000 erőforrást támogat argumentumpufferenként, így a 2. szintű erőforrás-kötés nem lehetséges. A fém félmilliós határa elegendő a Vulkan leíró indexeléséhez, de nem a D3D12-hez. Ez a korlátozás azt jelenti, hogy a CrossOver Mac nem támogatja a Tier 2 kötést, ezért sok DirectX 12 játék nem fut.

E kihívások ellenére a CodeWeavers abban reménykedik, hogy a DirectX 12-es játékok és alkalmazások a jövőbeli CrossOver 23 frissítéssel Mac-en is működőképesek lesznek. A CrossOver új főverziói általában évente jelennek meg, tehát valószínűleg 2023-ban.

Még ha nem is használja a CrossOvert, a CodeWeavers által kifejlesztett kompatibilitási fejlesztések többsége visszakerül a Wine projektbe. Ez azt jelenti, hogy a cég munkája segíthet a Windows-játékok fejlesztésében a Lutris-on, a Steam Deck konzol, PlayOnLinux és más Wine alapú projektek. Ennek ellenére, amint megérkezik a teljes DirectX 12 támogatás, a CrossOver lenyűgöző választás lehet a Steamen kívüli Windows-játékokhoz Linuxon.