JHRobotics / softgpu

SW and HW accelerated GPU driver for Windows 9x Virtual Machines
MIT License
677 stars 18 forks source link

Questions About QEMU Bochs/VMWare Display #7

Open NekoToo opened 1 year ago

NekoToo commented 1 year ago

Hello, first I want to say that this project is really awesome allowing 3D acceleration in Windows 9x/ME virtual machines :smiley:

I have a problem when I try to install SoftGPU in QEMU using either the -device bochs-display or -vga vmware it shows this: image

I was wondering if there was a way to get it to successfully install in QEMU? I don't know if this is an issue or my own fault. :sweat_smile:

I did look in the README and I didn't really find anything specifically about this but maybe I missed something :sweat:. I did get it successfully installed in VirtualBox but it's capped at 30 Hz and the cursor capture isn't very good in VirtualBox on Linux for me at least. Also, I want to run it on an ARM device and VirtualBox isn't supported on ARM other than on macOS. I would really appreciate any help with this. :smiley:

I am running QEMU emulator version 8.0.0 on Arch Linux.

SuperMaxusa commented 1 year ago

I also tried to install on QEMU but there is a problem.


As far as I understand, need first install the PCI Bus driver through the Device Manager for avoid error No supported VGA adapter found! (instrustion)

pci

Next, I tried installing SoftGPU in the normal way and rebooted the system. After reboot, I opened "Display" settings -> tab "Settings" -> click on "Advanced" -> tab "Adapter" -> "Change".

I specified the folder "C:\drivers\softgpu" and the file "vmdisp9x.inf" when installing the driver and selected "VMWare SVGA-II PCI adapter"

driver

After that, the system rebooted, the driver began to show like this:

vga

FYI, I used Windows 98 SE and QEMU 7.2 (with -vga vmware). SoftGPU version: v0.4.2023.11-alpha (https://github.com/JHRobotics/softgpu/commit/077444e8e1105f2295a6a0b49a425305663aa157)

NekoToo commented 1 year ago

I followed what you did with -vga vmware and I have the exact same result. :pensive:

The QEMU VMware display is really weird as in there's very little documentation about it and there isn't really any drivers for it on any operating system that work properly. :persevere:

If I move the mouse I can see the cursor moving.

foxlet commented 1 year ago

So a couple of notes on Windows 98 inside QEMU....

There's already two 2D cards that have native drivers: cirrus-vga and ati-vga, both provide full 2D support under 98SE. Supposedly std-vga (aliased to VGA) is compatible with SoftGPU's 2D driver, but in practice there's no inf data for QEMU's implementation, and installing it anyway shows that it's not really properly supported.

As for 3D support, it doesn't seem currently possible as VMWare's SVGA3D API isn't implemented under QEMU (that's not to say QEMU couldn't support 3D, if someone is up to implement virtio-gpu-gl, which is already being used by Linux guests). With the current software package, you would be limited to software acceleration.

JHRobotics commented 1 year ago

Hello, thanks to report bug and solution. I looked to QEMU code and -vga vmware look useless - there is only minimal subset of commands and works only with 32 bpp colors. In last release v0.4.2023 both of adapter works, unfortunately without any 3D acceleration available.

But I wrote VirGL to TODO list - there have already been multiple requests for it - so I would like to implement it in future.

CE1CECL commented 10 months ago

FYI: I know this issue predates my repo, but for future reference, can someone try to compile this? https://github.com/CE1CECL/qemu-vmvga it has more commands, and 3D is being worked on (its the point of that repo)