softgpu
softgpu copied to clipboard
XP support
Hi Any chance of adding support for Windows XP? Some games written for this system cannot be run on Vista/7/10/11 systems, and at the same time they are too new to run on 95/98/Me systems and in practice they only run on XP or only there they work reasonably well. If the softgpu supported XP it would be perfect
Don't you know Windows XP has guest additions?
@ilikecoding-197 3D support for Windows XP is little to none in current virtualizers. It only makes sense a request for Windows XP SoftGPU driver would appear as a result.
I can't add XP support to this project – NT and Window 95 display driver architecture is completely different (the 9x is backward compatible even with Windows 3.x). But there isn’t much difference between XP and Windows 10 and 11 – there shouldn’t be much work at last for OpenGL, DirectX is bit problematic – you must implement DDI 9 (in newer Windows is emulated by D3D12 which is part of Mesa), or use WineD3D same way as in VirtualBox 5.1 or in SoftGPU :-)
But I’m currently focus on Windows 9x, XP may come later…
for XP support, something like this I assume would be out of scope but for anyone stumbling on this it might not be a bad idea to look towards reactOS for inspiration, IIRC they use their own wined3d implementation internally, it won't be a 1:1 by any means, but might be something that could get hobbled together.
EDIT: reactOS could also be a cool target
the better target is drivers for new video cards for real XP %)
@MrPepka, do you have a list of those games that "cannot be run on Vista/7/10/11 systems, and at the same time they are too new to run on 95/98/Me"? I'm mentioning the same topic at exoscoriae/eXoWin3x/issues/680 - listing potential reasons for support to break, etc.
@CE1CECL, you mention you work on Vista/7 driver, maybe you are interested in XP version as well?
There is a related patch from http://lonecrusader.x10host.com/rloew/rloew.html
- WDMEX: Allows Windows 9x to load drivers written for Windows 2000/XP.
Maybe a game, which doesn't work on Vista+ can be made to work on Win9x via XP driver... although somebody has to develop the XP driver first
@MrPepka, do you have a list of those games that "cannot be run on Vista/7/10/11 systems, and at the same time they are too new to run on 95/98/Me"? I'm mentioning the same topic at exoscoriae/eXoWin3x/issues/680 - listing potential reasons for support to break, etc.
@CE1CECL, you mention you work on Vista/7 driver, maybe you are interested in XP version as well?
Actually, its only a backend, I chose the VMware SVGA because lots of OS's support A driver, even if its not good, macOS, Linux, Windows 95-11, etc... Its not a driver, for the os, its only to bring 3D to QEMU (at the moment, software).
In other words, to bring Aero to vista and 7 on QEMU, at the moment it works only with VMware tools (windows, linux is working, without OpenGL using kernel) https://packages.vmware.com/tools/esx/4.0u1/windows/x86_64/ through https://packages.vmware.com/tools/esx/4.1latest/windows/x64
@MrPepka, do you have a list of those games that "cannot be run on Vista/7/10/11 systems, and at the same time they are too new to run on 95/98/Me"? I'm mentioning the same topic at exoscoriae/eXoWin3x/issues/680 - listing potential reasons for support to break, etc.
@CE1CECL, you mention you work on Vista/7 driver, maybe you are interested in XP version as well?
I think that there are fewer and fewer such games, but there will still be some exceptions, once Uka from the old-games.ru forum even made a list of such games https://www.old-games.ru/forum/threads/igry-kotorye-idut-na-windows-xp-no-ne-na-bolee-pozdnix-versijax-os.89881/
Virtualbox 6.1-7 would need a display driver.
However, VMWare still supports 3D acceleration under Windows XP. Its D3D9 support seems to be fine; the main issues are with older ones. Basically, what is needed is a "D3D2-7 to 9" wrapper to make it work.
I asked Dege a while back if he's interested in porting dgvoodoo2 to XP, but said it's too much work and there's no time.
elishacloud is currently working on adding D3D support to dxwrapper, but I don't know if it'd be XP compatible.
For D3D8 you can already use d3d8to9.
EDIT:
I haven't properly tested OpenGL games, but it seems support for older versions is patchy.
nglide can be used for Glide games, but that too has issues. Perhaps its devs might be interested in supporting VMWare?
I compared with box9x and boxnt display driver inf files,and tried to add glide and wined3d files to it.However the different between two files are so big.So it's quite a hard work.
There is a SoftGPU patch for NT4 (and NT3.51, the first Windows to support 3D/OpenGL). Will such NT4 driver work in XP (or maybe Win2000)?
Most elements are "available"?
- VMDisp9x - os2museum has also 2K/XP driver
- Mesa3D for 9x - main missing piece? (unsupported in official Mesa since 17.1.8.401-1: https://github.com/pal1000/mesa-dist-win/discussions/112#discussioncomment-4603767)
- WineD3D for 9x - got XP support in 0.5
- OpenGlide for 9x - does it work under XP? (also related: #23, #25, #34, #46)
- VMHAL9x - related to VMDisp9x?
- ICD enabled fork of qemu-3dfx - qemu-3dfx has 2K/XP version
Together with the above NT3.51/4.0 patch it seems SoftGPU may become "universal legacy Windows" 3D package...
Mesa9x works with XP and later, there was only small bug (also in the lasted release, correct in source now) with system version detection causing softpipe was default renderer instead of much faster llvmpipe.
Only really missing piece is ICD support in XP driver (without it you have to replace opengl32.dll
, which leads to unstability).
But after all it is still software acceleration only and a bit slow. I still hope that someone[^1] correct XP driver in VirtualBox to have OpenGL acceleration and after it is relative easy to use WineD3D/Wine9x to do rest of the work.
[^1]: I also hoped, that Oracle development around Windows 7/10/11 driver will be faster, results you can see here https://www.virtualbox.org/ticket/21515#comment:43
Doesn't vmware still build support opengl in windows xp? That might work with wined3d/wine9x. (it also has d3d9 support ofc but I mean it for testing wineD3D/Wine9x support)
https://www.vogons.org/viewtopic.php?t=88678
Mesa9x works with XP and later, there was only small bug (also in the lasted release, correct in source now) with system version detection causing softpipe was default renderer instead of much faster llvmpipe.
Only really missing piece is ICD support in XP driver (without it you have to replace
opengl32.dll
, which leads to unstability).But after all it is still software acceleration only and a bit slow. I still hope that someone1 correct XP driver in VirtualBox to have OpenGL acceleration and after it is relative easy to use WineD3D/Wine9x to do rest of the work.
Footnotes
1. I also hoped, that Oracle development around Windows 7/10/11 driver will be faster, results you can see here https://www.virtualbox.org/ticket/21515#comment:43 [↩](#user-content-fnref-1-bab3dc3243c057c88f874d1baf72b1e3)
Does it work with Vista & 7 either in WDDM or XPDM/XDDM?
Virtualbox 6.1-7 would need a display driver.
However, VMWare still supports 3D acceleration under Windows XP. Its D3D9 support seems to be fine; the main issues are with older ones. Basically, what is needed is a "D3D2-7 to 9" wrapper to make it work.
how did you find out?
@JHRobotics
I still hope that someone correct XP driver in VirtualBox to have OpenGL acceleration
I thought VirtualBox dropped 3D acceleration for XP/Vista:
- XP since VirtualBox 6.0.24
- Vista since VirtualBox 6.1.0_RC1
Does that mean that just the 6.0.24 Guest additions XP driver has to be updated by someone and then installed by users? Or VirtualBox 7 itself has to be modified as well (maintaining that will be problematic)?
Is it possible to add ICD to the os2museum NT3.1-to-7 driver instead?
I thought VirtualBox dropped 3D acceleration for XP/Vista:
* XP since VirtualBox 6.0.24
3d acceleration crashing on 5.x.x (at least on XP host) i found moar stable version 4.2.0
3d acceleration crashing on 5.x.x (at least on XP host)
Versions I mention above are for 3D support in guest.