D7VK, a fork of DXVK for running old Direct3D 3/5/6/7 applications under Wine, has been released in version v2.4.
The project is in maintenance mode, so there are no new features, mostly fixes. Surface sizes are now capped at 2048 pixels and display modes at 2048 x 1536 (making 1080p the highest “modern” resolution). Back buffer stretching (relevant for Wayland) is now disabled by default and gains a mode that preserves the aspect ratio. The release also welcomes GXVK, an early alpha Glide implementation on top of DXVK by CkNoSFeRaTU.
Fixes/additions:
- Rebased on the latest upstream DXVK development code, which pulls in present timing, among other things.
- Implemented aspect ratio preservation for back buffer stretching and also disabled back buffer stretching by default.
- Enforced traditional DDraw surface and mode size dimensions where applicable, providing a config option to skip any validations for the more adventurous souls.
- Added a legacy aspect ratio compatibility option which will only report 4:3 and 5:4 modes to an application. This was needed by Earth 2150 and its addons, which crash while accessing certain UI sections when any 16:9 resolution is used.
- Improved present interval handling (and VSync state propagation to the Vulkan backend), which has fixed missing text/artwork issues in Re-Volt and 3DMark 2000, as well as potentially other issues in games/applications that toggle VSync state during presentation.
- Fixed an oversight which caused us to not enable VSync (if it was disabled) when using legacy surface flips.
- Added an option to force proxied gamma ramp handling (using the DDraw swapchain exclusively), which may help resolve gamma ramp issues caused by alternating DDraw/Vulkan swapchain use.
- Moved all bridge handling to the common interface/device objects, as well as improved device/interface creation robustness on failures and in OOM situations.
- Skipped setting any LOD/priority levels on non-MANAGED textures, as per native behavior.
- Slightly sped up cube texture uploads and initial object creation.
- Reworked (D3D9) backend pool selection to be more compliant with newly introduced upstream restrictions.
- Fixed a viewport detachment bug causing null pointer dereferencing, which has fixed crashing in H.E.D.Z. Thanks to @ksc-1 for reporting it.
- Fixed a similar (but purely theoretical) clipper detachment bug.
- Skipped applying a gamma ramp when in actual windowed mode (as dictated by our DDraw overlords).
- Unified all surface description structs into a single backing DDSURFACEDESC2, which reduces memory overhead and slightly speeds up all surface description-related operations.
- Relaxed validations on surface description refreshing, for a slight performance boost.
- Improved vertex buffer lock tracking, to account for multiple possible simultaneous locks.
- Propagated a common shadow surface object across all surface versions, to reduce memory overhead.
- Slightly improved the IClassFactory-based object initialization path, both in terms of speed and corectness.
- Reworked our early HWND caching workaround to always use the latest set HWND until we get an actual value from
SetCooperativeLevelcalls (some games need that in order to be able to properly create a Vulkan swapchain).

Source: GitHub