Megjelent a DXVK 2.3 verziója, amely a Steam rendszeren futtatható Windows-os játékok futtató komponense. A DXVK programkönyvtár segítségével a windows-os D3D9, D3D10 és D3D11 DirectX rendszerhívásokat fordítja át Vulkan-nal kompatibilis rendszerhívásokra. Ezt használja a Steam-be integrált, Wine köztesréteg alapú, Proton, amely lehetővé teszi a Windows-on futó játékok Linuxon futtatására. Fontos újdonság, hogy ehhez a verzióhoz már Vulkan 1.3 kompatibilis illesztőprogramok szükségesek. A DXVK 2.3-as verziója egy fontos frissítés a Windows játékok Linux alatti futtatásához. Az új verzióban számos új funkció és fejlesztés található, amelyek javítják a játékok teljesítményét és minőségét.
A DXVK 2.3 közel négy hónappal a DXVK 2.2 után érkezett meg, hogy javítsa a megjelenítési funkciókat a képkocka késleltetési események jelzése révén, amikor egy kép ténylegesen megjelenik, de csak akkor, ha a VK_KHR_present_wait Vulkan kiterjesztés támogatott és a függőleges szinkronizáció engedélyezve van. Linuxon ehhez Gamescope szükséges.
Megjelenítési fejlesztések
- Ha a VK_KHR_present_wait támogatott, és ha a függőleges szinkronizálás engedélyezve van, a képkocka késleltetési eseményeket mostantól akkor jelzi a rendszer, amikor egy képet ténylegesen bemutatnak, nem pedig akkor, amikor a GPU-n befejeződött a jelen kérést megelőző renderelési munka. Ez csökkentheti a bemeneti késleltetést néhány játékban, hatással van a dxgi.maxFrameLatency és a d3d9.maxFrameLatency opciókra is. Ez a funkció arra is szolgál, hogy a DXGI képkocka-statisztikákon keresztül pontosabban jelentse a ténylegesen bemutatott képkockák számát.
- Megjegyzés: Egyes platformokon és kompozitorokon előfordulhat, hogy a Vulkan present események nem felelnek meg a képernyőn ténylegesen megjelenített képnek, ebben az esetben a képkocka késleltetése a vártnál magasabb marad.
- Továbbá, ha a VK_EXT_swapchain_maintenance1 támogatott, a függőleges szinkronizálás engedélyezése és letiltása nem igényelheti a Vulkan swap chain újbóli létrehozását, ami a súlyos teljesítményproblémákat kerüli meg azokban a játékokban, amelyek képkockánként változtatják a jelenléti intervallumot.
- Megjegyzés: Linuxon ez jelenleg csak akkor támogatott, ha a Gamescope-ot ENABLE_GAMESCOPE_WSI=1 beállítással futtatjuk.
Beállítási változtatások
- A dxgi.nvapiHack konfigurációs beállítás elavult, és helyette egy új, kissé megváltozott viselkedésű dxgi.hideNvidiaGpu opciót adtunk hozzá, az AMD és Intel GPU-kra vonatkozó hasonló opciók mellett. Ez lehetővé teszi, hogy a jövőben szükség esetén célzottabb alkalmazásmegoldásokat valósítsunk meg pl. a XESS könyvtárakkal kapcsolatos problémákra. További részletekért tekintse meg a példakonfigurációt.
- Megjegyzés: A régi dxgi.nvapiHack opció továbbra is működik, ha a dxgi.hideNvidiaGpu nincs beállítva, de egy későbbi kiadásban eltávolításra kerül.
- Továbbá a dxgi.tearFree és a d3d9.tearFree opciókat a megjelenítési logikában bekövetkezett változások miatt egy új dxvk.tearFree opcióba vonták össze. A régi opciókat eltávolították.
Hibajavítások és javítások
- A konfigurációs beállítások mostantól megadhatók egy környezeti változóval, a DXVK_CONFIG-vel. A részletekért lásd a README-t.
- Ha a VK_EXT_depth_bias_control támogatott, akkor a mélységi torzítás skálázása most már a legtöbb helyzetben helyes lesz. Ez javítja az árnyék renderelési leleteket különböző D3D9 játékokban, és különösen fontos olyan GPU-kon, amelyek nem támogatják a 24 bites mélységformátumokat. Ez olyan játékokat érint, mint a F.E.A.R., a Far Cry 2 és az Assassin's Creed Brotherhood.
- Ha a VK_EXT_line_rasterization és a hozzá tartozó funkciók támogatottak, akkor mostantól sima vagy téglalap alakú vonalakat használ, ha az alkalmazás kéri. Ezt a funkciót a játékok általában nem használják, de hasznos lehet olyan alkalmazásoknál, mint például a pályaszerkesztők.
- Ha a VK_KHR_fenntartás5 támogatott, a DXGI_FORMAT_A8_UNORM képek mostantól a megfelelő Vulkan formátumot fogják használni.
- A D3D9 parancsok leadása mostantól ugyanúgy működik, mint a D3D11 esetében, ami több leadáshoz vezet, de általában csökkenti az erőforrások visszaolvasási késleltetését. Ez javíthatja a teljesítményt azokban a játékokban, amelyek gyakran szinkronizálnak a GPU-val.
- Kisebb problémát javítottak a D3D9 visszacsatolási hurok (feedback loop) követésével kapcsolatban.
- Kisebb problémát javítottak a D3D11 stream kimenetével kapcsolatban.
- Javított egy hibát és teljesítményproblémákat a D3D11 csempézett erőforrások implementálásával kapcsolatban.
- A HDR metaadatok jelentésével kapcsolatos különböző problémák kijavítása.
- A vkd3d HLSL fordító által generált D3D9 shaderek fordításakor bekövetkezett összeomlás javítása.
- Kulcsos mutex szinkronizáció megvalósítása az újonnan hozzáadott winevulkan funkcionalitáson felül.
- Megjegyzés: Ez csak a legújabb Proton buildekkel fog működni.
- Hozzáadtuk a különböző D3D9On12 interop interfészek stubjait. Erre a Train Simulator Classichoz van szükség.
- Hozzáadtunk egy interfészt, amely lehetővé teszi külső könyvtárak, például az NVAPI számára a HDR engedélyezését különböző D3D11 játékokban, valamint az Elden Ringben.
- Megjegyzés: Ez csak a jp7677/dxvk-nvapi@c3a1c48 vagy újabb eszközökkel együtt fog működni. Ez nem fog működni Windows alatt.
- A Total War Saga: TROY: A fák renderelésének hibája, ha az MSAA be van kapcsolva.
- Far Cry 2: javítottak a D3D10 használatakor bekövetkező összeomlást.
- Halo Online: Fixed water rendering.
- Lara Croft and the Temple of Osiris: Javított holtpontot exkluzív teljes képernyő használatakor.
- RaceRoom Racing Experience: Verseny indításakor bekövetkezett összeomlás javítása.
- Pókember: Shattered Dimensions: Javított egy regressziót, amely blokkos árnyékokat okozott.
- Test Drive Unlimited 2: javítottak a fű árnyékát.
- The Sims 2: A DXVK 2.2-ben javítottak egy regressziót, amely a terep renderelését érintette.
- Titanfall: javítottak a rosszul lefordított shader okozta összeomlást.
- Tomb Raider évfordulója: Javult a teljesítmény.
A DXVK jelenlegi kódja Vulkan 1.3 képes meghajtót, valamint Wine 7.1 vagy újabb Wine 7.1-et igényel a winevulkan támogatáshoz.
Általánosságban elmondható, hogy minél naprakészebbek a grafikus illesztőprogramok - annál jobb, és legalább az operációs rendszeredhez és a hardveredhez elérhető legújabb stabil verziót használja. Az alábbi táblázat a DXVK futtatásához minimálisan szükséges verziókat, valamint az ajánlott oszlopban a további funkciókat támogató vagy teljesítményt nyújtó verziókat sorolja fel.
A következő Linux-illesztőprogramok támogatottak:
Illesztőprogram | Szükséges verzió | Ajánlott verzió |
---|---|---|
AMD (RADV) | 22.0 | 23.1 |
Nvidia | 510.47.03 | 520.56.06 |
Intel (ANV) | 22.0 | 22.2 |
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 |
Érdemes figyelni, hogy a Proton és a DXVK fejlesztése hogyan alakul és miképpen lesz elérhető Linux-on egyre több és több Windows játék. A GitHub-on elérhető kiadás. Az újdonságok vélhetően hamarosan elérhetőek lesznek a Steam Play (Proton) alatt is.