VOGONS


SoftGPU: OpenGL + DirectX + Glide driver for Windows 95/98/Me

Topic actions

Reply 180 of 183, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
LSS10999 wrote on 2026-09-15, 08:32:

Not sure which option did SoftGPU's "QEMU std driver" correspond. On my Win98 VM, SoftGPU installer automatically chose "VirtualBox 7.1.8 and newer" profile but it complained because it reported the GPU being a Legacy non-PCI VGA, so the installation simply copied necessary files to the destination.

When manually updating the default "Standard VGA" driver from Display properties the only matching driver is the "VESA ISA Adapter". It installs and works. At 1280x800 I'm seeing decent framerates with DirectDraw and Direct3D tests, and the UI drawing seems responsive enough, so for now it kind of works on QEMU 11 just not optimal.

EDIT: In my current test case it seems after installing vmdisp9x shutdown is kind of broken... I have to force power off or reset and deal with ScanDisk on next boot. Exact cause is not yet clear.

Searching a bit online led me to this. Apparently QEMU's PCI bus implementation is not correctly detected by Win98 setup so it was configured as a non-PCI machine. Manually updating the "Plug-and-Play BIOS" (with a yellow exclamation mark) as "PCI bus" allowed the PCI stuffs to be detected, which also installed the PCI counterparts of certain devices (VGA and IDE controller), but I need to clean the non-PCI residues (existing legacy drivers) as the PCI ones would not function due to resource conflict.

PS: Shutdown still doesn't work correctly with SoftGPU installed. After a few more hard resets I kind of having borked the whole system (VFAT Device Initialization Failed). Guess it's time I start things over, preferably using QuickInstall. Maybe I should also fiddle with some other options to modern ones (like Q35/SATA) since I definitely needed some patches (namely patcher9x for the TLB invalidation bug that happens even in VMs) and the system would have already been patched to the point of being usable with more modern configurations anyway.

EDIT: Nope... looks like QEMU's Q35/SATA config doesn't work for QuickInstall. Win98SE fails to boot (hangs) after finishing hardware detection phase.

shadowmage wrote on 2026-09-15, 10:39:

One problem with QXL for retro games is that it does not support some lower color-depth modes such as 256-color or 16-bit modes, and some older games need those.

I do have a WinXP VM using QXL and it indeed doesn't work for some games, though it worked pretty well for browsing the web using MyPal in terms of responsiveness. When I tried "State of War" it refused to launch so I brought in a DDraw wrapper (PAL-DDraw) which allowed the game to run but the mouse pointer isn't working correctly. Maybe I can give your instructions a try if I have time.

As for Win2000 I don't really have a use for retro gaming. It was mainly used for running some old development environments. VBEMP already worked for enabling additional color options just I'm not sure if the drawing is responsive enough.

A question: When you used VBEMP with wrappers instead of official QXL driver for XP, did you keep the VM's video type as "QXL" or you used "VGA" or other options instead?

Last edited by LSS10999 on 2026-09-15, 12:29. Edited 2 times in total.

Reply 181 of 183, by shadowmage

User metadata
Rank Newbie
Rank
Newbie

@LSS10999
I don't use QXL. I run QEMU directly from a shell script and use the standard VGA device:

#!/bin/bash

qemu-system-i386 -monitor stdio
-rtc base=localtime
-display sdl -m 512
-L pc-bios
-cpu host
-M pc,accel=kvm,usb=off
-device VGA
-device AC97
-device virtio-net-pci,netdev=net0
-netdev user,id=net0
-drive if=floppy
-device virtio-blk-pci,drive=boot0,bootindex=1
-drive id=boot0,if=none,file=winxp.qcow2
-cdrom xp.iso
-boot menu=on

So with VBEMP NT I simply use -device VGA, not -device qxl.

As for the Windows 98 shutdown problem, this is a known Win9x issue under QEMU. It happens regardless of the display driver and is not caused by vmdisp9x.

There is a simple workaround. Before shutting down Windows, open command.com in full-screen mode, type:

exit

Then shut down Windows normally. After doing that, shutdown works.

This can also be automated. Create C:\WINDOWS_STARTUP.BAT containing:

@echo off
exit

Then create a PIF for it, set it to Full-screen and Close on Exit, and put it in Start -> Programs -> StartUp.

I also use a ready-made Win98 qcw image from Archive.org which already has the shutdown problem fixed and works very well with QEMU, so most of the time I don't need to deal with this manually.

Reply 182 of 183, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie

Win98 QuickInstall 1.0.1a works correctly with default i440FX/IDE machine config and can be booted successfully after install.
- PCI bus is correctly configured.
- QEMU USB Tablet is correctly detected so mouse integration works with virt-manager.
- e1000 network adapter driver is installed out-of-box.
- AC97 (ICH6) sound driver can be installed from Extra Drivers (driver.ex), using the Avance one.
- SoftGPU correctly detects QXL and informs me that it is not supported (yet).
- Some other PCI devices exist but not important for my usage, so I kept them in Other Devices (without drivers).

Looks like QEMU STD VGA indeed corresponds to "VGA" video type. This option is available in virt-manager for QEMU 11. Changing video type to VGA from QXL will make SoftGPU correctly detect QEMU STD and install correct drivers using "QEMU (software 3D only)" profile.

The driver works correctly after reboot. DXDIAG also works correctly for both DDraw and Direct3D and I'm getting some decent framerates here.

And the system shuts down fine this time. Maybe the issue has been addressed with the QuickInstall image.

Reply 183 of 183, by The Solutor

User metadata
Rank Newbie
Rank
Newbie
LSS10999 wrote on 2026-09-15, 13:32:

And the system shuts down fine this time. Maybe the issue has been addressed with the QuickInstall image.

Probably that and other problem you faced depends on setup done in acpi mode or not (IIRC win98 FE has the ACPI mode disabled by default, and you need a switch)

setup.exe /p j

After it's installed you can still enable it adding a registry DWORD named ACPIoption in

HKEY_LOCAL_MACHINE \Software\Microsoft\Windows\CurrentVersion\Detect

Then redetect all your HW

Maybe Quickinstall did that for you (I never used It so, I'm just guessing)

The above is not a small detail, it literally transform Win98 from Win9x on steroids to a relatively modern OS.

Win98SE should do all of that automatically, if it thinks the HW is up the task, something that not always happen.