Qemu package and guide for OSX available

About Qemu-system-ppc, a PPC Mac emulator for Windows, macOS and Linux that can run Mac OS 9.0 up to Mac OS X 10.5

Moderators: Cat_7, Ronald P. Regensburg

bribri
Inquisitive Elf
Posts: 35
Joined: Tue Apr 04, 2023 4:20 am

Re: Qemu package and guide for OSX available

Post by bribri »

The latest builds, both regular and screamer, fail to run in macOS 13 with the following error:

Code: Select all

Symbol not found: _endwin$NCURSES60
This appears to be the same error reported for the 68k builds here:

viewtopic.php?p=80225#p80225

Is there a particular repo or branch that's used to make these special builds of Qemu with sound support? What would I need to do to get the right source code if I wanted to compile it myself? I've been looking around but I haven't found any mention of it anywhere!

edit: I believe I found it. I used this repo: https://www.github.com/mcayland/qemu
and checked out the latest screamer-vX.X.X branch.
User avatar
Cat_7
Expert User
Posts: 6438
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: Qemu package and guide for OSX available

Post by Cat_7 »

Yes, you found it.
Please note Qemu aims to support the last two macOS versions, so you might run into trouble when it relies on anything not available in older versions.

Best,
Cat_7
User avatar
Cat_7
Expert User
Posts: 6438
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: Qemu package and guide for OSX available

Post by Cat_7 »

Code: Select all

I can't believe we don't have working sound for mac99 in the master yet, we really need to step up our game.
Do you have any suggestions on who would be able to do that? ;-0

Best,
Cat_7
User avatar
adespoton
Forum All-Star
Posts: 4597
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com

Re: Qemu package and guide for OSX available

Post by adespoton »

darthnvader wrote: Sun Mar 02, 2025 11:15 am
Cat_7 wrote: Wed Jan 06, 2016 11:01 pm Experimental builds. Be warned!

Note: For all sound-enabled builds: When running Mac OS 9.x do not set memory to 1024Mb or higher, or else sound will break. Do not turn off Virtual Memory.
Make sure you always have the latest QuickTime and iTunes installed for your guest OS.
Note: If you encounter crashes in the Apple Audio Extension, start Mac OS without extensions and use the extension manager to disable the Apple Audio Extension.

Note: All builds as of 29-12-2024 contain the options to use a table style mouse and shared folder with the host. See the readme included in the download. These are not error free, but Qemu can be run without them.

05-01-2025
Qemu-system-ppc-screamer-macOS-universal-05-01-2025.zip
https://surfdrive.surf.nl/files/index.p ... P/download
Note: slirp networking might not work: this seems a bug. If an option for you, set ipv6 to link-local-only to enable the slirp connection.
Be sure to read the command line options for file sharing and tablet driver in the readme and from this post: viewtopic.php?t=11973

20-01-2024 Qemu-system-ppc 8.2 for macOS with sound and virtio support
https://surfdrive.surf.nl/files/index.p ... k/download
Check any particular needs for the command line in the table at: http://www.emaculation.com/doku.php/ppc ... mu-for-osx
Note: The virtio options only work with Mac OS 9.x guests.
Be sure to read the command line options for file sharing and tablet driver from this post: viewtopic.php?t=11973

20-01-2024 Qemu-system-ppc 8.2 for macOS with sound support
https://surfdrive.surf.nl/files/index.p ... P/download
Check any particular needs for the command line in the table at: http://www.emaculation.com/doku.php/ppc ... mu-for-osx

29-05-2022 Qemu-system-ppc-7.1 for macOS with sound support, 60Hz screen refresh and FPU speedup
Qemu-system-ppc-macOS-7.1-pre-screamer-60hz-fpu-29-05-2022
https://surfdrive.surf.nl/files/index.p ... K/download
Built on Monterey, also runs on Big Sur. Best to put in the Applications folder.
I can't believe we don't have working sound for mac99 in the master yet, we really need to step up our game.
You have some code to commit that overcomes the current issues?
darthnvader
Apple Corer
Posts: 206
Joined: Sun Feb 07, 2016 4:40 pm

