VOGONS


QEMU 3Dfx Glide Pass-Through

Topic actions

Reply 200 of 236, by CybeREX

User metadata
Rank Newbie
Rank
Newbie
kjliew wrote on 2021-08-18, 08:41:

If you want fullscreen game play, then you will have to switch into fullscreen first (Ctrl-Alt-F) before launching the game.

If I did that way, I got black screen and monitors turn off (no signal) I use Nvidia gtx640 GPU and two monitors. Both switch off after Ctrl-Alt-F in Windows guest and run game exe file. (Manjaro Host)

kjliew wrote on 2021-08-18, 08:41:

Yes, create a text file named glide.cfg in the same location where qemu-system-i386 is invoked.
FpsLimit,36

Work fantastic! Thanks! And it's great feature for some old games with different fps dependence.
Btw NFS with 30 fps limit seems run correct way, compare to may old memories (how it run on my P133 with Voodoo2 gfx)
PS. In NVIDIA settings I have Sync to VBlank option on. But when I use option Enable Graphics API Visual Indicator and run Win98 guest there is message "BLIT - VSYNC OFF"

Reply 201 of 236, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie
CybeREX wrote on 2021-08-19, 05:20:
kjliew wrote on 2021-08-18, 08:41:

If you want fullscreen game play, then you will have to switch into fullscreen first (Ctrl-Alt-F) before launching the game.

If I did that way, I got black screen and monitors turn off (no signal) I use Nvidia gtx640 GPU and two monitors. Both switch off after Ctrl-Alt-F in Windows guest and run game exe file. (Manjaro Host)

Alright, it's NVIDIA GPU. Too bad, XFree86-VideoModeExtension does not work correctly with NVIDIA GPUs on the propriety driver. It is the same on my NVIDIA GT730. It is an obscured extension though and anything with X11 nowadays is mostly ignored. You could try the open source nobody-care Nouveau. Both Intel and AMD open source drivers on Linux work great on laptops. XWayland and XQuartz both faked out the support for VideoModeExtension, so no real fullscreen mode switch for them, too.

Unfortunately, that is how OpenGlide and MESAGL would do fullscreen for now. It is not an ideal solution and mode switching will one day be gone for sure. I need to figure out how to emulate SDL2 borderless window fullscreen and center the rendering viewport. This is still WIP.

Reply 202 of 236, by Bruninho

User metadata
Rank Oldbie
Rank
Oldbie

@kjliew: How did you get it to work with Grand Prix 3? I have only the Software 3D option in graphics menu. I saw your video on YT and it had another option.

"Design isn't just what it looks like and feels like. Design is how it works."
JOBS, Steve.
List of ALL Android vulnerabilities
Right to Repair sucks and is illegal!

Reply 204 of 236, by Bruninho

User metadata
Rank Oldbie
Rank
Oldbie

@Kjliew: Here's another take, you already know the specs of my current rMBP, if I get Ubuntu on my mac in dual boot mode (bare metal), will qemu-3dfx perform better than it does on macOS with xquartz ? I noticed that last time I tried to compile it with my Ubuntu VM, I forgot that the VM was set to 2GB RAM and 256mb VRAM (because it was initially going to be just a web server development environment), maybe ramping it up a bit would improve, who knows.

"Design isn't just what it looks like and feels like. Design is how it works."
JOBS, Steve.
List of ALL Android vulnerabilities
Right to Repair sucks and is illegal!

Reply 205 of 236, by Bruninho

User metadata
Rank Oldbie
Rank
Oldbie

I got a report to give about running it under Ubuntu 20.04 in VMware Fusion.

I managed to compile and install everything (except the GLIDE.OVL of course). Also managed to compile thr wrappers and install them on my Windows 98 SE virtual machine. Now comes the thing:

First test, Need For Speed II SE: I'd say 20/21.7 FPS on first race is not bad, but it is also great. However I spotted some graphics glitches (also saw the same on macOS version): Car has red and blue tyres for each side, for example, and a few glitches here and there, but nothing that would affect very much the gameplay. I'd say it was playable and maybe on bare metal install (if I dual boot Ubuntu/macOS here) I'd reach peak performance. Maybe.

Second test, FIFA 98 RTWC: As soon as I reached the game menu, everything froze. I had to reboot the VM. Waiting... another attempt... nope, it froze again.

Same with FIFA 99, except that it crashed (froze with a black screen) after the starting lineup intro screen.

Well... something must not be right but then I was able to run NFS II SE...

EDIT: I also noted that after NFS II SE test, I had the impression that it was slightly faster than macOS/X11 implementation. Surely XQuartz has a performance penalty on macOS.

EDIT 2: I recompiled it with QEMU 6.1.0 on macOS/X11 version, and I attempted to use HVF with Windows 98 SE VM. When I get to the login screen, the machine shuts down back to the macOS terminal. Interesting. It's complaining about:

vmx_write_mem: mmu_gva_to_gpa 8123e000 failed

Google with similar issues reports that -cpu host or -cpu Haswell-v4 in my case would fix it, but nope it didn't solve the problem for me. Investigating... no matter which -cpu I use, same result. The fact that I can get to the login screen on Windows 98SE while using HVF shows that it might be possible. I felt a speed increase during boot when ScanDisk was running (due to the crash). I might *sighs* have to try out with a clean install of Windows 98SE.

"Design isn't just what it looks like and feels like. Design is how it works."
JOBS, Steve.
List of ALL Android vulnerabilities
Right to Repair sucks and is illegal!

