
Prije nekoliko dana je objavljeno Izlazak nove verzije DXVK 2.7, koji uvodi poboljšanja za Vulkan i u ekstenzijama i u drajverima, kao i poboljšanja u upravljanju VRAM-om, ispravke kompatibilnosti i još mnogo toga.
Za one koji ne znaju za DXVK, trebali biste znati da može se koristiti za pokretanje 3D aplikacija i igara na Linuxu koristeći Wine, djeluje kao alternativa visokih performansi implementaciji Direct3D 11 zasnovanoj na Wine-u koja radi preko OpenGL-a. U nekim igrama, performanse Wine + DXVK paketa se razlikuju od Windows izdanja za samo 10-20%, dok se pri korištenju implementacije Direct3D 11 zasnovane na OpenGL-u performanse značajnije smanjuju.
Glavne nove karakteristike DXVK 2.7
Jedna od ključnih promjena u DXVK 2.7 je postavljanje ekstenzije VK_KHR_maintenance5 kao obavezni zahtjev. To podrazumijeva da Drajveri moraju u potpunosti podržavati Vulkan 1.3. Kao rezultat, DXVK više neće raditi sa starijim verzijama drajvera. Za AMD i Intel GPU-ove (RADV i ANV) potreban je Mesa 25.0 ili NVIDIA drajveri 550.54.14.
Ova promjena To posebno pogađa korisnike Windowsa s AMD Polaris i Vega grafičkim karticama., koje AMD više zvanično ne podržava. Počevši od ovog izdanja, DXVK pretpostavlja da Windows platformu sa AMD drajverima koristite na vlastitu odgovornost.
Još jedna nova funkcija u DXVK 2.7 je modernizacija sistema deskriptora sjenčanjaUključeno sa AMD ili NVIDIA GPU, DXVK podrazumevano omogućava ekstenziju VK_EXT_descriptor_buffer, tehnologiju koja drastično smanjuje obim posla koji CPU mora obaviti za upravljanje grafičkim resursima. Ovo poboljšanje prevodi se u opipljivo poboljšanje performansi u zahtjevnim igramaposebno u sistemima gdje je CPU bio usko grloZa one koji preferiraju da onemoguće ovu optimizaciju, uključena je opcija dxvk.enableDescriptorBuffer.
DXVK 2.7 Takođe poboljšava korištenje memorije, na Intelovim grafičkim karticama U Battlemageu i Lunar Lakeu je omogućena funkcija defragmentacije memorije. Ovo smanjuje vršnu upotrebu RAM-a tokom produženih sesija igranja, vraćajući više resursa operativnom sistemu. Ova funkcija se može kontrolisati pomoću opcije dxvk.enableMemoryDefrag.
Osim toga, na namjenskim grafičkim procesorima, DXVK će sada što više primjenjivati ograničenje VRAM-a koje prijavljuje upravljački program, omogućavajući efikasnije oslobađanje neiskorištenih resursa. Ovo rezultira glatkijim igranjem igara poput onih razvijenih pomoću Unityja, posebno na mašinama s ograničenom video memorijom.
Čišćenje koda i ciljana poboljšanja
Kao dio napora za održavanje čistijeg i modernijeg koda, zastarjele funkcije su uklonjene kao što su opcija d3d9.forceSwapchainMSAA i keš stanja naslijeđenog stanja, koji je postao zastario nakon usvajanja ekstenzije VK_EXT_graphics_pipeline_library.
Takođe Ugrađene su specifične optimizacije za poboljšanje stabilnosti i performansi igara zasnovanih na Source engine-u, kao i sigurnija inicijalizacija shadera u Direct3D 11 zahvaljujući automatskom popunjavanju bafera i varijabli.
Što se tiče ispravki grešaka i poboljšanja:
- Dodana je podrška za planarne prikaze video izlaza.
- D3D11 shaderi će sada prema zadanim postavkama inicijalizirati sve varijable i grupirati dijeljenu memoriju nultom inicijalizacijom, kako bi se spriječile greške u igri koje uzrokuju nedefinirano ponašanje.
- Optimizovana je upotreba StretchRect-a u D3D9 u određenim slučajevima rješavanja više uzoraka koji se javljaju u Source Engine-u.
- Ispravljena je nevažeća upotreba Vulkana u Modulusu i moguće drugim Unity Engine igrama koje koriste D3D11 video API.
- Implementirana je podrška za ID3DDestructionNotifier interfejs.
- Vulkan uređaji koji nemaju potrebne funkcije za pokretanje DXVK-a više neće biti navedeni kao DXGI/D3D9 adapteri.
- Sada, pokušaj kompajliranja DXVK-a u MinGW okruženju sa omogućenim AVX-om će rezultirati greškom prilikom kompajliranja.
Kako dodati DXVK podršku?
Instaliranje DXVK-a na Linuxu može se neznatno razlikovati ovisno o distribuciji i o tome da li koristite Wine, Proton ili Lutris, ali evo vodiča za najčešće slučajeve.
Instaliranje DXVK-a pomoću Wine-a
DXVK možete preuzeti sa njegove službene GitHub stranice. Preuzmite najnoviju .tar.gz datoteku (u ovom slučaju, verziju 2.7).
wget https://github.com/doitsujin/dxvk/releases/download/v2.7/dxvk-2.7.tar.gz
Nakon što smo sada izvršili preuzimanje, raspakirat ćemo novostečeni paket, to se može učiniti iz vašeg okruženja radne površine ili sa samog terminala izvršavanjem sljedeće naredbe:
tar -xvf dxvk-2.7.tar.gz cd dxvk-2.7.tar.gz
Instalirajte DXVK na vaš Wine prefiks
Pod pretpostavkom da koristite prefiks Wine u ~/.wine:
izvoz WINEPREFIX=~/.wine ./setup_dxvk.sh instalacija
Ovo će kopirati potrebne DLL datoteke (d3d9.dll, d3d10.dll, d3d11.dll, dxgi.dll) u foldere system32 i syswow64 unutar vašeg prefiksa.
Instalacija sa Lutrisom (lakša)
Otvorite Lutris i odaberite svoju igru:
- Desni klik > Konfiguriši > kartica Opcije runnera.
- Označite okvir "Omogući DXVK".
- Odatle možete odabrati svoju željenu DXVK verziju.
- Sačuvajte promjene i pokrenite igru.
Instalacija na Steamu (koristeći Proton)
Ako koristite Steam Play (Proton):
- Aktivirajte Steam Play za sve naslove na:
- Steam > Postavke > Kompatibilnost > Prisilno igranje na Steamu.
- Verziju DXVK-a uključenu u Proton možete zamijeniti prilagođenom (ne preporučuje se osim ako ne znate šta radite).
- Ili jednostavno pustite Proton da automatski upravlja DXVK-om – to je ugrađeno po defaultu.
Provjerite da li DXVK radi
Da biste provjerili je li DXVK aktivan, možete pokrenuti igru i provjeriti mapu u kojoj se nalazi. Ako vidite datoteke poput d3d11.log ili dxgi.log, DXVK radi ispravno.
Također možete koristiti alate poput DXVK HUD-a za prikaz statistike na ekranu:
izvoz DXVK_HUD=1
Postavite ovu varijablu prije pokretanja igre s Wineom ili Lutrisom.