VOGONS


First post, by eddman

User metadata
Rank Member
Rank
Member

I have to apologize in advance; this is not a request by any means, just a simple inquiry.

Would a windows xp version with d3d9 output be feasible?

I've been testing and researching the viability of running old games on windows xp, specifically in a VM. The majority of d3d9 games work fine; some d3d8 games work but others have issues which can usually be remedied by using d3d8to9.
Weirdly enough there are d3d8 games that actually use ddraw to present the frames, so d3d8to9 doesn't work for them.
D3d7 games have even a lower success rate. There is a wrapper called Dd7to9, but it's in early stages of development and doesn't seem to work in xp anyway. (The dev seems to have stopped updating all repositories)

Last edited by eddman on 2022-02-20, 10:09. Edited 2 times in total.

Reply 1 of 5, by Meatball

User metadata
Rank Oldbie
Rank
Oldbie

You tried dgvoodoo 1?

As an aside, when I went through all of my games to virtualize them, I used Vista to Windows 2000 (on VMware Workstation v15.x). For Games which wouldn't run on Windows XP (usually because of some kind of DDraw issue), I found they would run on Windows 2000. Even more interesting, there were some games which would only run properly on Windows Server 2003 (make sure to enable Direct3D). I thought you might find this useful in lieu of dgvoodoo.

Reply 2 of 5, by Dege

User metadata
Rank l33t
Rank
l33t

No, it's unfortunately not feasible. I designed dgVoodoo2 to have WDDM-level backend implementations, i.e. they must support virtual video memory, at least shader model 4.x support for integer operations, etc.
D3D9 (especially with the XPDM level) is just too old.

But anyway, old games do not necessarily work properly on an XP machine? It's weird, as far as I remember I didn't have problems with them but not that I'm a big gamer.
Or, are you using a PC built from new hw that still has XP drivers?

Reply 4 of 5, by eddman

User metadata
Rank Member
Rank
Member

That makes sense. Targeting a different driver model would require a lot of coding that wouldn't even benefit the program on modern windows.

Dege wrote on 2022-02-20, 18:50:

But anyway, old games do not necessarily work properly on an XP machine? It's weird, as far as I remember I didn't have problems with them but not that I'm a big gamer.
Or, are you using a PC built from new hw that still has XP drivers?

I'm using XP in VMware installed on windows 10, with a gtx 1060. Majority of old games do work, but it's mostly limited to d3d9 titles. Some d3d8 games seem to be fine, but others have performance issues and/or visual glitches. This is mostly a non-issue since I can use a wrapper, IF the game does not also use ddraw, that is (some older d3d8 games use ddraw).

D3d7 and older though, there are quite a few issues, usually in the form of terrible framerate. I haven't tested many titles but one such game is Midtown Madness 2. It's basically unplayable with 3D acceleration.

Reply 5 of 5, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

WineD3D 1.7.52 would be the closest equivalent (for newer versions you'l likely need to use OneCoreAPI) (also read the readme) but you should really only run games in vms or emulators if they don't work on the host unless you have a good reason to.
If you're going to bother with wined3d in a Windows XP VM then you may as well just load a Linux VM and use wine but be aware that 3D compatibility in Vmware is always going to be worse than the host except rare exceptions or if you are using warp or mesa3d.
https://downloads.fdossena.com/Projects/WineD3D/Builds/

Something to keep in mind potentially for the future is that if you are using a Linux host then Vulkan render is supported on the host but IIRC only D3D11 and OGL in a guest on Vmware 16.x . It wouldn't be much of a leap to support Vulkan in the guest as well if vmware ever decides to do so.
Reason I mention it is that originally when Vulkan was released it was supposed to work in Windows XP but Nvidia/AMD/Intel never bothered to support it. In theory Vmware/Qemu/etc could support it quite easily if they wanted to and then projects like dgvoodoo potentially could use the Vulkan renderer but Vmware never would support it for XP and Qemu likely never will so no sense worrying about it.

How To Ask Questions The Smart Way
Make your games work offline