Software 43434 Published by

DXVK 2.7 has been released with a range of enhancements aimed at optimizing performance and ensuring better compatibility with games. The Vulkan extension VK_KHR_maintenance5 is now mandatory, and the fallbacks enabling older drivers to operate have been eliminated. The upcoming changes will predominantly impact Windows users utilizing AMD Polaris and Vega GPUs, for which AMD has officially ceased driver support.

Descriptor management has undergone a comprehensive rewrite and modernization, with VK_EXT_descriptor_buffer now serving as the default on the latest AMD and Nvidia graphics cards. Memory defragmentation is now enabled by default on Intel Battlemage and Lunar Lake GPUs, whereas this feature remains disabled on older Intel GPUs. DXVK adheres to the VRAM budget reported by the driver and efficiently manages resources by dynamically relocating unused assets to system memory during periods of memory constraint.





The removal of legacy features, including the state cache and the d3d9.forceSwapchainMSAA option, has been implemented to alleviate maintenance challenges. Recent updates include improvements like adding support for planar video output views, making sure all variables and group-shared memory start at zero, optimizing D3D9 StretchRect in certain multisample resolve situations, and adding the ID3DDestructionNotifier interface.

DXVK has introduced support for AVX builds; however, DirectComposition is not functional on Windows or in environments lacking dcomp support. Additional enhancements comprise resolved crashes in multiple games, along with rectified issues in GTR, LEGO City Undercover, Star Trek: Starfleet Command III, Test Drive Unlimited 2, and Wargame: European Escalation.

DXVK Version 2.7

Driver support

The Vulkan extension VK_KHR_maintenance5 is now required. DXVK has been relying on guarantees made by this extension since version 2.5, so in order to remove some maintenance burden, fallbacks that would allow older drivers to run were now removed.

Please check the  driver support page on the Wiki for details.

Note: These changes will primarily affect Windows users on AMD Polaris and Vega GPUs, for which AMD has effectively discontinued driver support. On Linux, these older GPUs will keep working on RADV when using Mesa 25.0 or newer.

Due to a growing number of compatibility issues with the AMD Windows driver in general, supporting it is no longer a priority.

Binding model changes

Descriptor management was largely rewritten and modernized. On newer AMD and Nvidia cards, VK_EXT_descriptor_buffer is now used by default, which significantly reduces CPU overhead compared to the legacy binding model and may thus improve CPU-bound performance in games such as Final Fantasy XIVGod of WarMetaphor: ReFantazioWatch Dogs 2 and others.

This feature remains disabled on older GPUs due to severe performance regressions in some cases, specifically on Nvidia Pascal or older, as well as AMD RDNA2 or older when using AMDVLK or the AMD Windows driver. RADV is unaffected by these issues.

Note: A small hit to GPU-bound performance is expected in some cases, in exchange for more consistent overall performance. Users can override the default behaviour with the dxvk.enableDescriptorBuffer option. Enabling Resizeable BAR on supported systems is strongly recommended.

Memory management

Memory defragmentation is now enabled by default on Intel Battlemage and Lunar Lake GPUs. On older Intel GPUs, this feature remains disabled as it may cause rendering issues for unknown reasons, see  #4395.

On discrete GPUs, DXVK will now enforce the driver-reported VRAM budget as much as possible, and dynamically evict unused resources to system memory when under memory pressure. This should improve performance in many Unity Engine titles on VRAM-constrained systems, and may allow for higher texture quality settings to be used in some games. Temporary slowdowns and stutters are still expected when exceeding VRAM capacity.

Note: This feature currently does not work as intended on AMD GPUs due to kernel driver issues.

Legacy feature removal

The state cache was introduced in  Version 0.80 to reduce shader compilation stutter, and has been largely unused since the introduction of VK_EXT_graphics_pipeline_library in DXVK 2.0. In order to reduce maintenance burden, particularly with pipeline-related changes in this release, this legacy feature was now removed.

Additionally, the d3d9.forceSwapchainMSAA option was removed. This feature was not really useful since most games either use additional render targets or provide a built-in MSAA option themselves anyway. For games that do not provide built-in MSAA, users are encouraged to use  Gamescope to run these games with a higher render resolution instead.

Bug fixes and Improvements

  • Added support for planar video output views. (PR  #4872).
    This is required for video playback in JR EAST Train Simulator.
  • D3D11 shaders will now zero-initialize all variables and groupshared memory by default in order to work around game bugs resulting in undefined behaviour. The d3d11.zeroWorkgroupMemory option was removed accordingly.
  • Optimized D3D9 StretchRect in certain multisample resolve cases encountered in Source Engine. (PR  #5023)
  • Fixed an instance of invalid Vulkan usage in Modulus, and possibly other Unity Engine games that use the D3D11 video API.
  • Implemented support for the ID3DDestructionNotifier interface.
  • Vulkan devices that lack the required feature support to run DXVK will no longer be listed as DXGI / D3D9 adapters. This may fix crashes in case an outdated graphics driver or an unsupported integrated GPU are present on the system.
  • Trying to build DXVK in a MinGW environment with AVX enabled will now result in a compile-time error.
    We cannot support AVX builds due to toolchain issues, nor is it expected to be beneficial.
  • The dxgi.enableDummyCompositionSwapchain config option was removed, CreateSwapchainForComposition will now create a swap chain for a dummy window by default.
    Note: Applications using DirectComposition will not work on Windows, or in environments where dcomp is not supported.
  • Astebreed: Fixed crash when changing graphics options. (PR  #5034)
  • GTR - FIA GT Racing Game: Worked around a game issue that would cause it to not start. (PR  #5072)
  • LEGO City Undercover: Worked around a game issue that would cause the intro video to be broken. ( #4997, PR  #5000)
  • Star Trek: Starfleet Command III: Worked around resource leak in GOG build. (PR  #5056)
  • Test Drive Unlimited 2: Worked around alt-tab issue causing input loss. (PR  #5057)
  • Wargame: European Escalation: Worked around gamma issue when the game detects an Nvidia GPU. (PR  #5055)

Release Version 2.7 · doitsujin/dxvk