Win98 Retro Gaming VM

LogicalUnit

New Member
Nov 18, 2023
14
0
1
Hi everyone! I would like to set up a Windows 98 Proxmox VM so that I can play some old games from my childhood. Ideally I would like this VM to run on my rack server, and just connect to it with SPICE. However, there are some issues with graphics and audio drivers: I get only minimal resolution and colours, and the system doesn't detect an audio output device.

Someone on YouTube has managed to get this set up and working, but I'm not familiar with the setup and struggle to follow: https://www.youtube.com/watch?v=4J9Br9ojkhg

Any tips to get sound and video working better on Win98 through SPICE? Thanks!
 

Attachments

  • Screenshot from 2024-04-27 12-52-13.png
    Screenshot from 2024-04-27 12-52-13.png
    208.9 KB · Views: 30
  • Screenshot from 2024-04-27 12-35-14.png
    Screenshot from 2024-04-27 12-35-14.png
    231.2 KB · Views: 29
I think there are better solutions for that. Luckily I got some physical Win98 Gaming rigs so I don't need to virtualize them. But I remember watching where they used PCem and 86Box that were able to emulate the hardware that you probably might mant like Voodoo GPUs for GLIDE and creative soundcards. So maybe running a Win11 VM that runs a Win98 emulator might be a better choice for retro gaming.

Edit:
See for example PCem: https://www.youtube.com/watch?v=mWEE2RJj3YI
 
Last edited:
  • Like
Reactions: guletz
Tracking this, as I'd like to do it as well. I need to watch the video, but as I suspected, it's a lot harder than he makes it sound, and requires a lot of custom compiling and hackery that isn't suitable for the relatively controlled environment of Proxmox. From one of the comments, about a year ago:

@DyeusPaterPlanitiae
1 year ago
The video author says it's just "4 simple command lines" and you get 3d acceleration on Windows 98SE. Surely not.

Steps not shown explicitly include:

1) Acquiring and successfully compiling the QEMU-3dfx port. This also requires satisfying a series of dependencies which, depending on the OS, might require compiling some more. In my case, I had to find and compile "pexports" as it simply did not exist in any accessible form anywhere I looked.
2) Procuring the Windows 98 SE ISO*. Easily done through the *WinWorldPC library, if you don't possess a copy.
3) Assembling the *custom floppy disk*. This is a mystery to me. After acquiring the individual files (a fetch quest on its own) there was no way to put them all in a single 1.44MB image.
4) Getting the 3 mandatory drivers listed in the requirements at the Wiki (also not linked anywhere), which were a pain to get. Also, no instructions here nor on the wiki on how to get them into the virtual OS.
5) Getting the *2 optional extra files*, as it seems they are being used in this video and without them, your experience may vary. No idea where those would be found.
6) Actually following what this video shows

Most important step: getting things to actually work out as shown on the video. I've tried to follow this 9 times and it always fails with a different error.

