DXVK is a layer that converts D3D9, D3D10, and D3D11 calls to Vulkan instead of OpenGL, thus improving gaming performance. Several years ago, this project became an integral part of gaming through Wine, because thanks to DXVK, we can play those games that could not even be launched through Wine with OpenGL. And some games worked just awful. Thanks to the combined efforts of Philip Rebohle and Joshua Ashton, a new version of the DXVK has been released.
What's new:
Functions
- Basic support for various downsampled YUV texture formats is implemented, such as NV12, which is used for video playback in some games, as well as basic support for ID3D11VideoProcessorAPI. This is required for video playback in Nier Replicant (#2048), and may also be required for Contra: Rogue Corps (#1676). Please note that Nier videos do not currently work with Proton for other reasons.
- Implemented conservative rasterization for supported GPUs, allowing Nvidia ShadowLibs to be enabled in Final Fantasy XV and possibly similar settings in other games.
- In some circumstances, the presentation latency has been reduced to one frame. This can help with games that are limited by V-sync, DXGI frame delay settings, or triggered by the external vkAcquireNextImageKHR frame limiters (PR#2075).
- Added frame rate limiter. This is intended as a workaround for games that do not run correctly at high frame rates, but can also be controlled by an environment variable.
Device selection
- Vulkan software implementations such as Lavapipe are no longer communicated to the application if a Vulkan-enabled GPU is present on the system. This should fix issues where games try to use Lavapipe over the correct driver on some settings with the latest Mesa and then crash due to being in an unsupported texture format.
- Lavapipe can now be used with DXVK by manually setting the VK_ICD_FILENAMES variable. While some feature requirements for DXVK have been removed to allow it to work, please note that limitations of this driver may still cause some games to crash or incorrectly render while others (such as The Witcher 3) have been successfully tested.
Bug fixes and improvements
- Improved loading of textures and buffers in D3D9.
- Fixed a bug due to which Origin was not displayed when using the DXGI DXVK implementation (#1996).
- Disabled Wine Gecko/Mono installers displayed when using the install script.
- Disabled a workaround to reduce random crashes in Nvidia drivers as the underlying driver issue was fixed in 465.xx (#1963) releases, which may improve performance in some games.
- Fixed precision issues in shaders that do not have the refactoringAllowed flag set.
- Fixed some potential image cleanup issues that could lead to artifacts or rendering failures.
- Fixed an issue where games with uppercase file extensions could create duplicate logs or cache files (#2079).
- Fixed issues with monitor layout when restoring display modes when setting up with multiple monitors (#2064).
- Fixed a bug in D3D9 that prevented child windows from transforming their position relative to their parent (#1958).
- Removed RADV specific workarounds with LLVM shader compiler. Use the ACO backend instead (default since Mesa 20.2).
- The size of the cache files has been further reduced. The cache from previous DXVK versions will be converted automatically.
- Debug symbols now work in GDB with Wine restart (4KB file alignment).
- Bugs were also fixed in the following games: Atelier Mysterious Trilogy Deluxe Pack, Dal Segno, Nights of Azure, Days Gone, Demon Stone, Dragon Quest Builder 2, Final Fantasy XIII, Spec Ops: The Line, GTA IV re-release, Halo 2 , Kohan II, Nier Replicant, Second Sight, TrackMania Forever.
More information can be found here.