Re: Qemu package and guide for OSX available

Post by darthnvader »

adespoton wrote: Sun Mar 02, 2025 10:37 pm
darthnvader wrote: Sun Mar 02, 2025 11:15 am
Cat_7 wrote: Wed Jan 06, 2016 11:01 pm Experimental builds. Be warned!

Note: For all sound-enabled builds: When running Mac OS 9.x do not set memory to 1024Mb or higher, or else sound will break. Do not turn off Virtual Memory.
Make sure you always have the latest QuickTime and iTunes installed for your guest OS.
Note: If you encounter crashes in the Apple Audio Extension, start Mac OS without extensions and use the extension manager to disable the Apple Audio Extension.

Note: All builds as of 29-12-2024 contain the options to use a table style mouse and shared folder with the host. See the readme included in the download. These are not error free, but Qemu can be run without them.

05-01-2025
Qemu-system-ppc-screamer-macOS-universal-05-01-2025.zip
https://surfdrive.surf.nl/files/index.p ... P/download
Note: slirp networking might not work: this seems a bug. If an option for you, set ipv6 to link-local-only to enable the slirp connection.
Be sure to read the command line options for file sharing and tablet driver in the readme and from this post: viewtopic.php?t=11973

20-01-2024 Qemu-system-ppc 8.2 for macOS with sound and virtio support
https://surfdrive.surf.nl/files/index.p ... k/download
Check any particular needs for the command line in the table at: http://www.emaculation.com/doku.php/ppc ... mu-for-osx
Note: The virtio options only work with Mac OS 9.x guests.
Be sure to read the command line options for file sharing and tablet driver from this post: viewtopic.php?t=11973

20-01-2024 Qemu-system-ppc 8.2 for macOS with sound support
https://surfdrive.surf.nl/files/index.p ... P/download
Check any particular needs for the command line in the table at: http://www.emaculation.com/doku.php/ppc ... mu-for-osx

29-05-2022 Qemu-system-ppc-7.1 for macOS with sound support, 60Hz screen refresh and FPU speedup
Qemu-system-ppc-macOS-7.1-pre-screamer-60hz-fpu-29-05-2022
https://surfdrive.surf.nl/files/index.p ... K/download
Built on Monterey, also runs on Big Sur. Best to put in the Applications folder.
I can't believe we don't have working sound for mac99 in the master yet, we really need to step up our game.
You have some code to commit that overcomes the current issues?
I haven't been working on sound for the Mac99, so I don't know what the current issues are?

That's why I'm saying, we need to step up our game. What I had been working on was SMP, and that now works, with some bugs. It's funny to have a dual CPU system with no sound;-)
User avatar
Ronald P. Regensburg
Expert User
Posts: 8036
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Qemu package and guide for OSX available

Post by Ronald P. Regensburg »

darthnvader wrote: Mon Mar 03, 2025 10:30 amThat's why I'm saying, we need to step up our game.
Who do you mean with "we"?
darthnvader
Apple Corer
Posts: 206
Joined: Sun Feb 07, 2016 4:40 pm

Re: Qemu package and guide for OSX available

Post by darthnvader »

Ronald P. Regensburg wrote: Mon Mar 03, 2025 10:45 am
darthnvader wrote: Mon Mar 03, 2025 10:30 amThat's why I'm saying, we need to step up our game.
Who do you mean with "we"?
I mean the collective we who use and abuse Macintosh emulators.

It's kind of funny the 68k Mac in Qemu seems to have full sound support. I had not looked into it, if the source for the current master of Qemu is altered to run the Q800 machine ROM, or that is actually in the master?

