Software 44940 Published by

WinterSnowfall shipped D7VK v2.3, the compatibility layer that runs old Direct3D 7, 6, 5, and 3 games on Linux via Vulkan. The headline change places shadow surfaces in system memory, boosting performance in Empire Earth while adding a config fix to counter a Star Trek: Armada regression. The changelog also fixes a batch of classic titles, including Dark Vengeance, Z.A.R., and Star Wars: X-Wing Alliance. Most significantly, the developer announced the project is entering maintenance mode, meaning fewer releases and bug fixes only from here on.



D7VK 2.3 arrives as the early-Direct3D translation layer enters maintenance mode

Compatibility layer D7VK picked up a new release and it comes with a bittersweet footnote. Developer WinterSnowfall shipped D7VK v2.3 today and announced that the project is entering maintenance mode. No new major features are coming. Bug fixes will still trickle in, just much more slowly.

D7VK translates the earliest generations of Direct3D (versions 7, 6, 5, and 3) into Vulkan, letting classic Windows 3D games actually run on Linux through Wine. It's a fork of DXVK, the well-known layer for Direct3D 9 and later, but it does the work upstream has long stopped caring about: the immediate-mode era of early DirectX. The GitHub repo sits at roughly 769 stars and 11 forks. Not huge by indie-project standards, but it has quietly become one of the most important tools for anyone trying to keep pre-D8 games alive.

Screenshot_from_2026_09_29_15_46_37

Here's the angle most people will care about. This is the "we're done, but we'll keep the lights on" release.

What D7VK v2.3 changes

D7VK works by proxy. It intercepts a game's early-Direct3D calls, translates them into efficient Vulkan commands, then hands the final presentation back to Wine's DirectDraw stack. Simple in theory. Not always simple in practice, given how badly documented these old APIs actually were.

There are a few limits worth knowing. Immediate-mode only, so retained-mode applications aren't supported. Pure 2D games get no boost either, since their DirectDraw calls just get forwarded along (for those, cnc-ddraw is the better bet). And D7VK itself needs a GPU with Vulkan 1.4 support. Keep in mind that older hardware isn't locked out: the DXVK-Sarek fork by pythonlover02 backports this early-D3D work onto Vulkan 1.1-capable GPUs, so a twenty-year-old card isn't quite e-waste yet.

The v2.3 build landed at 11:14 on release day (commit ff123cb on the devel branch), rebuilding on DXVK v3.1.1 and leaning on three themes: object-handling reworks, new workarounds for early Direct3D games, and what the developer calls a "final" performance optimization.

That optimization concerns shadow surfaces mirror surfaces D7VK creates to stop swap chains from fighting each other on the legacy DirectDraw path. Games that blit the mouse cursor right on top of the final image abuse them heavily. Keeping the shadows in system memory instead of device memory yields a real bump in those cases. The game that benefits most is Empire Earth: The Art of Conquest, the same title that got the spotlight back in v2.1.

Not everything improved, though. Star Trek: Armada is the one known regression, and v2.3 adds a config option that keeps shadow surfaces synced exactly as the game places them, so performance still holds up. As the developer put it: "Worry not, you can still get the best Star Trek: Armada experience with D7VK."

The rest of the changelog buries itself in the weeds of early DirectX, which is exactly what this project exists for. It fixes broken water transparency in Z.A.R., makes Dark Vengeance finally playable (it was choking on execute-buffer setup), repairs intro video playback in the unpatched Need for Speed: Porsche, and keeps G-Police and HyperBlade from choking on the same buffers. Star Wars: X-Wing Alliance stops crashing on startup, and Grandia II plays nicely despite trying to abuse a texture-handle fallback that Direct3D 6 claimed to have ditched.

That last detail would make most readers' eyes glaze over. Direct3D 6 supposedly got rid of texture handles, but quietly kept a fallback path that used them anyway. D7VK now consolidates its handle logic across all the early APIs to cope with games that poke at it. Obscure? Absolutely. Necessary? For keeping these titles running, yes.

Done developing, still maintained

The bigger news is maintenance mode, and the reasoning is fair. The codebase has hit the goals, which were admittedly "rather ever extending." No major features expected. Releases will spread out. That also means a stable tool now, not a rapidly evolving one, which is great if your games already work, less ideal if you're chasing a niche title with a lingering bug. Raise issues on the tracker, though, and you'll likely still get a response.

It ends with a playful sign-off: "enjoy your time in the somewhat janky world of early D3D!" Fitting for a tool that has spent years keeping broken, half-documented graphics APIs from dying out entirely.

For a project, the cadence has been intense. v1.12 landed in early July, then v2.0, v2.1, and v2.2 in quick succession through the end of August, with v2.2 alone pulling nearly 98,000 downloads. v2.3 on September 29 rounds out that busy stretch with a maturity release rather than a feature one. Reception has stayed warm: 16 reactions on release day, versus 86 for v2.0 and 60 for v2.1.

WinterSnowfall leads the project, having started from an experimental branch put together by D8VK maintainer AlpyneDreams. The biggest contributor is @CkNoSFeRaTU, credited with a "metric ton" of investigative work and concrete features, including the Dark Vengeance, Z.A.R., and Need for Speed: Porsche fixes in this very release. pythonlover02 keeps DXVK-Sarek alive for anyone running older hardware.

If you want it, grab d7vk-v2.3.zip from the D7VK repository. It's about 3.37 MB. Head here to download it, and if your GPU is a bit dated, point at the DXVK-Sarek fork for Vulkan 1.1 support instead.