github WinterSnowfall/d7vk v1.0
Version 1.0

14 hours ago

The time has finally come to draw the line and officially slap the label of "production ready" onto D7VK. This doesn't quite mean that all the bugs are fixed, or that all the missing features are implemented, but it does mean that well behaving D3D7 games are now well supported and work without any issues.

Why bother with D7VK at all?

The good (vs WineD3D):

  • Anti-aliasing / D3DRENDERSTATE_ANTIALIAS support (you can also optionally force enable it)
  • targeted performance fixes for bad behaving games (looking at you, 1NSANE)
  • built-in frame caps for games known to break at high frame rates, or simply over 60 FPS (which is, sadly, quite common in D3D7)

The bad:

  • A few missing D3D7 features, that I'll most likely add at some point in the future
  • General WSI wonkiness on Wayland

The ugly:

  • Quite a few remaining bugs
  • A cursed design that by some miracle happens to work well enough in most cases

You'll still need to use WineD3D for:

  • Earlier D3D and DDraw
  • Games that make use of cursed legacy DDraw <-> D3D7 interop (thankfully, it didn't turn out to be entirely all that common)
  • Its excellent general compatibility and feature coverage
  • GPUs that don't support Vulkan 1.3

Benchmarking

Here is an admittedly apples to oranges comparison done using 3DMark 2000's standard benchmark run and a Nvidia RTX 4070 with the 570.195.03 drivers:

D7VK v1.0 WineD3D*
D7VK_1 0 WineD3D_11 0-rc1

*Wine Staging 11.0-rc1 was used, with its OpenGL backend. Wine's Vulkan backend would not run 3DMark 2000 at all for some reason.

Acknowledgments

None of it would have been possible without the work of the WineD3D developers (for the underlying DDraw implementation) and the upstream DXVK dev team (especially @doitsujin, @misyltoad, @K0bin and @AlpyneDreams).

Many thanks to @elishacloud and @CkNoSFeRaTU as well, for their helpful hints and, ehm, very clever and cursed workarounds that I'm sure I never would have come up with myself.

And of course @Blisto91, for being eternally supportive of all my antics and half-mad ancient API endeavors. P.S.: Don't believe a word he says - he's actually a dev, but in denial.

D3D7 games spotlight

And last, but not least, here's a selection of screenshots featuring some of my favorite D3D7 titles, now all fully supported by D7VK:

Sacrifice Sacrifice
Dark Reign 2 Dark Reign 2
Emperor: Battle for Dune Emperor
Clive Barker's Undying Undying
Unreal Tournament Unreal Tournament
Vampire: The Masquerade - Redemption Vampire TM Redemption
Hitman: Codename 47 Hitman
Disciples II Disciples II
Giants: Citizen Kabuto Giants Citizen Kabuto
No One Lives Forever NOLF
Deus Ex Deus Ex
Colin McRae Rally 2.0 Colin McRae Rally 2 0
Star Trek: Bridge Commander Star Trek Bridge Commander
Carmageddon TDR 2000 Carmageddon TDR 2000
Black & White Black And White
Wizardry 8 Wizardry 8

It's time to work on that backlog!

Enjoy, and please remember that "newer isn't always better". Some of these now "ancient" D3D7 games are truly awesome and fully deserve our appreciation, even in this day and age.

Don't miss a new d7vk release

NewReleases is sending notifications on new releases.