alberthamik wrote on 2019-09-10, 07:19:
I'm rather curious, realizing the potential of this project, if it would be possible to add this pass-through feature to QEMU's PowerPC platform, specifically it's Mac99 emulation for Mac OS 9.X, which the voodoo cards technically worked on, but usually had to be run with a specific Macintosh release of voodoo card, or you could flash the GPU firmware. However, I'm unaware if Macintosh actually supported glide per se, or if it's support was mostly with just the GPU accelerating OpenGL or something. I've been glancing into other things if it falls into the latter, such as PCem's voodoo emulation.
No firmware flash was required to use a Voodoo2 (and maybe Voodoo1) card in a mac. You could install most reference design PC voodoo2 cards in a PCI based Mac using 3dfx's reference drivers for mac. 3dfx did release a mac firmware you can flash onto their voodoo3-2000 and voodoo3-3000 PCI/AGP cards which was necessary to use them as a full 2D/3D graphics card. I used a 3dfxVoodoo3-2000 for years. I have never seen the original Unreal game look as good as it did using the glide driver. There were some mac specific Voodoo1 cards such as the VillageTronic Voodoo1. The only mac-specific difference in those was that it had a built in mac to vga adapter for the video passthough. I also had one of those.
So with 3dfx's Mac/PPC reference drives installed in the MacOS9 PPC VM we should be able to do PCI passthough to a standard PCI Voodoo2 card just like if the same card was installed in a mac. (or a QEMU side voodooHardware Emulator. ) Is that possible? I'd like to understand more about achieving this goal.
The alternative would be to write macOS9 Glide shim drivers that pass on the glide commands to the natively running QEMU glide translater. There are a couple other projects that may have helpful information to do this. One was a shim that translated glide to opengl on the mac so that you could run glide games without a 3dfx card . The other did the opposite and used MESA to provide an implementation to run openGL games on my Voodoo card.