Skip to content

Latest commit

 

History

History
69 lines (43 loc) · 4.13 KB

File metadata and controls

69 lines (43 loc) · 4.13 KB

QEMU

There is no native 3D acceleration support for QEMU yet, but you can apply QEMU-3dfx patches.

Next problem with QEMU is, that Windows 98 incorrectly detected PCI bus as PnP BIOS. There is 2 solutions for it.

Non-PnP BIOS

This is best for fresh installations. First you need SeaBIOS with disabled CONFIG_PNPBIOS. You can compile manually from source or you can use my binary: seabios-qemu.zip. Extract bios.bin somewhere and run QEMU with '-bios /path/to/somewhere/bios.bin'. Windows 9x installation with this BIOS should detect all hardware without problems.

PCI bus detection fix

If you have already installed system and you don't see any PCI hardware, use these steps:

  1. Open Device Manager and locate Plug and Play BIOS (Exclamation mark should be on it)

QEMU PCI: Plug and Play BIOS

  1. With this device selected click on Properties, select Driver tab and click on Update driver

QEMU PCI: Plug and Play BIOS properties

  1. In Wizard select second option (Display a list of all drivers in specific location, ...)

QEMU PCI: list drivers

  1. Select Show all hadrware and from models list choose PCI bus, click on next, confirm warning message and reboot computer.

QEMU PCI: select PCI bus QEMU PCI: warning message

  1. After reboot, system will ask you for drive on every new discovered device. All you need to do, is select Search for the best driver... and clicking on next. Please don't select new or updated drivers here - you can do it later. You may need reboot computer several times.

QEMU PCI: new PCI device QEMU PCI: select best driver

  1. You will be asked for VGA driver and unknown device drivers. Still select default generic driver here!

QEMU PCI: standard PCI VGA QEMU PCI: unknown device

  1. After last reboot open Device manager again - as you see, you have 2 VGA cards now, so select Standard Display Adapter (VGA) (the working one) and click on Remove.

QEMU PCI: 2 VGA adapters

  1. After reboot (again), you have working system now and you can install SoftGPU and other drivers.

QEMU-3dfx

  1. Built patched QEMU
  2. Install Windows 98 with disabled CPU accelerator (it's a bit slow)
  3. Check if you see PCI bus on Hardware manager
  4. (optional) Install audio driver you're using AC-97
  5. Mount SoftGPU ISO and install SoftGPU
  6. Reboot and check if video driver works
  7. Now you can shutdown VM and run again with CPU accelerator enabled
  8. Now navigate to SoftGPU CD to extras\qemu3dfx folder and you have do set the signature:

For QEMU-3dfx need both wrapper and hypervisor same signature to works. This signature is first 7 characters from GIT revision hash. You can obtain the hash by this command in cloned qemu-3dfx repository:

git rev-parse HEAD

Binaries in SoftGPU allows to override build signature registry keys. To check that you have same signature as QEMU run testqmfx.exe (in extras\qemu3dfx). If you see error 0x45A (= ERROR_DLL_INIT_FAILED), you have wrong signature. In this case edit set-sign.reg (copy it from CD to writeable location) and rewrite the value REV_QEMU3DFX to revision hash obtain from GIT (you need only first 7 characters, retype full hash isn't necessary). After it apply file to registry (by double click on file) and run testqmfx.exe to check the result - you should see rotating triangle on success and see OpenGL information from your host GPU.

  1. Copy fxmemmap.vxd and qmfxgl32.dll to C:\WINDOWS\SYSTEM and apply file icd-enable.reg (this tells to driver using qmfxgl32.dll when system opengl32.dll ask about OpenGL driver).
  2. reboot (required)
  3. run GLchecker or some other 3D application to verify settings.