If you can take the shortcut of running a copywrited ROM, that can simplify things a bit, vs reverse engineering not only the hardware, but how it interacts with the runtime drivers without the benefit of the bootrom setting things up for you.
User avatar
Cat_7
Expert User
Posts: 6438
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: Qemu package and guide for OSX available

Post by Cat_7 »

The main developer/maintainer of the powermac part of qemu-system-ppc is otherwise engaged. Hence, a fix for screamer hasn´t had much attention lately. There are several other issues as well:
-no support for Mac OS 9.0.4 for the "real" G4 and earlier down to 8.6 (which should run on the powermac3,1) at least partly due to some hd driver in the rom issue.
-usb issues with Mac OS 9.0.4 OSX 10.0 and 10.1
-graphics issue with OSX 10.2
-keyboard type issues (standard/extended) between via=pmu (usb) and cuda/adb

And lets not forget some nice-to-haves:
-accelerated graphics
-improved g3beige support

Anyone capable enough to fix those issues can send patches to the list.

Q800 support is in Qemu's main repository. Splitting qemu-system-ppc into running MacOS/OSX (based on a rom) and other supported operating systems (based on openbios) might look interesting, but my guess is that would also take considerable effort.

Best,
Cat_7
darthnvader
Apple Corer
Posts: 206
Joined: Sun Feb 07, 2016 4:40 pm

Re: Qemu package and guide for OSX available

Post by darthnvader »

Cat_7 wrote: Mon Mar 03, 2025 12:21 pm The main developer/maintainer of the powermac part of qemu-system-ppc is otherwise engaged. Hence, a fix for screamer hasn´t had much attention lately. There are several other issues as well:
-no support for Mac OS 9.0.4 for the "real" G4 and earlier down to 8.6 (which should run on the powermac3,1) at least partly due to some hd driver in the rom issue.
-usb issues with Mac OS 9.0.4 OSX 10.0 and 10.1
-graphics issue with OSX 10.2
-keyboard type issues (standard/extended) between via=pmu (usb) and cuda/adb

And lets not forget some nice-to-haves:
-accelerated graphics
-improved g3beige support

Anyone capable enough to fix those issues can send patches to the list.

Q800 support is in Qemu's main repository. Splitting qemu-system-ppc into running MacOS/OSX (based on a rom) and other supported operating systems (based on openbios) might look interesting, but my guess is that would also take considerable effort.

Best,
Cat_7
I think Balaton had a patch at one time that could run the Beige G3 ROM, but it would only run Open Firmware and you could not boot from it.

DingusPPC runs a verity of ROMs, I have not kept up with the latest developments.

3D graphics is a tough one, I did make some attempts to post Voodoo2 support from PCem to Qemu, but in the end failed. Balaton and I did get most of the 2d parts of the Rage128 working in Qemu for the Mac OS, and I think Balaton had luck with 2d graphics acceleration working with MorphOS in Qemu.

The issues are Openbios support, and the lack of whitepappers for any 3D card that has drivers under the Mac OS other than the leaked Voodoo 2 white paper.

We have the leaked Rage128 White Paper, but it doesn't cover the 3D parts needed.

We don't even have a white paper for the Mach64.

Even if we overcome these issues we are still emulating at least a 64bit GPU( Mach64 ) or a 128bit GPU( Rage128 ) .So what is real world performance going to be?

We don't know, and we can't know, because we don't know the speed of the host.

I did use PCI Passthrough of a Rage128 PCI with Qemu and it did work with Balaton's patches to Openbios for the words the Rage128 FCode ROM uses.

I just ordered some kit, a Raspberry Pi 5, and a 'Hat' with a PCI-E slot and I have a Radeon x1950xt in my G5 Quad. So I plan on testing PCI Passthough on that system with the x1950xt, we'll see.

Even a really fast modern computer is pushed to its limits emulating a PowerPC processor and a Voodoo2 on a single core. That's why I pushed so hard to get some threading going on.

