DXVK 2.5 Unveils Major Memory Management Overhaul for Smoother Gaming

DXVK 2.5 optimizes memory with periodic defragmentation, enabling efficient resource use for better game performance without increasing VRAM costs.

DXVK, a Vulkan-based translation layer for Direct3D 9, 10, and 11, primarily used to improve the performance and compatibility of Windows games on Linux through Wine or Proton, just released its latest update, v2.5. It’s packed with improvements to refine resource management and overall game performance. Let’s take a look at them.

The new release comes with a completely revamped memory management system designed to use allocated video memory more efficiently. This change results in reduced memory fragmentation, which can significantly decrease peak memory usage for certain gamesโ€”for example, โ€œGod of Warโ€ may see up to a 1 GiB reduction in memory usage during extreme scenarios.

Additionally, memory defragmentation is now done periodically to return unused memory back to the system. This is not a drastic memory reduction but rather a conservative optimization that kicks in under memory pressure or when significant unused memory is detected.

However, it’s important to note that this defragmentation feature is currently disabled for Intel’s ANV driver, although users can manually enable it through the configuration file.

For optimal results, the new memory management works best on drivers that support both VK_EXT_memory_budget and VK_KHR_maintenance5, which ensures smoother functionality across games. The DXVK driver support page has been updated accordingly to reflect this.

This new release also introduces enhancements to D3D8 and D3D9 games. DXVK 2.5 now supports emulated cursors for the D3D9 cursor API, enabling games to set any arbitrary image as a cursor. This fixes long-standing cursor issues in games such as โ€œDungeon Siege 2,โ€ โ€œAct of War,โ€ and various older D3D8 games.

Another major improvement relates to Unreal Engine 3 games using D3D9. In the past, these games could pass seemingly uninitialized values as the mipmap Level of Detail (LOD) bias, leading to the creation of excessive Vulkan sampler objects.

To address this, DXVK now destroys unused Vulkan samplers dynamically while ensuring that the correct LOD bias is used, resulting in improved visual accuracy. This new solution replaces the older workaround that used to round LOD bias values, which sometimes caused visual inaccuracies.

On the bug fixes and performance enhancements side, DXVK 2.5 brings improvements for various games:

  • Fixed Rendering Issues: Titles such as โ€œAscension to the Throne,โ€ โ€œCommand & Conquer: Generals,โ€ โ€œKingโ€™s Bounty: Warriors of the North,โ€ and โ€œTomb Raider: Legendโ€ have all received targeted fixes to address specific rendering problems.
  • Nvidia Users: For driver versions 565.57.01 and newer, strict float emulation is now enabled by default to improve correctness. Additionally, a potential performance uplift may be experienced for games that already have this option enabled.
  • Mobile GPUs: Changes have been made to potentially improve performance on certain mobile GPUs, which should lead to a more optimized gaming experience.

Resource management has also been significantly overhauled for D3D11 and DXGI games. DXVK now throttles resource creation, uploading, and discarding to reduce memory pressure, which is particularly important for stability in 32-bit games like “Total War: Rome II.” Additionally, large DYNAMIC textures will no longer use staging buffers, resulting in more efficient memory use.

This update also brings several bug fixes, including implementing SEQUENTIAL swap effects for DXGI swap chains, reducing lock contention in certain games, and fixing rendering issues in games like โ€œCall of Duty: Modern Warfare 2 Campaign Remastered,โ€ โ€œDiablo 4,โ€ and โ€œThe Sims 4.โ€

Lastly, DXVK 2.5 also introduces an SDL3 backend for dxvk-native, resolves Vulkan validation errors in several games, and fixes issues related to overlapping occlusion queries. Additionally, support for VK_EXT_pageable_device_local_memory is now included to enable better driver-side memory management.

For more information on all changes in DXVK 2.5, visit the changelog.

Bobby Borisov

Bobby Borisov

Bobby, an editor-in-chief at Linuxiac, is a Linux professional with over 20 years of experience. With a strong focus on Linux and open-source software, he has worked as a Senior Linux System Administrator, Software Developer, and DevOps Engineer for small and large multinational companies.

Think You're an Ubuntu Expert? Let's Find Out!

Put your knowledge to the test in our lightning-fast Ubuntu quiz!
Ten questions to challenge yourself to see if you're a Linux legend or just a penguin in the making.

1 / 10

Ubuntu is an ancient African word that means:

2 / 10

Who is the Ubuntu's founder?

3 / 10

What year was the first official Ubuntu release?

4 / 10

What does the Ubuntu logo symbolize?

5 / 10

What package format does Ubuntu use for installing software?

6 / 10

When are Ubuntu's LTS versions released?

7 / 10

What is Unity?

8 / 10

What are Ubuntu versions named after?

9 / 10

What's Ubuntu Core?

10 / 10

Which Ubuntu version is Snap introduced?

The average score is 68%