DXVK 3.0 Released with New Shader Compiler and Vulkan 1.4 Requirement

DXVK 3.0 Released with New Shader Compiler and Vulkan 1.4 Requirement

DXVK 3.0 Released with New Shader Compiler and Vulkan 1.4 Requirement

https://linuxiac.com/dxvk-3-0-released-with-new-shader-compiler-and-vulkan-1-4-requirement/

Publish Date: 2026-06-25 16:45:00

Source Domain: linuxiac.com

DXVK has just released version 3.0, as a major update to the Direct3D-to-Vulkan translation layer widely used by Linux gamers through Wine and Proton to run Windows games on Linux.

The primary change is the adoption of dxbc-spirv for shader compilation. This replaces the previous shader translation code for all supported models and resolves rendering issues that were previously unfixable, including those caused by undefined game behavior or invalid code from Microsoft’s FXC compiler.

The new compiler generates more compact SPIR-V code, reducing DXVK’s memory usage in some games. Overwatch and God of War, for example, may see memory reductions of about 1 GB.

Moreover, shader compilation now runs entirely on worker threads. Previously, only Vulkan pipeline compilation used worker threads, while shader translation occurred on the application thread, reducing launch times in some games.

An additional significant change is the default use of the VK_EXT_descriptor_heap Vulkan extension on supported drivers, replacing the descriptor buffer-based binding model introduced in DXVK 2.7.

The descriptor heap model offers similar CPU-bound performance and reduces GPU-bound performance penalties on NVIDIA GPUs. NVIDIA driver version 595.84 or newer is required; older drivers will not use this feature due to performance regressions.

DXVK 3.0 also introduces improvements for older Direct3D 8 and 9 games. The legacy fixed-function pipeline is now managed using a pair of ubershaders, with optimized variants compiled in the background as games configure different fixed-function states.

On top of that, the D3D9 backend now features buffer upload optimizations. Several buffer types are uploaded on demand rather than placed directly in VRAM, with added logic to limit memory usage.

Shared resources now function with Wine’s upstream implementation and no longer need Proton-specific patches. The previous method remains temporarily to maintain…

Source