
A Wine és Linux alatt futó Windows-játékok teljesítményének egyik kulcseleme, a DXVK legújabb, 2.7-es verziója most vált elérhetővé, és számos fontos újítással, hibajavítással, valamint játékkompatibilitási fejlesztéssel érkezik. A DXVK egy olyan Vulkan-alapú implementáció, amely a Direct3D 9, 10 és 11 API-kat fordítja le Vulkanra, így lehetővé téve, hogy a Windows-játékok hatékonyan fussanak Linuxon, főként a Wine vagy Proton környezetekben.
CPU-terhelés csökkentése és új Vulkan-kiterjesztések
A kiadás egyik legfontosabb újdonsága a VK_EXT_descriptor_buffer Vulkan-kiterjesztés alapértelmezett engedélyezése az újabb AMD és NVIDIA grafikus kártyákon. Ez a fejlesztés jelentősen csökkenti a CPU-terhelést olyan játékokban, mint a Final Fantasy XIV, God of War, Metaphor: ReFantazio és Watch Dogs 2. Fontos megjegyezni, hogy ez a funkció nem kerül bekapcsolásra régebbi GPU-kon (például NVIDIA Pascal, AMD RDNA2 vagy régebbi), különösen akkor, ha AMDVLK vagy az AMD Windows illesztőprogram kerül használatra, mivel egyes esetekben ezeknél teljesítményromlást okozhat. A RADV illesztőprogram viszont mentes ezektől a problémáktól.
Új fejlesztések és eltávolított régi funkciók
A DXVK 2.7 az Intel újabb Battlemage és Lunar Lake GPU-in alapértelmezetten bekapcsolja a memória töredezettségmentesítést, amely optimalizálja az erőforráskezelést. Emellett kikerül a korábbi „state cache” nevű örökségi funkció, és új támogatás érkezik a planáris videó kimeneti nézetekhez.
További újítás, hogy a D3D11 shader-ekben alapértelmezetté válik a változók és csoportosított memóriák nullára inicializálása, amely stabilabb működést eredményezhet komplex grafikai jeleneteknél. Továbbá implementálták az ID3DDestructionNotifier interfész támogatását, amely a Direct3D környezetben a szétrombolás (destruction) eseményeinek kezeléséhez szükséges.
Kompatibilitás és optimalizáció
A DXVK mostantól nem sorolja fel azokat a Vulkan-eszközöket, amelyek nem támogatják a DXVK működéséhez szükséges jellemzőket – így elkerülhetők a későbbi hibák és inkompatibilitási problémák. Kijavították egy érvénytelen Vulkan-használat problémáját is, amely a Modulus nevű játékban jelentkezett. A Source Engine-alapú játékok esetében (pl. Half-Life 2, Portal, Team Fortress 2) optimalizálták a D3D9 StretchRect viselkedését több mintavételezési (multisample) esetekben, ezzel gyorsabb képkocka-másolást biztosítva.
Windows alatt AMD Polaris és Vega GPU-k esetében mostantól kötelező a VK_KHR_maintenance5 Vulkan-kiterjesztés. A DXVK ezen kívül szigorúbban figyelembe veszi a VRAM-foglalási kereteket, különösen Unity-alapú játékokban, ahol ez gyakran befolyásolja a teljesítményt VRAM-korlátos rendszerekben.
Továbbfejlesztett játékkompatibilitás
A 2.7-es kiadás számos játékban javítja a kompatibilitást és a stabilitást, többek között a következő címeknél:
- Astebreed
- GTR – FIA GT Racing Game
- LEGO City Undercover
- Star Trek: Starfleet Command III
- Test Drive Unlimited 2
- Wargame: European Escalation
Telepítés és frissítés
A DXVK 2.7 már elérhető forráskódként a GitHub projektoldalán. Azon felhasználók, akik Linux disztribúciójuk szoftvertárolóin keresztül használják a DXVK-t (például Arch Linux, Fedora, openSUSE), várniuk kell, amíg a frissítés bekerül a hivatalos csomagok közé. Ha azonban saját Wine vagy Proton környezetben használja, a frissítést manuálisan is elvégezheti a kiadott binárisokkal.
A DXVK 2.7 tehát ismét egy jelentős előrelépés a Linuxon történő játékfuttatás terén, különösen azok számára, akik nagy grafikai igényű, modern címeket szeretnének zökkenőmentesen élvezni nyílt operációs rendszeren.
A következő Linux-illesztőprogramok támogatottak:
Illesztőprogram | Szükséges verzió | Ajánlott verzió |
---|---|---|
AMD (RADV) | 24.0 | 24.0 |
Nvidia | 535.183.01 | 560.35.03 |
Intel (ANV) | 24.0 | 24.0 |
Vulkan kiterjesztések és illesztőprogram támogatás a DXVK számára
Alapvető Vulkan kiterjesztések: A DXVK 2.5 helyes működéséhez az alábbi kiterjesztések szükségesek, melyeket minden, a táblázatban említett illesztőprogram támogat.
- VK_EXT_robustness2: A DXVK nem működik ezen kiterjesztés nélkül. Különösen a nullDescriptor és a robustBufferAccess2 funkciók szükségesek.
- VK_EXT_transform_feedback: Elengedhetetlen a D3D10 és D3D11 támogatásához.
Opcionális Vulkan kiterjesztések: Az alábbi kiterjesztések nem szükségesek, de jobb játékélményt biztosíthatnak.
- VK_KHR_maintenance5: A DXVK 2.5 néhány garanciára támaszkodik, amit ez a kiterjesztés nyújt.
- VK_EXT_graphics_pipeline_library: Csökkenti a shader-kompilálás okozta akadozást, amennyiben a driver támogatja a graphicsPipelineLibraryIndependentInterpolationDecoration funkciót.
- VK_EXT_memory_budget: Segíti a memória menedzsmentet a belső driver allokációk és külső alkalmazások VRAM követelményeinek kezelésében.
- VK_EXT_shader_module_identifier: Tovább javítja a teljesítményt grafikuspipeline könyvtárak használatakor, különösen 32-bites játékokban.
- VK_EXT_extended_dynamic_state3: Akadozás csökkentésére alkalmas grafikuspipeline könyvtárak támogatása esetén.
- VK_EXT_swapchain_maintenance1: Javítja a teljesítményt és a helyes működést olyan játékokban, amelyek gyakran kapcsolják ki-be a Vsync-et.
Egyéb illesztőprogramok támogatása
- AMDVLK: Általában jó kompatibilitást és teljesítményt nyújt. A 2024.Q1.3 vagy újabb verzió ajánlott a VK_EXT_graphics_pipeline_library támogatásához. RX 5000 vagy újabb GPU szükséges.
- AMDGPU-PRO: Közepes kompatibilitás és teljesítmény. Bizonyos játékoknál jobb teljesítményt nyújthat más driverekhez képest. RX 5000 vagy újabb GPU szükséges.
- NVK: A 24.1-es verziótól kezdve sok játék futtatható, de az erőforrásigényesebb címekben alacsonyabb teljesítmény várható.
Megjegyzés: A DXVK nem biztosít elsődleges támogatást Android vagy mobilgrafikus driverekhez.
Az Nvidia Kepler architektúrája (a legtöbb GTX 600 / 700 sorozat) már nem támogatott. Ezzel a GPU-kkal szerelt kártyákhoz a DXVK 1.10.3 verziója használható. Ezzel a verzióval kapcsolatban a Vulkan 1.1 képes illesztőprogram a feltétel.
Illesztőprogram | Szükséges verzió | Ajánlott verzió |
---|---|---|
AMD (RADV) | 20.2 | 22.0 |
Nvidia | 470.82 | 510.47.03 |
Intel (ANV) | 22.0 | 22.0 |
