Itt a DXVK 2.3-as verziója

kami911 képe

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.