I am aware nowhere does it say this is supposed to be a tutorial or guide (I CTRL+F'd it to make sure!). I'm glad this exists and that someone was able to make it work. Congratulations. I look forward to its progress for what it means for retro PC gaming using modern hardware. But it almost feels like the demonstration is intentionally obtuse.

As @Dunuin notes, you'll likely have a much easier time setting up a Windows 11 VM with a real GPU passed through and putting a modern emulator on it. Our modern systems should have the raw power to handle this sort of thing.

Do keep us updated. I'd like to do this as well at some point. :)
 
Last edited:
Our modern systems should have the raw power to handle this sort of thing.
Barely. Depends on how well optimized it is. Even very old stuff like the Sega Saturn is a hard task for modern hardware. Few years ago proper emulation of a Win98 PC with sound and GPU emulation wasn't thinkable.
 
Barely. Depends on how well optimized it is. Even very old stuff like the Sega Saturn is a hard task for modern hardware. Few years ago proper emulation of a Win98 PC with sound and GPU emulation wasn't thinkable.
It needs a surprisingly beefy config, yes, but I was thinking in context of a Proxmox server with decent hardware for multi-guest virtualization, and a real GPU.

In any case, it'd probably be a lot easier than trying to virtualize a 1990s Windows machine directly, at least to start with. DOSBox has come a long way; it can do quite a lot running on a bare metal Windows 11 machine.

The best solution might actually be to source a working, well-preserved system of the era and run actual Windows 98 on an SSD with an era-appropriate GPU and sound card, or maybe even one of those 486 or Pentium SBCs. I haven't investigated that yet, but I know it's doable.
 
It needs a surprisingly beefy config, yes, but I was thinking in context of a Proxmox server with decent hardware for multi-guest virtualization, and a real GPU.
Problem with retro-gaming is that your modern Nvidia/AMD/Intel GPUs won't be able to play old games. The hot stuff back then, when Win95/98 were used, were the Voodoo GPUs with its GLIDE API. No Non-Voodoo GPUs, back then or today, will be able to play those games. So even with GPU passthrough you need to emulate the whole GPU in software by the CPU. Later there were Nvidia GPUs like the Geforce 256 or Geforce 2 Ti. But last Geforce that is supported by the Win98 drivers is the Geforce 4 Ti 4600. So again, won't help to passthrough a GPU unless you somehow passthrough a PCI version of a over 20 years old Geforce GPU. And those aren't cheap. Such a Voodoo3/4/5 or Geforce 4 Ti 4600 usually costs a few hundred Euros on the used market.

Similar problem with sound emulation. Running DOS games on my laptop works fine as long as I only use soundblaster emulation. Once I enable MT-32 emulation my laptop can't handle the load. And yes, I care about stuff like that and won't play games without that MT-32 emulation. See for example here for a MT-32 vs Soundblaster comparison: https://www.youtube.com/watch?v=m6r5iWfbjlI
MT-32 is more a DOS/Win95 thing, but for Win98 there was also hardware acceleration by the soundcards and stuff like EAX that is needed if you want proper sound playing games like Half Live.
 
Last edited:
Problem with retro-gaming is that your modern Nvidia/AMD/Intel GPUs won't be able to play old games. The hot stuff back then, when Win95/98 were used, were the Voodoo GPUs with its GLIDE API. No Non-Voodoo GPUs, back then or today, will be able to play those games. So even with GPU passthrough you need to emulate the whole GPU in software by the CPU. Later there were Nvidia GPUs like the Geforce 256 or Geforce 2 Ti. But last Geforce that is supported by the Win98 drivers is the Geforce 4 Ti 4600. So again, won't help to passthrough a GPU unless you somehow passthrough a PCI version of a over 20 years old Geforce GPU. And those aren't cheap. Such a Voodoo3/4/5 or Geforce 4 Ti 4600 usually costs a few hundred Euros on the used market.

Similar problem with sound emulation. Running DOS games on my laptop works fine as long as I only use soundblaster emulation. Once I enable MT-32 emulation my laptop can't handle the load. And yes, I care about stuff like that and won't play games without that MT-32 emulation. See for example here for a MT-32 vs Soundblaster comparison: https://www.youtube.com/watch?v=m6r5iWfbjlI
MT-32 is more a DOS/Win95 thing, but for Win98 there was also hardware acceleration by the soundcards and stuff like EAX that is needed if you want proper sound playing games like Half Live.
Oof. I didn't realize the emulation situation was still that dire. (Though, it certainly puts my failures to emulate modern sound and video hardware into perspective.)

I've got an Analogue Pocket with a Dock that handles everything up to 16 bit stuff (including an Amiga 500, but not (quite) a Mac). Batocera also handles quite a bit and will run on relatively low-powered x86 hardware and ARM devices.

I need to check into 86Box and PCem. I'd heard of them but kind of forgot to look them up. Thanks for reminding me. :)
 
Hi. I have to point You at JHRobotic’s „softgpu“ project on git. It’s like magic.

It brings a 4k+ capable driver for qemu’s STD card in win98 + direct3D/glide wrappers from wine/nine.
I can get around 500 3D2001seMarks or 10 fps in Q3A on PVE streamed via novlc out of the box.

If using virtualbox with HostGPU accelerated pipe (VMSVGA+3D) it’s up to ~5700 3D2001seMarks. Q3A: 60 fps+
I also tried running the 98VM nested on win11/mint with GPU in pass-through... but it’s very slow with kvm on kvm (old host cpu)
PS: If you start the 98VM on PVE manually with „-display spice-app“ you can either use local or remote (ssh -X) xserver to render the VM display from qemuSTD via spice client app instead of vnc. Either to play locally or forward via sunshine…
 
  • Like
Reactions: Kingneutron

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!