DXVK 3.0 is out, RDNA1 and RDNA2 users on Windows should avoid it

DXVK 3.0 release brings descriptor heap support and D3D9 fixes

DXVK 3.0 has been released as a major update for the Direct3D-to-Vulkan translation layer used by Wine, Proton and other compatibility tools. Although DXVK is mostly associated with Linux gaming, it can also be used on Windows by placing replacement Direct3D DLL files inside a game folder.

Shader compiler changes

DXVK 3.0 now uses dxbc-spirv for shader compilation across all supported shader models. According to the release notes, this fixes several rendering issues caused by undefined game behavior or invalid FXC output.

The new compiler can also reduce system memory use by around 1GB in games such as Overwatch and God of War. Shader compilation now runs on worker threads, which may reduce start-up times or stutter.

Descriptor heap support and D3D9 fixes

DXVK 3.0 now uses VK_EXT_descriptor_heap by default on supported drivers. The descriptor buffer path from DXVK 2.7 is now deprecated and will be removed later. NVIDIA users need driver 595.84 or newer.

D3D9 also gets several changes, including fixed-function pipeline handling through ubershaders. DXVK also changes some buffer uploads to better match Windows behavior, which can fix crashes in some 32-bit D3D9 games and improve performance without Resizable BAR in games such as GTA IV.

Frame limiter and Intel GPU changes

DXVK 3.0 removes the DXVK_FRAME_RATE environment variable used for the built-in frame rate limiter. The project now recommends external limiters such as Gamescope or MangoHud, which should usually provide smoother frame pacing. Users who still want to use DXVK’s built-in limiter can set dxvk.maxFrameRate = n in the configuration file.

DXVK will also no longer spoof the vendor ID of Intel GPUs through DXGI for games with XeSS 2 support . This workaround was needed for older XeSS versions, but it started causing problems in some D3D12 games.

RDNA1 and RDNA2 warning applies to Windows

DXVK 3.0 generally works on AMD RDNA1 and RDNA2 GPUs under Windows, but the project says AMD’s Windows driver for these GPUs no longer receives feature updates. As a result, they can only use the slower legacy binding model and may suffer severe performance issues.

RDNA1/2 on Windows
While this release will generally work, AMD’s Windows driver for these GPUs no longer receives feature updates, can only use the slow legacy binding model, and suffers from severe performance issues that are not seen on any other driver. Affected users should stick to DXVK 2.x or consider moving to Linux.

If you feel confused why there’s a disclaimer for Windows, well, some users use DirectX to Vulkan translation on Windows and those users specifically owning older Radeon GPUs should stick to older version. In short, Vulkan 1.4 is not available for those GPUs and this version is required for DXVK 3.0.

Source: DXVK GitHub