Philip Rebohle has announced a new version of DXVK, a Vulkan-based translation layer for Direct3D which allows running 3D applications on Linux using Wine.
A Vulkan-based translation layer for Direct3D 9/10/11 which allows running 3D applications on Linux using Wine.
Features
- Implemented basic support for various subsampled YUV texture formats such as NV12, which is used for video playback in some games, as well as basic support for ID3D11VideoProcessor APIs. This is needed for videos in Nier Replicant to play back ( #2048), and may also be required for Contra: Rogue Corps ( #1676). Note that Nier videos currently do not work with Proton for other reasons.
- Implemented Conservative Rasterization for supported GPUs, which allows enabling the Nvidia ShadowLibs option in Final Fantasy XV and possibly similar options in other games.
- Reduced presentation latency by up to one frame under some circumstances. This may help with games that are limited by vertical synchronization, DXGI frame latency settings, or external frame limiters that operate on vkAcquireNextImageKHR (PR #2075).
- Added a frame rate limiter. This is mostly intended as a workaround for games that do not work correctly at high frame rates, but can also be controlled with an environment variable. Check the README for detais.
Device selection
Software-only Vulkan implementations such as Lavapipe are no longer reported to the application as long as there is a Vulkan-capable GPU present on the system. This should fix issues where games try using Lavapipe over a proper driver on some setups with recent Mesa versions and then crash due to hitting an unsupported texture format.
Lavapipe can now be used with DXVK by manually setting the VK_ICD_FILENAMES environment variable. While some of DXVK's feature requirements have been lifted in order to allow it to run, note that limitations of this driver may still cause some games to crash or render incorrectly, while others (such as The Witcher 3) were tested successfully.
Bug fixes and Improvements
- Improved texture and buffer uploads in D3D9.
- Fixed the Origin overlay not showing up when using DXVK's DXGI implementation ( #1996).
- Disabled Wine Gecko/Mono installers showing up when using install script.
- Disabled a workaround to reduce the amount of random crashes on Nvidia drivers since the underlying driver issue was fixed in the 465.xx releases ( #1963), which may improve performance in some games.
- Fixed precision issues in shaders that do not have the refactoringAllowed flag set.
- Fixed some potential issues around image clears that could lead to artifacting or broken rendering.
- Fixed an issue where games with upper-case file extensions may create duplicate logs or cache files ( #2079).
- Fixed monitor layout issues when restoring display modes on multi-monitor setup ( #2064).
- Fixed a bug in D3D9 where child windows did not have their positions converted relative to their parents ( #1958).
- Removed workarounds specific to RADV with the LLVM shader compiler. Please use the ACO backend instead (default since Mesa 20.2).
- Removed d3d11.enableRtOutputNanFixup workaround, and enabled that behaviour by default for older RADV versions (prior to Mesa 20.3).
- Further reduced the size of state cache files. State caches from previous DXVK versions will be converted automatically.
- Debugging symbols now work in GDB with wine-reload (4kb file alignment)
- Misc. vector/matrix math fixes and optimizations in D3D9.
- Atelier Mysterious Trilogy Deluxe Pack, Dal Segno and Nights of Azure: Added the usual white screen workaround ( #2035, #2022, #2044).
- Days Gone: Implemented missing DXGI frame statistics functions in order to fix very low frame rates ( #2065).
- Demon Stone: Work around the game breaking at >60fps ( #2103).
- Dragon Quest Builder 2: Fixed an issue where the game would immediately run out of system memory (PR #1995).
- Final Fantasy XIII, Spec Ops: The Line: Fixed a bug with some postprocessing effects on NVIDIA.
- GTA IV re-release: Work around incorrect VRAM amounts being shown when nvapi and atidlxx libraries are not present as it assumes all GPUs to be Intel IGPs with unified memory in that case.
- Halo 2: Fixed fog rendering issues ( #2059).
- Kohan II: Fixed out-of-memory crash on startup ( #2030).
- Nier Replicant: Enabled 60 FPS limit to work around issues with the game running too fast, and enforced full-rate vertical synchronization in order to work around related issues with the game sometimes being stuck at weird frame rates.
Note that AMD RX 5000 and 6000 series GPUs may need to be put into high performance mode manually in order to fix performance issues caused by aggressive power management.- Second Sight: Fixed missing UI ( #2056).
- TrackMania Forever: Fixed rendering issues introduced in DXVK 1.8.
Download DXVK 1.9
How to use