Reply 206 of 236, by Sandi1987

User metadata
Rank Member
Rank
Member

When i booting Windows 98 i got this error:

qemu-system-i386: WHPX: Failed to emulate PortIO access with EmulatorReturnStatus: 2
qemu-system-i386: WHPX: Failed to exec a virtual processor

How to fix this? I have AMD Ryzen CPU.

Windows 98 boot fine without WHPX but no QEMU-Acceleration.

Reply 210 of 236, by mr.cat

User metadata
Rank Member
Rank
Member
CybeREX wrote on 2021-08-26, 07:46:

I got WineD3D For Windows dll's. Should I place it in game folder and install DirectX9 in Windows98? Or place in Windows\System folder?

Maybe you got this sorted already, but check README.txt.
They go to game folder, but for DirectX1-7 some file editing is also needed.

@Sandi1987: Have you tried WHPX with vanilla (unpatched) qemu?
If that doesn't work either, maybe there's some switch wrong or missing as suggested. This ofc assuming that vanilla qemu has WHPX compiled-in, which I'm not sure about.
I guess your qemu-3dfx binary should be ok if you followed the compilation recipe.
BIOS/UEFI also has some virtualization switches. If you haven't messed with this stuff before, those maybe worth checking out.

Reply 211 of 236, by CybeREX

User metadata
Rank Newbie
Rank
Newbie
Bruninho wrote on 2021-08-29, 03:05:

First test, Need For Speed II SE: I'd say 20/21.7 FPS on first race is not bad, but it is also great. However I spotted some graphics glitches (also saw the same on macOS version): Car has red and blue tyres for each side, for example, and a few glitches here and there, but nothing that would affect very much the gameplay. I'd say it was playable and maybe on bare metal install (if I dual boot Ubuntu/macOS here) I'd reach peak performance. Maybe.

Hello. I do same tests. My host machine have Manjaro Linux and VMware player for tests. On host OS I have 60+ FPS in NFSIISE game. (GTX640 GPU) In VMware player I setup Ubuntu 20.04 with VT-x/EPT option on. And there NFS have 15-18-23 FPS only.

Reply 212 of 236, by Bruninho

User metadata
Rank Oldbie
Rank
Oldbie

I get full performance from NFS2SE when playing through my Windows XP SP3 (+SP4 USP) VM on VMware Fusion (macOS).

"Design isn't just what it looks like and feels like. Design is how it works."
JOBS, Steve.
List of ALL Android vulnerabilities
Right to Repair sucks and is illegal!

Reply 213 of 236, by Sandi1987

User metadata
Rank Member
Rank
Member

I got error "SHELL32.DLL is connected with missing SHLWAPI.DLL..." with KVM enabled when i start Windows 98 in Kubuntu in VMware Workstation (Windows 10 Host).

EDIT:

The same error in Windows 11 Guest (VMware Workstation).

Reply 214 of 236, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie

@Sandi1987
For AMD Ryzen CPU, you would be better off with Windows 2000 or Windows XP VM. If you have games that only work on Win98, then there is no other solution other than stop using QEMU acceleration to play the game. Your Ryzen 5600X may handle some games well without QEMU acceleration. Some games that only work on Win98 may have after-life fans' made patch that make them work at least on Windows XP, so this is another option.

Both GrandPrix 3 and Viper Racing work on Windows XP VM.

Reply 215 of 236, by Sandi1987

User metadata
Rank Member
Rank
Member

When i start Windows XP in Windows 10:

WHPX: setting APIC emulation mode in the hypervisor
Windows Hypervisor Platform accelerator is operational
whpx: injection failed, MSI (0, 0) delivery: 0, dest_mode: 0, trigger mode: 0, vector: 0, lost (c0350005)

The same error in Linux.

Last edited by Sandi1987 on 2021-09-02, 07:15. Edited 4 times in total.

Reply 216 of 236, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie
Sandi1987 wrote on 2021-09-02, 06:27:
When i start Windows XP in Windows 10: […]
Show full quote

When i start Windows XP in Windows 10:

WHPX: setting APIC emulation mode in the hypervisor
Windows Hypervisor Platform accelerator is operational
whpx: injection failed, MSI (0, 0) delivery: 0, dest_mode: 0, trigger mode: 0, vector: 0, lost (c0350005)

The same error in Linux.

APIC emulation is broken on Windows 10 WHPX from upstream QEMU. You need to disable it by using kernel-irqchip=off, I also don't understand why it was left enabled by default. Someone told you the same thing you'd been told on emails and you seemed to ignore every clues that everyone shared.

You can't get the same error in Linux, Linux does not have WHPX.

Reply 218 of 236, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie

whpx: injection failed, MSI (0, 0) delivery: 0, dest_mode: 0, trigger mode: 0, vector: 0, lost (c0350005)

No way you can get the same error in Linux.

Why can't you just post your full QEMU command line whenever you asked a question trying to get help?

Reply 219 of 236, by Sandi1987

User metadata
Rank Member
Rank
Member

qemu-system-i386 -L pc-bios -rtc base=localtime -M pc,accel=kvm -hda xp.img -device sb16

I don't get any error now in Windows XP in Linux but QEMU-Acceleration doesn't work for me in Windows XP (in VMware Workstation and installed Linux on external SSD).

Last edited by Sandi1987 on 2021-09-02, 08:42. Edited 2 times in total.