
För några dagar sedan meddelades det Lansering av den nya versionen av DXVK 2.7, som introducerar förbättringar för Vulkan både i tillägg och drivrutiner, samt förbättringar i VRAM-hantering, kompatibilitetsfixar och mer.
För er som inte känner till DXVK, borde ni veta att kan användas för att köra 3D-applikationer och spel på Linux med Wine, fungerar som ett mer högpresterande alternativ till den Wine-baserade Direct3D 11-implementeringen som körs ovanpå OpenGL. I vissa spel skiljer sig prestandan för Wine + DXVK-paketet från Windows-versionen med endast 10–20 %, medan prestandan minskar mer markant när man använder den OpenGL-baserade Direct3D 11-implementeringen.
De viktigaste nya funktionerna i DXVK 2.7
En av de viktigaste förändringarna i DXVK 2.7 är ställa in VK_KHR_maintenance5-tillägget som ett obligatoriskt krav. Detta innebär att Drivrutiner måste ha fullt stöd för Vulkan 1.3. Som ett resultat, DXVK fungerar inte längre med äldre drivrutinsversioner. Mesa 25.0 krävs för AMD- och Intel-grafikprocessorer (RADV och ANV), eller NVIDIA-drivrutiner 550.54.14.
Denna förändring Det drabbar särskilt Windows-användare med AMD Polaris- och Vega-grafikkort., som inte längre officiellt stöds av AMD. Från och med den här utgåvan antar DXVK att Windows-plattformen med AMD-drivrutiner används på egen risk.
En annan ny funktion i DXVK 2.7 är modernisering av skuggningsbeskrivningssystemetPå med AMD- eller NVIDIA-grafikkort, DXVK aktiverar tillägget VK_EXT_descriptor_buffer som standard, en teknik som drastiskt minskar det arbete som processorn måste utföra för att hantera grafikresurser. Denna förbättring leder till en påtaglig prestandaökning i krävande spel, särskilt i system där processorn var flaskhalsenFör de som föredrar att inaktivera den här optimeringen ingår alternativet dxvk.enableDescriptorBuffer.
DXVK 2.7 Det förbättrar också minnesanvändningen, på Intel-kort Battlemage och Lunar Lake, en minnesdefragmenteringsfunktion har aktiverats Detta minskar maximal RAM-användning under längre spelsessioner, vilket ger mer resurser tillbaka till operativsystemet. Den här funktionen kan styras med hjälp av alternativet dxvk.enableMemoryDefrag.
Dessutom kommer DXVK nu, på dedikerade grafikprocessorer, att tillämpa den drivrutinsrapporterade VRAM-gränsen så mycket som möjligt, vilket möjliggör effektivare frigöring av oanvända resurser. Detta resulterar i smidigare spelupplägg för spel som de som utvecklats med Unity, särskilt på maskiner med begränsat grafikminne.
Kodrensning och riktade förbättringar
Som en del av ett försök att upprätthålla renare och modernare kod, föråldrade funktioner har tagits bort såsom alternativet d3d9.forceSwapchainMSAA och den äldre tillståndscachen, som gjordes föråldrad efter att tillägget VK_EXT_graphics_pipeline_library infördes.
också Specifika optimeringar har införlivats för att förbättra stabilitet och prestanda av spel baserade på Source-motorn, samt säkrare initialisering av shaders i Direct3D 11 tack vare automatisk ifyllning av buffertar och variabler.
Angående buggfixar och förbättringar:
- Lade till stöd för plana videoutgångsvyer.
- D3D11-shaders kommer nu som standard att nollinitiera alla variabler och gruppdelat minne för att förhindra spelbuggar som orsakar odefinierat beteende.
- Optimerade användningen av StretchRect i D3D9 i vissa multisample-lösningsfall som påträffas i Source Engine.
- Åtgärdade ett ogiltigt problem med Vulkan i Modulus och möjligen andra Unity Engine-spel som använder D3D11-video-API:et.
- Stöd för ID3DDestructionNotifier-gränssnittet har implementerats.
- Vulkan-enheter som inte har de nödvändiga funktionerna för att köra DXVK kommer inte längre att listas som DXGI/D3D9-adaptrar.
- Om man försöker kompilera DXVK i en MinGW-miljö med AVX aktiverat, kommer det att resultera i ett kompileringsfel.
Hur lägger jag till DXVK-stöd?
Installation av DXVK på Linux kan variera något beroende på distributionen och om du använder Wine, Proton eller Lutris, men här är en guide för de vanligaste fallen.
Installera DXVK med Wine
Du kan ladda ner DXVK från dess officiella GitHub-sida. Ladda ner den senaste .tar.gz-filen (i det här fallet version 2.7).
wget https://github.com/doitsujin/dxvk/releases/download/v2.7/dxvk-2.7.tar.gz
Efter att ha gjort nedladdningen kommer vi nu att packa upp det just erhållna paketet, detta kan göras med från din skrivbordsmiljö eller från själva terminalen genom att utföra följande kommando:
tar -xvf dxvk-2.7.tar.gz cd dxvk-2.7.tar.gz
Installera DXVK på ditt Wine-prefix
Förutsatt att du använder ett Wine-prefix i ~/.wine:
exportera WINEPREFIX=~/.wine ./setup_dxvk.sh installera
Detta kopierar de nödvändiga DLL-filerna (d3d9.dll, d3d10.dll, d3d11.dll, dxgi.dll) till mapparna system32 och syswow64 i ditt prefix.
Installation med Lutris (enklare)
Öppna Lutris och välj ditt spel:
- Högerklicka > Konfigurera > fliken Löparalternativ.
- Markera rutan "Aktivera DXVK".
- Du kan välja din föredragna DXVK-version därifrån.
- Spara ändringarna och kör spelet.
Installation på Steam (med Proton)
Om du använder Steam Play (Proton):
- Aktivera Steam Play för alla titlar på:
- Steam > Inställningar > Kompatibilitet > Tvinga fram Steam-uppspelning.
- Du kan ersätta den version av DXVK som ingår i Proton med en anpassad version (rekommenderas inte om du inte vet vad du gör).
- Eller låt bara Proton hantera DXVK automatiskt – det är inbyggt som standard.
Kontrollera att DXVK fungerar
För att kontrollera om DXVK är aktivt kan du starta ett spel och kontrollera mappen det körs i. Om du ser filer som d3d11.log eller dxgi.log körs DXVK korrekt.
Du kan också använda verktyg som DXVK HUD för att visa statistik på skärmen:
exportera DXVK_HUD=1
Ställ in den här variabeln innan du kör spelet med Wine eller Lutris.