Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine
VK_EXT_robustness2
and removed the old app options for games using software vertex processing. (#2282)d3d9.evictManagedTexturesOnUnlock
option is enabled.d3d11.relaxedBarriers
option is enabled.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.vkAcquireNextImageKHR
(PR #2075).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.
refactoringAllowed
flag set.Support for automated builds of the current master
branch as well as pull requests has been added. Builds can be found here.
VK_KHR_shader_float_controls
, and removed most app workarounds setting d3d11.enableRtOutputNanFixup
.d3d11.enableRtOutputNanFixup
by default on older RADV versions.d3d11.invariantPosition
option by default to fix common Z-fighting issues, especially on RDNA2 GPUs.Note: Build requirements have changed to MinGW 8.0 since new headers are required for the DXGI changes. Building on older versions will fail with messages about IDXGIFactory7
not being declared. Do not confuse the MinGW version with the GCC version provided by MinGW.
DXVK_LOG_PATH=none
, but logs will still be printed to stderr (#1743).VK_EXT_4444_formats
is now used on supported drivers to resolve potential issues with sampler border colors on Intel hardware.VK_EXT_extended_dynamic_state
is now used on supported drivers to implement out-of-bounds vertex buffer access behaviour correctly.VK_EXT_transform_feedback
is now a hard requirement for D3D10 and D3D11. This extension is supported by all Nvidia and Mesa drivers released in early 2019 or later, as well as recent AMDVLK releases and the proprietary AMD driver.
On supported drivers, the following extensions are now used:
VK_EXT_custom_border_color
is now used to support for arbitrary sampler border colors, which fixes issues in many Direct3D 9 games including Crysis and Halo 2 Vista (#1612).VK_EXT_robustness2
is used to handle out-of-bounds access to resources the same way as D3D11 does.Wine 5.8 is needed for winevulkan support, as well as the following drivers:
dxgi.tearFree
option, see PR #1606 for details.Support for winelib builds was dropped, due to maintenance issues and incompatibility with some distributions (see #1584). This makes MinGW a hard requirement for building DXVK.
Please note that mingw-w64-binutils
2.34 currently leads to broken builds; see #1625 for details and a fix for the issue.