@joerg
Quote:
Why wasn't the Voodoo emulation from WinUAE used as base for the QEmu implementation? The AmigaOS Voodoo drivers, both 2D and 3D, are working with it.
Most likely, the WinUAE driver would only work with AmigaOS PPC.
From what I can see, the author also wants it to work on both x86 and PPC, covering all systems.
You’ll surely point out that WinUAE uses QEMU to emulate the PPC CPU when running AmigaOS4 PPC on classic hardware (yes, WinUAE uses QEMU, in case anyone didn’t know). But that’s a very old version… very old. I think it comes from QEMU 3 if I remember correctly, and it was definitely stripped down to work properly with WinUAE under the CPU. I have no idea if it also emulates Voodoo.
This emulation QEMU voodoo has come in handy for me twice recently—even though it doesn’t work perfectly.
Example 1:As you’re reading this thread, @balaton has released a new driver for QEMU (ATI).
I tested it under Sam460ex emulation. It didn’t work. Under QEMU (with PCI passthrough enabled), only the SM501/502 is available.
If I didn’t have the Voodoo driver for QEMU, the scope of troubleshooting potential issues would be very broad.
After verifying that the Voodoo driver for QEMU works on Sam460ex, a possible issue was u-boot. It checks if the connected card is ATI and configures various settings. It’s possible that QEMU (ati) doesn’t work correctly yet on Sam460ex after disabling this, but I think @balaton is already looking into that.
Example 2:As you know, I have QEMU PCI passthrough with a Radeon card. I also connected an NVMe drive to use as my main system drive.
The system using PCI passthrough is Pegasos2. Here, to start the PCI passthrough itself, you need to use bboot.
“pegasos2.rom” boots on its own, then bboot.fth is launched. It runs Kickstart.zip and boots the system.
This doesn’t happen automatically, so you have to bypass the restriction on booting the Pegasus2 emulation from ROM. Give it the commands… I’ll skip the rest of the details.
By accident, I added a “REM” for the RadeonHD driver in Kicklayout. The system wouldn’t boot. I didn’t have a modified version of Kicklayout where the SM501 driver would also be loaded.
I was in for a real ordeal. Connecting the monitor (My new monitor doesn't support resolutions lower than 800x600) to an X86_64 machine with PCI passthrough. Enabling the Intel card. Launching some X11/Wajland session and running QEMU without PCI passthrough from some system image to rebuild Kickstart.zip.
I hadn’t removed “MODULE Kickstart/3dfxVoodoo.chip” in Kicklayout, so the test was simple.
Booting the system with Voodoo via a remote “VNC" (Available as a QEMU video output option) session, correcting the entries in the running system in Kicklayout for RadeonHD, and rebuilding
Kickstart.zip.
Example 2 is very extreme, but it shows that the Voodoo driver can save your butt

I disagree that the author’s work on the Voodoo driver is unnecessary.
It’s not perfect, but it’s not a waste of time...
It comes in handy in everyday life (for me).
Edited by smarkusg on 2026/4/30 22:14:59
Edited by smarkusg on 2026/4/30 22:17:49
Edited by smarkusg on 2026/4/30 22:19:04