DXVK 2.5 is now available, providing an implementation of DXGI (DirectX Graphics Infrastructure), Direct3D 8, 9, 10, and 11, working via call translation to the Vulkan API. DXVK requires drivers that support the Vulkan 1.3 API, such as Mesa RADV 24.0, NVIDIA 535.183.01, Intel ANV 24.0, AMDVLK 2024.Q1.3, AMDGPU-PRO, and NVK 24.1. DXVK can be used to run 3D applications and games in Linux using Wine, serving as a higher-performance alternative to Wine's built-in Direct3D implementations running on top of OpenGL.
Major changes:
- The memory and resource management code has been completely rewritten to work more efficiently with video memory. A defragmentation process is now launched periodically, returning unused memory to the system. Memory reclamation is initiated when the system is low on memory or when there is a large amount of unused memory (leaving a small amount of unused memory behind a process is useful for speeding up subsequent memory allocation operations).
By reducing memory fragmentation, there is a significant reduction in peak memory consumption in games such as God of War, reaching up to 1 GB in some situations. The best results from the new memory management code are achieved with drivers that support the Vulkan extensions VK_EXT_memory_budget and VK_KHR_maintenance5. The dxvk.enableMemoryDefrag setting is provided to control whether defragmentation is enabled, which is disabled for the Intel ANV driver.
- Emulated cursor support has been implemented for Direct3D 8/9, allowing you to set any image as a mouse cursor in games. The change solved problems with cursor disappearing in Dungeon Siege 2, Act of War, and some older Direct3D 8-based games.
- Strict floating point emulation is enabled by default when using NVIDIA 565.57.01 and newer drivers.
- Work has been done to improve the performance of Direct3D 8/9 on mobile GPUs.
- Direct3D 11 implements a throttling of resource creation, loading, and return operations when a certain memory allocation threshold is exceeded, improving stability and reducing memory consumption in 32-bit games.
- DXGI's SwapChain implements buffer swapping effects that allow games to read the contents of buffers that have already been rendered.
- A backend based on the SDL3 library has been added for dxvk-native.
- To improve the efficiency of memory management, the Vulkan extension VK_EXT_pageable_device_local_memory is used, if supported by the driver.
- Fixed issues that appeared in games:
- Ascension to the Throne
- Call of Duty: Modern Warfare 2 Campaign Remastered
- Command & Conquer: Generals
- Diablo 4
- Dishonored 2
- King's Bounty: Warriors of the North
- Rayman 3
- Ryse: Son of Rome
- Sekiro: Shadows Die Twice
- Tales of Arise
- The Sims 4
- Tomb Raider: Legend
- Total War: Rome II
- Vindictus
- Yakuza 0
- Yakuza Kiwami
Source: opennet.ru
