# DXVK patch notes > A Vulkan-based translation layer for Direct3D 8, 9, 10 and 11. - Vendor: Philip Rebohle - Category: Games - Platforms: Windows, Linux - Official site: https://github.com/doitsujin/dxvk - Tracked by: What's New (https://whatsnew.fyi/product/dxvk) - Harvested from: GitHub (doitsujin/dxvk) - Entries below: 10 (newest first) What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. ## Releases ### v3.0.2 — Version 3.0.2 - Date: 2026-07-17 - Version: v3.0.2 - Original notes: https://github.com/doitsujin/dxvk/releases/tag/v3.0.2 - Permalink: https://whatsnew.fyi/product/dxvk/releases/v3.0.2 - Labels: Platforms: Windows, Linux - **added** — Add DXVK_DEBUG=hang environment variable to help diagnose GPU hangs and driver crashes resulting in VK_ERROR_DEVICE_LOST errors - **fixed** — Work around performance regression in games that create a new DXGI factory every single frame, affecting Dying Light: The Beast with FSR enabled and potentially other D3D12 games - **fixed** — Fix spurious GPU hangs on Nvidia in Granblue Fantasy Relink, which may affect other games - **fixed** — Work around game bug in Halo CE causing rendering issues - **fixed** — Fix potential swapchain issue in Overwatch when running at non-native resolutions - **fixed** — Work around game bug in Splinter Cell: Chaos Theory that would cause night vision to misrender ##### Hang debugging In case of a GPU hang or driver crash resulting in `VK_ERROR_DEVICE_LOST` errors, the environment variable `DXVK_DEBUG=hang` can now be used to help narrow down the crash location. Resulting log files may provide useful information in bug reports. This works best on AMD and Nvidia GPUs. See PR #5790 for details. ##### Bug fixes and Improvements - Worked around a performance regression in games that create a new DXGI factory every single frame. This affects **Dying Light: The Beast** with FSR enabled, and potentially other D3D12 games. - **Granblue Fantasy Relink**: Fixed spurious GPU hangs on Nvidia, may affect other games. (#5785) - **Halo CE**: Worked around a game bug causing rendering issues. (PR #5783) - **Overwatch**: Fixed potential swapchain issue when running at non-native resolutions. (PR #5794) - **Splinter Cell: Chaos Theory**: Worked around a game bug that would cause night vision to misrender. (#5780) ##### Note Some Antivirus software has falsely started flagging DXVK recently, especially any 32-bit binaries, see [VirusTotal](https://www.virustotal.com/gui/file/3b61696cc6c3e836e3c62cfe70118212b3760702bfe049b04d048fc51382594c) report. ### v3.0.1 — Version 3.0.1 - Date: 2026-07-05 - Version: v3.0.1 - Original notes: https://github.com/doitsujin/dxvk/releases/tag/v3.0.1 - Permalink: https://whatsnew.fyi/product/dxvk/releases/v3.0.1 - Labels: Platforms: Windows, Linux - **changed** — Disabled secondary command buffer usage on all desktop GPUs to reduce rendering issues and GPU hangs - **fixed** — Fixed a rendering regression affecting D3D9 games including Black Mesa, Gothic 3 and GTA IV on some drivers - **fixed** — Fixed a crash when games unload D3D libraries while the D3D device is still alive - **fixed** — Fixed an issue that would cause stuttering on 32-bit Nvidia drivers with descriptor heaps enabled - **changed** — Improved GPU synchronization around stream output - **fixed** — Worked around a Windows-specific issue where sampler creation would fail on Nvidia - **fixed** — Worked around a Windows-specific Intel driver bug that would cause all games to hang after a short time with graphics pipeline libraries enabled - **fixed** — Fixed Empire Earth 2 regression where certain fixed-function setups were not handled correctly - **fixed** — Fixed Fallout 3 shader compiler regression that would cause rendering issues with MSAA - **fixed** — Fixed long-standing Fruit Ninja lighting issue - **fixed** — Fixed Kane & Lynch: Dead Men severe performance regression - **fixed** — Fixed King's Bounty: The Legend performance regression - **changed** — Enabled 60 FPS limit in Manhunt to work around game issues - **fixed** — Fixed Splinter Cell 3 rendering regression when enabling the Shader Model 3.0 option - **fixed** — Fixed Total War: Medieval II water rendering regression - **changed** — Enabled descriptor buffers on Intel Alchemist GPUs and older by default to work around ANV driver issue that may lead to GPU hangs in D3D9 games ##### Bug fixes and Improvements - Disabled secondary command buffer usage on all desktop GPUs. This may slightly impact performance in a small number of games with suboptimal MSAA resolve patterns, but has been a constant source of hard-to-debug rendering issues and GPU hangs, and the main benefits are only seen on tiling GPUs anyway. - Fixed a rendering regression affecting numerous D3D9 games (including **Black Mesa**, **Gothic 3** and **GTA IV**) on some drivers. (#5732, #5768) - Fixed a crash when games unload D3D libraries while the D3D device is still alive. (#5743) - Fixed an issue that would cause stuttering on 32-bit Nvidia drivers with descriptor heaps enabled. - Improved GPU synchronization around stream output. This may affect older Unity Engine games using D3D11. - Worked around a Windows-specific issue where sampler creation would fail on Nvidia. (#5744) **Note:** The root cause is not known, but may be linked to external overlays. - Worked around a Windows-specific Intel driver bug that would cause all games to hang after a short time with graphics pipeline libraries enabled. (#5742, #5756, PR #5757) - **Empire Earth 2**: Fixed a regression where certain fixed-function setups were not handled correctly. (#5730) - **Fallout 3**: Fixed shader compiler regression that would cause rendering issues with MSAA. (#5758) - **Fruit Ninja**: Fixed long-standing lighting issue. (#2480, PR #5765) - **Kane & Lynch: Dead Men**: Fixed severe performance regression. (#5638, PR #5764) - **King's Bounty: The Legend**: Fixed performance regression. (PR #5764) - **Manhunt**: Enabled 60 FPS limit to work around game issues. (PR #5760) - **Splinter Cell 3**: Fixed a rendering regression when enabling the Shader Model 3.0 option. (#5754) - **Total War: Medieval II**: Fixed a water rendering regression. (#5763) **Note:** An ANV driver issue was discovered that may lead to GPU hangs in some D3D9 games on Intel Alchemist GPUs and older (see Mesa [issue](https://gitlab.freedesktop.org/mesa/mesa/-/work_items/15795) and [MR](https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42665)). As a workaround, DXVK now enables descriptor buffers on those GPUs by default, however this will negatively performance. Affected users are advised to keep graphics drivers up to date. ### v3.0 — Version 3.0 - Date: 2026-06-25 - Version: v3.0 - Original notes: https://github.com/doitsujin/dxvk/releases/tag/v3.0 - Permalink: https://whatsnew.fyi/product/dxvk/releases/v3.0 - Labels: Platforms: Windows, Linux - **changed** — DXVK now uses dxbc-spirv for shader compilation, replacing the legacy shader translation code for all supported shader models - **fixed** — Fixed rendering issues in games caused by games relying on undefined behaviour or FXC generating invalid code, as seen in Postal: Brain Damaged and Snowrunner - **changed** — Generated shader code is now more compact, substantially reducing DXVK's memory footprint by around 1 GiB in games such as Overwatch and God of War - **changed** — Shader compilation is now fully offloaded to worker threads, reducing start-up time and stutter in games such as Days Gone and Final Fantasy XIV - **added** — DXVK's shader intermediate representation is now cached on disk inside the AppData/Local directory of the current Wine prefix, configurable via the DXVK_SHADER_CACHE_PATH environment variable - **added** — Shader Model 1-3 support for D3D9 - **changed** — VK_EXT_descriptor_heap extension is now used by default on drivers that support it - **deprecated** — The descriptor buffer path introduced in DXVK 2.7 is deprecated and will be removed in a future release - **changed** — D3D9 fixed-function pipeline is now implemented as a pair of ubershaders with optimized variants compiled in the background - **fixed** — Fixed stuttering in games such as Unreal Tournament 2004 caused by on-the-fly fixed-function shader generation - **changed** — Various types of buffers are now uploaded on demand with memory in-flight limiting, fixing address space-related crashes in 32-bit D3D9 games - **fixed** — The D3DRS_MULTISAMPLEANTIALIAS render state now works correctly to allow single-sampled rasterization while rendering to multisampled render targets, fixing UI rendering issues in Anno 1701 and Men of War Assault Squad - **changed** — Shared resources now work on Wine's upstream implementation without requiring Proton-specific patches - **removed** — Removed the DXVK_FRAME_RATE environment variable for frame rate limiting; users should use external limiters such as Gamescope or Mangohud instead - **fixed** — Fixed various issues with software vertex processing in D3D8/9, including in Vietcong and The I of the Dragon - **fixed** — Fixed incorrect D3D8/9 fixed-function fog calculations affecting Sea Dogs - **changed** — VK_EXT_border_color_swizzle is now used to fix border color behaviour for various emulated D3D9 texture formats - **changed** — Reduced unnecessary GPU synchronization to allow overlapping multiple independent render passes and render passes with compute shaders - **changed** — The asynchronous transfer queue is now used more aggressively to perform resource uploads into VRAM - **added** — D3D11 Class Linkage feature is now supported ##### Shader compiler changes DXVK now uses [dxbc-spirv](https://github.com/doitsujin/dxbc-spirv) for shader compilation, replacing the legacy shader translation code for all supported shader models. This fixes a number of issues that were previously impossible to address: - Rendering issues in games that are caused either by games relying on undefined behaviour, or by FXC generating invalid code in some cases, as seen in **Postal: Brain Damaged** (#3488) and **Snowrunner** (see Mesa issue [#13251](https://gitlab.freedesktop.org/mesa/mesa/-/issues/13251)). - The generated code is more compact than naively translated SPIR-V, which substantially reduces DXVK's memory footprint. In games such as **Overwatch** or **God of War**, this can save around 1 GiB of system memory. - Shader compilation is now fully offloaded to worker threads, which can reduce the start-up time in games such as **Days Gone** and **Final Fantasy XIV**, or reduce stutter in some cases. Previously, DXVK would perform the SPIR-V translation on the application thread and only compile the actual Vulkan pipelines on workers. - DXVK's own intermediate representation of compiled shaders is now cached on disk inside the `AppData/Local` directory of the current Wine prefix. This is necessary because compile times have increased compared to the old compiler. The cache path can be changed with the environment variable `DXVK_SHADER_CACHE_PATH`. Shader Model 1-3 support for D3D9 was implemented by @K0bin. **Note:** Outside of specific edge cases, the new compiler is **not** expected to improve overall performance. For developers: When making changes to the shader compiler, set `DXVK_SHADER_CACHE=0` to avoid loading stale shaders. ##### Descriptor heaps The new Vulkan extension `VK_EXT_descriptor_heap` is now used by default on drivers that support it. Compared to the older binding model implementation based on `VK_EXT_descriptor_buffer`, this new model is expected to achieve roughly the same level of CPU-bound performance, while reducing the GPU-bound performance penalty observed on Nvidia GPUs. The descriptor buffer path introduced in DXVK 2.7 is thus deprecated and will be removed in a future release. **Note**: For Nvidia drivers, version **595.84** or newer is required for this feature to work. The feature is disabled on older drivers due to performance regressions. DXVK will print the log message `info: Binding model: Descriptor heap` if the extension is used. ##### D3D9 changes ###### Fixed-function pipeline In order to emulate the legacy fixed-function pipeline that allows D3D8 and D3D9 games to perform rendering without shaders, DXVK previously generated its own shaders code on the fly based on pipeline state. In some games, such as **Unreal Tournament 2004**, this could lead to noticeable stuttering even after prolonged periods of gameplay. To fix this, DXVK now implements the fixed-function pipeline as a pair of ubershaders, for which optimized variants are compiled in the background as the game sets up different fixed-function setups. For more details, see PR #5192. ###### Buffer upload optimizations In order to more closely match Windows behaviour, various types of buffers that were previously placed directly in VRAM are now uploaded on demand, and a strategy was implemented to limit the amount of memory in flight, which fixes address space-related crashes in a number of 32-bit D3D9 games. See PR #5350 for details. **Note:** These changees may also improve performance on systems without Resizeable BAR in games such as **GTA IV**. ###### Multisampling render state On systems that sufficiently support `VK_EXT_sample_locations` and `VK_EXT_extended_dynamic_state3`, the `D3DRS_MULTISAMPLEANTIALIAS` render state now works correctly to allow apps to use single-sampled rasterization while rendering to multisampled render targets. This fixes UI rendering issues in **Anno 1701** (#1415), **Men of War Assault Squad** (#4946), an _[Truncated at 4000 characters — full notes: https://github.com/doitsujin/dxvk/releases/tag/v3.0]_ ### v2.7.1 — Version 2.7.1 - Date: 2025-08-30 - Version: v2.7.1 - Original notes: https://github.com/doitsujin/dxvk/releases/tag/v2.7.1 - Permalink: https://whatsnew.fyi/product/dxvk/releases/v2.7.1 - Labels: Platforms: Windows, Linux - **fixed** — Fixed a regression that would cause MSAA resolves to look like MSAA was not working in a number of D3D9 games - **changed** — Improved performance in some D3D9 games by avoiding unnecessary render pass barriers - **fixed** — Fixed the way tessellation factors are interpreted for line tessellation - **added** — Added the d3d9.modeCountCompatibility configuration option to work around buffer overflows in older games that do not expect monitors to support more than ~16 different display modes - **fixed** — Worked around a crash on start in Alone in the Dark - **fixed** — Worked around an issue in Comanche 4 where the in-game anti-aliasing option would only be exposed on certain GeForce4 Ti GPUs - **changed** — Removed GPU vendor override in Crysis 3 to work around an issue where the game wouldn't start after recent EA app updates - **fixed** — Fixed a regression in Dungeon Siege 2 that would cause character models to not show in the menu - **fixed** — Worked around poor CPU-bound performance in Everybody's Gone to the Rapture - **added** — Added vendor override in Fallout New Vegas to work around an issue with the FNV Reloaded mod using an unimplemented NVAPI function on Nvidia GPUs - **fixed** — Added 60 FPS cap in Guilty Gear to work around the game speeding up at higher frame rates - **fixed** — Added 60 FPS cap in PsiOps to work around broken physics at higher frame rates - **fixed** — Worked around a rendering issue in Scarface caused by breaking changes in D3D9 API behaviour - **fixed** — Fixed an MSAA-related rendering issue in Team Fortress 2 - **fixed** — Added 300 FPS cap in The Witcher 1 to work around a game issue where Geralt's hair would not render properly in the inventory menu - **fixed** — Fixed a memory leak and rendering issues in Top Spin 2004 ##### Bug fixes and Improvements - Fixed a regression that would cause MSAA resolves to look like MSAA was not working in a number of D3D9 games. - Improved performance in some D3D9 games by avoiding unnecessary render pass barriers, such as **Dead Space 2** (PR #5112). - Fixed the way tessellation factors are interpreted for line tessellation. This fixes particle rendering in **DCS World** and potentially other issues. (#4327) - Added the `d3d9.modeCountCompatibility` configuration option to work around buffer overflows in older games that do not expect monitors to support more than ~16 different display modes. This fixes a crash in **AquaNox 2**. - **Alone in the Dark**: Worked around a crash on start. (PR #5158) - **Comanche 4**: Worked around an issue where the in-game anti-aliasing option would only be exposed on certain GeForce4 Ti GPUs. - **Crysis 3**: Removed GPU vendor override to work around an issue where the game wouldn't start after recent EA app updates. Note that this change may cause a noticeable performance regression on AMD systems due to less efficient code paths in the game. - **Dungeon Siege 2**: Fixed a regression that would cause character models to not show in the menu. (#5175) - **Everybody's Gone to the Rapture**: Worked around poor CPU-bound performance. (PR #5168) - **Fallout New Vegas**: Added vendor override to work around an issue with the FNV Reloaded mod using an unimplemented NVAPI function on Nvidia GPUs. (PR #5136) - **Guilty Gear**: Added 60 FPS cap to work around the game speeding up at higher frame rates. (#5142, PR #5143) - **PsiOps**: Added 60 FPS cap to work around broken physics at higher frame rates. (PR #5145) - **Scarface**: Worked around a rendering issue caused by breaking changes in D3D9 API behaviour. - **Team Fortress 2**: Fixed an MSAA-related rendering issue. (#5119, PR #5132) - **The Witcher 1**: Added 300 FPS cap to work around a game issue where Geralt's hair would not render properly in the inventory menu. - **Top Spin 2004**: Fixed a memory leak as well as rendering issues. (PR #5155) ### v2.7 — Version 2.7 - Date: 2025-07-05 - Version: v2.7 - Original notes: https://github.com/doitsujin/dxvk/releases/tag/v2.7 - Permalink: https://whatsnew.fyi/product/dxvk/releases/v2.7 - Labels: Platforms: Windows, Linux - **changed** — Vulkan extension VK_KHR_maintenance5 is now required, with fallbacks for older drivers removed - **changed** — Descriptor management was rewritten and modernized, with VK_EXT_descriptor_buffer now used by default on newer AMD and Nvidia cards to reduce CPU overhead - **changed** — Memory defragmentation is now enabled by default on Intel Battlemage and Lunar Lake GPUs - **changed** — Discrete GPUs will now enforce driver-reported VRAM budget and dynamically evict unused resources to system memory under memory pressure - **removed** — State cache feature was removed to reduce maintenance burden - **removed** — The d3d9.forceSwapchainMSAA option was removed - **added** — Support for planar video output views, required for video playback in JR EAST Train Simulator - **changed** — D3D11 shaders will now zero-initialize all variables and groupshared memory by default to work around game bugs resulting in undefined behaviour - **removed** — The d3d11.zeroWorkgroupMemory option was removed - **changed** — Optimized D3D9 StretchRect in certain multisample resolve cases encountered in Source Engine - **fixed** — Fixed invalid Vulkan usage in Modulus and possibly other Unity Engine games that use the D3D11 video API - **added** — Implemented support for the ID3DDestructionNotifier interface - **fixed** — Vulkan devices that lack the required feature support to run DXVK will no longer be listed as DXGI / D3D9 adapters - **changed** — Building DXVK in a MinGW environment with AVX enabled will now result in a compile-time error - **fixed** — Fixed crash in Astebreed when changing graphics options - **fixed** — Worked around game issue in GTR - FIA GT Racing Game that would cause it to not start - **fixed** — Worked around game issue in LEGO City Undercover that would cause the intro video to be broken - **fixed** — Worked around resource leak in Star Trek: Starfleet Command III GOG build - **fixed** — Worked around alt-tab issue in Test Drive Unlimited 2 causing input loss - **fixed** — Worked around gamma issue in Wargame: European Escalation when the game detects an Nvidia GPU ##### 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](https://github.com/doitsujin/dxvk/wiki/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 XIV**, **God of War**, **Metaphor: ReFantazio**, **Watch 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](https://github.com/doitsujin/dxvk/releases/tag/v0.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](https://github.com/ValveSoftware/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. - Vul _[Truncated at 4000 characters — full notes: https://github.com/doitsujin/dxvk/releases/tag/v2.7]_ ### v2.6.2 — Version 2.6.2 - Date: 2025-06-10 - Version: v2.6.2 - Original notes: https://github.com/doitsujin/dxvk/releases/tag/v2.6.2 - Permalink: https://whatsnew.fyi/product/dxvk/releases/v2.6.2 - Labels: Platforms: Windows, Linux - **added** — Add DXVK_FILTER_DEVICE_UUID environment variable to filter devices by their reported driver UUID - **changed** — Improve vendor ID override logic for D3D9 and add d3d9.hideAmdGpu, d3d9.hideIntelGpu, and d3d9.hideNvidiaGpu configuration options - **changed** — Improve WSI backend selection in dxvk-native - **changed** — D3D9 vendor hack features are now only exposed when reporting a GPU vendor that supports the given feature on Windows - **fixed** — Fix an issue that could lead to one eye not updating properly in some VR games - **fixed** — Fix log spam for unsupported D3D8 render states - **fixed** — Fix log spam for frequent DXGI adapter queries - **fixed** — Fix black screen in D3D9 mode for osu! stable - **fixed** — Work around out-of-memory crash in Pirate Hunter - **fixed** — Work around alt+tab issues in Red Orchestra: Ostfront - **fixed** — Work around a game bug that would cause the intro video to be garbled in Rocketbirds 2 - **fixed** — Work around track rendering issues on Intel in Thumper This is a maintenance release intended to fix some bugs and regressions from version 2.6.1. It is **not** based on latest development code and does not use or require any new Vulkan features. ##### Bug fixes and Improvements - Added `DXVK_FILTER_DEVICE_UUID` environment variable to filter devices by their reported driver UUID. (PR #4956) This may be useful on setups with multiple GPUs of the same model. - Improved vendor ID override logic for D3D9 and added `d3d9.hide{Amd,Intel,Nvidia}Gpu` configuration options to improve the out-of-the-box experience in games that refuse to run on Intel GPUs, or only run with significantly reduced graphics features. (PR #4869) - Improved WSI backend selection in dxvk-native. - D3D9 vendor hack features are now only exposed when reporting a GPU vendor that supports the given feature on Windows. This may avoid issues in case games make assumptions based on vendor IDs rather than format queries. - FIxed an issue that could lead to one eye not updating properly in some VR games. - Fixed log spam for unsupported D3D8 render states. (#4918) - Fixed log spam for frequent DXGI adapter queries. - **osu! stable**: Fixed black screen in D3D9 mode. (#4769, PR #4984) - **Pirate Hunter**: Worked around out-of-memory crash. (PR #4922) - **Red Orchestra: Ostfront**: Worked around alt+tab issues. (PR #4919) - **Rocketbirds 2**: Worked around a game bug that would cause the intro video to be garbled. - **Thumper**: Worked around track rendering issues on Intel. (#4861, PR #4866) ### v2.6.1 — Version 2.6.1 - Date: 2025-04-07 - Version: v2.6.1 - Original notes: https://github.com/doitsujin/dxvk/releases/tag/v2.6.1 - Permalink: https://whatsnew.fyi/product/dxvk/releases/v2.6.1 - Labels: Platforms: Windows, Linux - **removed** — Removed sparse buffer usage that was introduced in DXVK 2.6 due to driver issues causing hangs and instability on AMD Vega GPUs and others - **fixed** — Worked around an RTSS bug that would cause the overlay to render incorrectly if the Vulkan swapchain uses an sRGB format - **fixed** — Worked around an issue where multisample resolves would lead to visual issues on Nvidia in certain Unity Engine games - **fixed** — Worked around an Intel ANV issue that would cause terrain to misrender in games such as Assassin's Creed Origins - **fixed** — Worked around a RADV issue that would cause hangs on RDNA4 GPUs prior to Mesa 25.0.2 - **changed** — Further improved render pass efficiency for tiling GPUs in some cases, especially if VK_KHR_load_store_op_none is supported - **fixed** — Fixed a potential issue with display mode handling on uncommon monitor setups - **fixed** — Fixed various issues with the SDL3 backend in dxvk-native - **fixed** — Fixed compatibility of MSVC builds with very old CPUs - **fixed** — Fixed various minor issues that would cause Vulkan validation errors in rare scenarios - **fixed** — Worked around poor CPU-bound performance in Hitman 2 in certain areas - **fixed** — Worked around a game issue in LEGO Batman: The Video Game and LEGO Indiana Jones: The Original Adventures causing horrible UI performance - **fixed** — Worked around a crash on Windows in Need For Speed: Most Wanted (2005) ##### Bug fixes and Improvements - Removed sparse buffer usage that was introduced in DXVK 2.6. This caused all sorts of driver issues that would cause hangs and instability on AMD Vega GPUs and others. (PR #4763) **Note:** This may increase peak memory usage in some games again. - Worked around an RTSS bug that would cause the overlay to render incorrectly if the Vulkan swapchain uses an sRGB format. (#4777, PR #4778) - Worked around an issue where multisample resolves would lead to visual issues on Nvidia in certain Unity Engine games. (#4817, PR #4818) - Worked around an Intel ANV issue that would cause terrain to misrender in games such as **Assassin's Creed Origins**. **Note:** This driver bug was fixed in Mesa 25.0.3. - Worked around a RADV issue that would cause hangs on RDNA4 GPUs prior to Mesa 25.0.2. **Note:** Please keep your drivers up to date when using these newer GPUs. - Further improved render pass efficiency for tiling GPUs in some cases, especially if `VK_KHR_load_store_op_none` is supported. **Note:** This change **does not** affect desktop GPUs in any meaningful way. - Fixed a potential issue with display mode handling on uncommon monitor setups. (PR #4764) - Fixed various issues with the SDL3 backend in dxvk-native. (PR #4825, PR #4826) - Fixed compatibility of MSVC builds with very old CPUs. (PR #4811) - Fixed various minor issues that would cause Vulkan validation errors in rare scenarios. - **Hitman 2**: Worked around poor CPU-bound performance in certain areas. (PR #4796) **Note:** This may slightly regress GPU-bound performance. - **LEGO Batman: The Video Game** and **LEGO Indiana Jones: The Original Adventures**: Worked around a game issue causing horrible UI performance. (PR #4798, PR #4810) - **Need For Speed: Most Wanted (2005)**: Worked around a crash on Windows. (#4624) ### v2.6 — Version 2.6 - Date: 2025-03-13 - Version: v2.6 - Original notes: https://github.com/doitsujin/dxvk/releases/tag/v2.6 - Permalink: https://whatsnew.fyi/product/dxvk/releases/v2.6 - Labels: Platforms: Windows, Linux - **added** — Add Nvidia Reflex support for D3D11 games when running Proton Experimental with compatible Nvidia drivers supporting VK_NV_low_latency2 - **added** — Add support for the ID3D11On12Device1 interop interface - **changed** — Remove d3d11.dcSingleUseMode option and make deferred command list submission behave as expected by default - **changed** — Improve GPU-bound performance in games using NVAPI UAVOverlap feature by making the implementation less conservative - **changed** — Improve GPU-bound performance in modern games that extensively use pixel shader UAVs - **changed** — Reduce CPU overhead in games using resource binding methods inefficiently - **changed** — Rework Vulkan swapchain implementation to be more robust - **changed** — Improve efficiency of multisample resolves on tiling GPUs - **changed** — Optimize resource initialization to use asynchronous transfer queue and eliminate additional memory usage on drivers supporting Vulkan sparse residency features - **fixed** — Work around common game bug causing garbled output on Nvidia when using MSAA in games like Assassin's Creed 3, Black Flag, Watch Dogs, and Stalker: Clear Sky - **fixed** — Fix layered D3D11 video processor view creation - **fixed** — Fix Clanfolk missing geometry issue on Intel GPUs - **fixed** — Fix Kingdom Come: Deliverance invalid Vulkan usage - **fixed** — Work around Watch Dogs 2 sky flickering issue on RDNA3 GPUs - **fixed** — Fix race condition that could lead to crashes in D3D8/D3D9 games doing multi-threaded asset loading - **fixed** — Fix various issues occurring when disabling shader support via d3d9.shaderModel option - **fixed** — Fix D3D8/D3D9 games using both software and hardware cursors not transitioning between the two smoothly - **fixed** — Fix regression causing textures to not bind correctly in some D3D8/D3D9 games - **fixed** — Fix D3D8/D3D9 games requesting half-rate Vsync running at quarter-rate instead - **fixed** — Fix memory allocation errors on certain unified memory setups including Qualcomm proprietary driver ##### D3D10 / D3D11 ###### Nvidia Reflex support When running Proton Experimental and an Nvidia driver with `VK_NV_low_latency2` support, Reflex can now be enabled in D3D11 games that support this feature. This includes **God of War**, **Overwatch 2**, **Quake Champions** and some others. Approximate input latency can be displayed in these games by setting `DXVK_HUD=latency`. **Note**: Reflex does **not** work in most Unreal Engine 4 games in D3D11 mode since `LatencySleep` and other related functions never get called. This cannot be worked around inside DXVK; prefer using D3D12 for affected games. ###### Bug fixes and Improvements - Worked around a common game bug that would cause garbled output on Nvidia when using MSAA. (#4480, PR #4731) This affects games such as **Assassin's Creed 3 / Black Flag**, **Watch Dogs**, **Stalker: Clear Sky**, and others. **Note:** This may have a small impact on performance and memory usage in affected games, including on AMD GPUs, where this issue did not manifest in rendering issues due to hardware details. - Potentially improved GPU-bound performance in games that use NVAPI UAVOverlap feature, such as **Baldurs Gate 3**. While this feature was supported before, our previous implementation was too conservative. (PR #4691) **Note:** Like other vendor extensions, this does not work on Windows. - Removed `d3d11.dcSingleUseMode` option. Submitting deferred command lists multiple times will now behave as expected by default. **Note:** This may increase memory usage in some games. Fixes rendering issues in **Cardfight!! Vanguard Dear Days 2**. - Slightly improved GPU-bound performance in modern games that extensively use pixel shader UAVs, such as **Trine 5**. (PR #4693) - Slightly reduced CPU overhead in some games that use resource binding methods inefficiently, such as **God of War**. - Fixed layered D3D11 video processor view creation. (PR #4651) - Added support for the `ID3D11On12Device1` interop interface. - **Clanfolk**: Worked around a game bug that would cause missing geometry on Intel. (PR #4716) - **Kingdom Come: Deliverance**: Fixed a case of invalid Vulkan usage. (PR #4684) - **Watch Dogs 2**: Worked around a game bug that would cause the sky to flicker on RDNA3 GPUs. (PR #4717) ##### D3D8 / D3D9 - Fixed a race condition that could lead to crashes in games doing multi-threaded asset loading. (#4613, PR #4646) - Fixed various issues that would occur when disabling shader support via the `d3d9.shaderModel` option. (#4625, PR #4629) - Fixed an issue where games using both software and hardware cursors would not transition between the two smoothly. (PR #4670) - Fixed a regression that would cause textures to not be bound correctly in some games. (PR #4694) - Fixed an issue where games that request half-rate Vsync would run at quarter-rate instead. - Fixed minor issues that would cause wine test failures. (PR #4732) - **CivCity: Rome**: Added vendor ID override to make the game render shadows on Intel GPUs. (PR #4739) - **Global Operations**: Fixed rendering issues (#4138, PR #4678) - **Need For Speed: Hot Pursuit 2**: Fixed missing fog. (#4113, PR #4653) - **Silent Hill 2**: Fixed an issue where the menu would render incorrectly with the *Silent HIll 2 Enhancements* mod. (#3943, PR #3948) - **Tom Clancy's Splinter Cell**: Worked around alt+tab and shadow rendering issues. (PR #4656, PR #4660) - **Trainz v1.3**: Worked around alt+tab issue. (#4116, PR #4659) ##### General Improvements - Reworked Vulkan swapchain implementation to be more robust. (PR #4609) - Improved efficiency of multisample resolves on tiling GPUs. - Fixed a regression introduced in DXVK 2.5 that would cause memory allocation errors on certain unified memory setups, including the Qualcomm proprietary driver. **Note:** This does not mean that DXVK will officially support Android, or proprietary mobile drivers. - Fixed a crash if an application unloads the SetupAP _[Truncated at 4000 characters — full notes: https://github.com/doitsujin/dxvk/releases/tag/v2.6]_ ### v2.5.3 — Version 2.5.3 - Date: 2025-01-13 - Version: v2.5.3 - Original notes: https://github.com/doitsujin/dxvk/releases/tag/v2.5.3 - Permalink: https://whatsnew.fyi/product/dxvk/releases/v2.5.3 - Labels: Platforms: Windows, Linux - **added** — Exclusive full-screen mode as an optional feature that can be enabled by setting dxvk.allowFse = True in the configuration file - **fixed** — Regression that would cause severe rendering issues in many D3D8 and D3D9 games that use fixed-function rendering - **fixed** — Invalid shader code generation for certain rare texture operations in D3D11 that could crash TopSpin 2k25 - **fixed** — Potential issue with handling NaN tessellation factors in D3D11 hull shaders - **fixed** — D3D9 shader validation issue that would cause valid shader code to be rejected in some situations - **changed** — Improved the debugging experience when DXVK_DEBUG=markers is set - **fixed** — Arcana Heart 3 Love Max!!!!! by enabling 60 FPS limit to work around a game issue on Steam Deck OLED - **fixed** — Bright Memory issue where the game would prioritize integrated graphics over dedicated Intel GPUs - **fixed** — Far Cry 5 issue that would cause terrain to be invisible on Intel GPUs - **fixed** — Halo: The Master Chief Collection shader-related issue that would cause flickering objects on some drivers - **fixed** — Max Payne 3 rendering in D3D9 mode by enabling strict float emulation - **fixed** — The Hurricane of the Varstray -Collateral hazard- game issues when running in windowed mode by enabling 60 FPS limit ##### Windows changes In order to address feedback regarding issues with variable refresh rate displays, performance and HDR, exclusive full-screen mode was reintroduced as an option. It remains **disabled** by default, but users can enable it by setting `dxvk.allowFse = True` in the [configuration file](https://github.com/doitsujin/dxvk/wiki/Configuration). As usual, this option has no effect on non-Windows platforms. ##### Bug fixes and Improvements - **Fixed a regression that would cause severe rendering issues in many D3D8 and D3D9 games that use fixed-function rendering.** (PR #4533) - Fixed invalid shader code generation for certain rare texture operations in D3D11. This fixes a potential crash in **TopSpin 2k25**. (PR #4576) - Fixed a potential issue with handling `NaN` tessellation factors in D3D11 hull shaders. - Fixed an issue with D3D9 shader validation that would cause valid shader code to be rejected in some situations. (#4576, PR #4590) - Improved the debugging experience when `DXVK_DEBUG=markers` is set. (PR #4589, PR #4591) - **Arcana Heart 3 Love Max!!!!!**: Enabled 60 FPS limit to work around a game issue on Steam Deck OLED. (PR #4566) - **Bright Memory**: Worked around an issue where the game would prioritize integrated graphics over dedicated Intel GPUs. (PR #4605) - **Far Cry 5**: Worked around an issue that would cause terrain to be invisible on Intel GPUs. (PR #4604) - **Halo: The Master Chief Collection**: Fixed a shader-related issue that would cause flickering objects on some drivers. (PR #4603) - **Max Payne 3**: Enabled strict float emulation to work around broken rendering in D3D9 mode. (PR #4611) - **The Hurricane of the Varstray -Collateral hazard-**: Enabled 60 FPS limit to work around game issues when running in windowed mode. (#4568, PR #4573) ### v2.5.2 — Version 2.5.2 - Date: 2024-12-20 - Version: v2.5.2 - Original notes: https://github.com/doitsujin/dxvk/releases/tag/v2.5.2 - Permalink: https://whatsnew.fyi/product/dxvk/releases/v2.5.2 - Labels: Platforms: Windows, Linux - **changed** — On Windows, DXVK now always attempts to disable exclusive fullscreen if VK_EXT_fullscreen_exclusive is supported, to work around alt-tab issues and issues with games that mix D3D9 with GDI user interfaces - **removed** — Remove the d3d9.enableDialogMode configuration option - **added** — Add an implementation of D3D9 shader validation interfaces needed for The Void and other D3D9 games - **fixed** — Fix behaviour when D3D9 applications use incorrect texture types - **changed** — Use VK_FORMAT_A8_UNORM to implement the corresponding D3D11 format when VK_KHR_maintenance5 is supported, fixing warnings and rendering issues in TopSpin 2K25 - **changed** — Optimize behaviour of disabled clip planes for D3D9 games - **fixed** — Fix an issue where the DXVK_CONFIG environment variable was not applied correctly under specific circumstances - **fixed** — Fix various issues causing Wine test failures for D3D8 and D3D9 - **fixed** — Fix missing lava in certain places in Borderlands 2 - **fixed** — Work around an issue with the main menu not rendering on regular Wine builds for Codename Panzers: Phase One and Phase Two - **changed** — Extend app profiles for The Sims 2 to various mod tools ##### Windows changes On Windows, if `VK_EXT_fullscreen_exclusive` is supported, DXVK will now always try to **disable** exclusive fullscreen in an attempt to work around common alt-tab issues, as well as issues with numerous games that mix D3D9 with GDI user interfaces. Whether this is honored is up to the graphics driver. (#4465, PR #4485) Previously, this was only done for D3D9 applications that explicitly enabled support for GDI dialog boxes in fullscreen mode. The `d3d9.enableDialogMode` configuration option to control that behaviour was removed accordingly. **Note:** This change may affect input latency and/or performance, depending on the exact implementation of Vulkan swap chains in the graphics driver. It does **not** affect Linux systems in any way since the concept of exclusive fullscreen, and thus any problems associated with it, do not exist there. ##### Bug fixes and Improvements - Added an implementation of D3D9 shader validation interfaces. This is needed for **The Void** and used in several other D3D9 games. (PR #4398) - Fixed behaviour when D3D9 applications use incorrect texture types as seen in **Alpha Protocol**. (PR #4513) - If `VK_KHR_maintenance5` is supported, DXVK will now use `VK_FORMAT_A8_UNORM` to implement the corresponding D3D11 format. This fixes warnings in various games, as well as rendering issues in **TopSpin 2K25** (#4514). - Optimized behaviour of disabled clip planes for D3D9 games. (PR #4508) - Fixed an issue where the `DXVK_CONFIG` environment variable was not applied correctly under specific circumstances. - Fixed various issues causing Wine test failures for D3D8 and D3D9. (PR #4479) - **Borderlands 2:** Fixed missing lava in certain places. (PR #4482) - **Codename Panzers: Phase One / Two**: Work around an issue with the main menu not rendering on regular Wine builds. (PR #4495) - **The Sims 2**: Extended existing app profiles to various mod tools. (#4518, PR #4520)