Voodoo2 emulation is doable with Qemu, but we only have drivers for the classic Mac OS, writing 3D drivers for OS X is not feasible or we would just use Qemu's 3D graphics stack on OS X PPC. If Apple ever opens the sources up for the older PPC graphics stack, that would be optional, but until then, I think we are stuck with PCI Passthrough.

The Rage128 did better than one would think in PCI Passthrough for the 3D games it was designed to handle. My host system emulated PowerPC around the speed of an 800MHz G4.

We'll see what the Pi 5 can do, ARM, in my experience handles RISC emulation better than X86, likely because it is native to RICS.

Is the Pi 5 going to dethrone the G5 Quad, not now, but 5 or 10 years from now, it likely will emulate PowerPC faster than a native Quad G5.

I'd say, from benchmarks I have seen, that Apple's M4 Max can emulate PowerPC in Qemu as far as integer performance, it's going to be right there with the Quad, but then we are talking about a $4k+ modern CPU vs $120 Pi 5.
User avatar
adespoton
Forum All-Star
Posts: 4597
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com

Re: Qemu package and guide for OSX available

Post by adespoton »

adespoton wrote: Mon Jan 06, 2025 4:20 pm
Cat_7 wrote: Mon Jan 06, 2025 1:26 pm We would need to find a common denominator for all 4 macOS downloads I now provide before the script considers executing?
I think that the structure with folders "Libs_x86_64" and "Libs_arm64" will be continued, so finding these folders before executing might be a little bit safe ;-)

And it might be best to open any file with "readme or Readme" in it's name?
That way I do not get tied down to exact rules before the script can execute.

Is a notarized script guaranteed to run when I upload it?

Best,
Cat_7
Sounds good; I'll add the updates when I've got a spare moment (hopefully today or tomorrow). I may also make it more specific so it's not removing ALL extended attributes, just the quarantine flag.
Well; took two months to get a spare moment, but it's done now :)

New version: https://github.com/adespoton/xattrstrip ... First!.zip
emendelson
Forum All-Star
Posts: 1858
Joined: Tue Oct 14, 2008 12:12 am

Re: Qemu package and guide for OSX available

Post by emendelson »

adespoton wrote: Fri Mar 07, 2025 1:49 am Well; took two months to get a spare moment, but it's done now :)

New version: https://github.com/adespoton/xattrstrip ... First!.zip
Codesigned copy that should (I hope) run on other people's systems:

https://mendelson.org/RunMeFirst!.zip
User avatar
adespoton
Forum All-Star
Posts: 4597
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com

Re: Qemu package and guide for OSX available

Post by adespoton »

Thanks :) Good news is, I worked with Copilot to structure it in a more readable manner, so it should be relatively simple for anyone to update it in the future should the requirements change.
User avatar
Cat_7
Expert User
Posts: 6438
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: Qemu package and guide for OSX available

Post by Cat_7 »

The app seems to work!

I was struggling to get the app copied using my build script. It seems the ! in the name requires some special treatment? I dropped the ! from the name.
I' m updating the various readme files so we should be good to go soon.

How can we edit the script?

Best,
Cat_7
User avatar
adespoton
Forum All-Star
Posts: 4597
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com

Re: Qemu package and guide for OSX available

Post by adespoton »

Cat_7 wrote: Fri Mar 07, 2025 7:58 pm The app seems to work!

I was struggling to get the app copied using my build script. It seems the ! in the name requires some special treatment? I dropped the ! from the name.
I' m updating the various readme files so we should be good to go soon.

How can we edit the script?

Best,
Cat_7
To edit the script, right click and "view package contents." The script is in the Resources folder. I've found that Copilot does a really good job of making tweaks, if you want to change the order of operations, add a new feature, etc. One tweak that might be useful is that right now, the script opens everything with the text "readme" in the name ... including the app itself. So we may want to tell it to only open text documents. We could also modify it to open the readme file in its text window instead of the default text editor, if that would be preferred.
Post Reply