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

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

Re: Qemu package and guide for OSX available

Post by Cat_7 »

Hi all,

A new experimental Qemu for macOS build has been linked to in the experimental builds post (see second post in this thread).
viewtopic.php?f=34&t=8848

It supports the vmnet backend, so it can replace the malfunctioning tap device bridging option on Catalina and above.
Please do read the included README-VMNET.txt and qemu.command file.

The build was created on Big Sur. The vmnet function will, for now, only work when ran as root.
As always with our experimental builds: you are on your own.

But please report back your experiences ;-)

Best,
Cat_7
shaketuna
Student Driver
Posts: 14
Joined: Tue Jan 26, 2021 10:11 am

Re: Qemu package and guide for OSX available

Post by shaketuna »

I tried the experimental build on Catalina (with sudo ./qemu.command under New Termial at Folder), but I get these errors:

dyld: lazy symbol binding failed: Symbol not found: _pthread_jit_write_protect_np
Referenced from: /Applications/Qemu-OSX-6.0pre-vmnet-05-02-2021/./qemu-system-ppc (which was built for Mac OS X 11.0)
Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: _pthread_jit_write_protect_np
Referenced from: /Applications/Qemu-OSX-6.0pre-vmnet-05-02-2021/./qemu-system-ppc (which was built for Mac OS X 11.0)
Expected in: /usr/lib/libSystem.B.dylib

./qemu.command: line 13: 8854 Abort trap: 6 ./qemu-system-ppc -L pc-bios -boot c -M mac99,via=pmu -m 512 -drive file=MacOS9.2.img,format=raw,media=disk -netdev vmnet-macos,id=vm,mode=bridged,ifname=en0 -device sungem,netdev=vm
atsushi@MacBook-Pro-3 Qemu-OSX-6.0pre-vmnet-05-02-2021 %


No idea what this means...
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: Qemu package and guide for OSX available

Post by Cat_7 »

Hi,

I assume this means this build will not run in Catalina (as was expected) as the library /usr/lib/libSystem.B.dylib does not provide the required _pthread_jit_write_protect_np function.
But I 'm not 100% sure, so we need to wait for someone with a Big Sur host to test it.

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

Re: Qemu package and guide for OSX available

Post by Cat_7 »

A new version of the vmnet enabled build was posted in the experimental builds post (2nd post in this thread).
It now supports Catalina and Big Sur. Be sure to read the readme.

Best,
Cat_7
shaketuna
Student Driver
Posts: 14
Joined: Tue Jan 26, 2021 10:11 am

Re: Qemu package and guide for OSX available

Post by shaketuna »

I tried the new build but I get this error:

qemu-system-ppc-vmnet: disk: drive with bus=0, unit=0 (index=0) exists

Also, shouldn't there be a line:
xattr -d com.apple.quarantine ./qemu-img

in the allow_qemu_to_run.command?

Please verify.
User avatar
adespoton
Forum All-Star
Posts: 4226
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Qemu package and guide for OSX available

Post by adespoton »

I tested on Big Sur 11.2.1 and had no issues.
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: Qemu package and guide for OSX available

Post by Cat_7 »

Missing qemu-img in the allow_qemu_to_run script was fixed.
The issue with drive with bus=0, unit=0 (index=0) exists is related to the command line.
Perhaps you haven't referred to an usb device correctly?

Best,
Cat_7
shaketuna
Student Driver
Posts: 14
Joined: Tue Jan 26, 2021 10:11 am

Re: Qemu package and guide for OSX available

Post by shaketuna »

It worked once I removed the "-netdev" line from the command file.
I guess its default values are not accepted.

I also tried replacing this line with 'shared' and 'host' variations, but for those I get:
-netdev vmnet-macos,id=vm,mode=host: Device 'vmnet-macos' could not be initialized

Where do I find the values that I should put into these commands?
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: Qemu package and guide for OSX available

Post by Cat_7 »

Hi,

Please note you need to run Qemu as root to use the vmnet option.
Here are the options for the various vmnet settings:

-netdev vmnet-macos,id=str,mode=bridged[,ifname=ifname] -device sungem,netdev=str
Configures a macOS-provided vmnet network in physical interface bridge mode
The physical interface to bridge with defaults to en0 if unspecified

This allows bridge ethernet, so basically replacing the tap device option.

-netdev vmnet-macos,id=str,mode=host[,dhcp_start_address=addr,dhcp_end_address=addr,dhcp_subnet_mask=mask] -device sungem,netdev=str
and
-netdev vmnet-macos,id=str,mode=shared[,dhcp_start_address=addr,dhcp_end_address=addr,dhcp_subnet_mask=mask] -device sungem,netdev=str
Configure a macOS-provided vmnet network in host or shared mode.
The DHCP configuration will be set automatically if unspecified

This allows connecting to the host (mode=host) and other qemu instances running mode=host
or
Connecting through NAT (mode=shared) like the default network option where an internal dhcp server provides an ip address etc to the guest.

Best,
Cat_7
shaketuna
Student Driver
Posts: 14
Joined: Tue Jan 26, 2021 10:11 am

Re: Qemu package and guide for OSX available

Post by shaketuna »

Oops, my bad.
Runs happily when launched by the sudo command under Terminal at Folder.

Thank you Cat_7 for the command details!
ldr_12
Space Cadet
Posts: 1
Joined: Sun Mar 21, 2021 5:31 pm

Re: Qemu package and guide for OSX available

Post by ldr_12 »

Dear Cat_7,

This is my first post on this forum, so forgive me if I should not ask these questions here.

I'm trying to use Mac OS X 10.3 on my Macbook with Big Sur using Qemu. (I think) I managed to install OS X 10.3 following 'Running Qemu-system-ppc with Mac OS/OSX guests in macOS'. However, I keep getting stuck at transferring files through a network connection. Namely, in Qemu, after having entered smb://my-ip-adress as server address, I'm not requested to provide my host's username and/or password, as implied in your guide. I just get the error 'Could not connect to the server because the name or password is not correct' - which is strange considering the fact that I haven't even filled these in. At this point, I'm clueless what I'm doing/what is going wrong. I enabled file sharing on the host.

This is the content of the qemu.command file:

#!/bin/bash
cd "$(dirname "$0")"

./qemu-system-ppc -L pc-bios -boot c -M mac99,via=pmu -m 512 \
-prom-env 'auto-boot?=true' -prom-env 'boot-args=-v' -prom-env 'vga-ndrv?=true' \
-drive file=MacOS10.3.img,format=raw,media=disk \
-drive file=MacOS10.3.iso,format=raw,media=cdrom \
-drive file=MacOS10.33.iso,format=raw,media=cdrom \
-drive file=MacOS10.333.iso,format=raw,media=cdrom \
-netdev user,id=network01 -device sungem,netdev=network01 \
-device VGA,edid=on \
-g 1024x768x32 \

Thank you very much in advance for your help.

Kind regard,
ldr_12
Last edited by ldr_12 on Sun Mar 21, 2021 6:00 pm, edited 1 time in total.
Unounited
Space Cadet
Posts: 3
Joined: Mon Mar 08, 2021 7:38 pm

Re: Qemu package and guide for OSX available

Post by Unounited »

Quick question: Does mac os x have any issues on qemu-system-ppc?
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: Qemu package and guide for OSX available

Post by Cat_7 »

Quick question: Does mac os x have any issues on qemu-system-ppc?
Could you be more specific?
The emulation in itself is robust but slow. You might be missing some features like sound.

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

Re: Qemu package and guide for OSX available

Post by Cat_7 »

@ ldr_12

Hi,
The solution Qemu had for connecting to macOS hosts will no longer work on Catalina and Big Sur.
As a replacement we have an experimental build available in which Qemu makes use of the newer networking options in macOS. Experimental in the sense that the source code making that possible is not yet in the main Qemu source code.

You can download this version here:
https://surfdrive.surf.nl/files/index.p ... 3/download.

The procedure to get that version going is the same as the one you had to follow to get the older version going.
Please see the readme for instructions on how to configure the network. After you succeed, you need to enable file sharing in your 10.3 guest, after which you can connect to it from your host (so not the other way around).

Based on your current qemu.command file, I think this would work with the new version:
#!/bin/bash
cd "$(dirname "$0")"

./qemu-system-ppc-vmnet -L pc-bios -boot c -M mac99,via=pmu -m 512 \
-drive file=MacOS10.3.img,format=raw,media=disk \
-netdev vmnet-macos,id=vm,mode=host -device sungem,netdev=vm
-g 1024x768x32
Best,
Cat_7
jorgesuede
Space Cadet
Posts: 3
Joined: Sat Apr 10, 2021 5:39 am

Re: Qemu package and guide for OSX available

Post by jorgesuede »

Hi.

I'm new on this and I'm trying to install Mac OS X Cheetah on QEMU but i can't do it because i receive this message: "Still waiting for root device".

What should I do?

i'll let my qemu.command:

#!/bin/bash
cd "$(dirname "$0")"
./qemu-system-ppc -L pc-bios -boot d -M mac99,via=pmu -m 512 \
-prom-env 'auto-boot?=true' -prom-env 'boot-args=-v' -prom-env 'vga-ndrv?=true' \
-drive file=MacOSCheetah.iso,format=raw,media=cdrom \
-drive file=MacOS10.img,format=raw,media=disk \
-netdev user,id=network01 -device sungem,netdev=network01 \
-device VGA,edid=on \

Maybe the .iso is damaged?

Thanks.
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: Qemu package and guide for OSX available

Post by Cat_7 »

Hi,

If you get past the yellow openbios window, your iso is bootable.
For Mac OS X 10.0 and 10.1 you should use -M mac99, not -M mac99,via=pmu

https://www.emaculation.com/doku.php/pp ... mu-for-osx

Best,
Cat_7
jorgesuede
Space Cadet
Posts: 3
Joined: Sat Apr 10, 2021 5:39 am

Re: Qemu package and guide for OSX available

Post by jorgesuede »

Cat_7 wrote: Sat Apr 10, 2021 8:03 am Hi,

If you get past the yellow openbios window, your iso is bootable.
For Mac OS X 10.0 and 10.1 you should use -M mac99, not -M mac99,via=pmu

https://www.emaculation.com/doku.php/pp ... mu-for-osx

Best,
Cat_7
Hmmmm i did it and the error persists.
i don't know how to attach the image but the link is there: https://ibb.co/99jB3LG
Last edited by jorgesuede on Sat Apr 10, 2021 4:19 pm, edited 1 time in total.
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: Qemu package and guide for OSX available

Post by Cat_7 »

Hi,

How did you create the image on which you want to install?
Your command line is Ok, but what happens when you only boot from the cd with this command line?
If this will not boot, you might indeed look for another iso.

#!/bin/bash
cd "$(dirname "$0")"

./qemu-system-ppc -L pc-bios -boot d -M mac99 -m 512 \
-prom-env 'boot-args=-v' \
-drive file=MacOSCheetah.iso,format=raw,media=cdrom
jorgesuede
Space Cadet
Posts: 3
Joined: Sat Apr 10, 2021 5:39 am

Re: Qemu package and guide for OSX available

Post by jorgesuede »

Hi Cat_7,

I created using the Terminal on the QEMU folder with this code: ./qemu-img create -f raw -o size=8G MacOS.img

About testing the command line you've sent, the error persists.

With this command i've used two Puma ISO and the error is appearing but with the Cheetah ISO, appears this follow error on the yellow screen: Trying CD No valid state has been set by load or init-program. (So i'm guessing that on this case, the ISO is damaged).
SomeGuy
Space Cadet
Posts: 1
Joined: Tue Jun 01, 2021 10:43 am

Re: Qemu package and guide for OSX available

Post by SomeGuy »

Greetings!

I'm trying to open Gemu in Big Sur but the command "sudo ./allow_qemu_to_run.command" only gives the the following:

xattr: ./qemu-system-ppc: No such xattr: com.apple.quarantine
xattr: ./qemu-img: No such xattr: com.apple.quarantine
xattr: ./qemu.command: No such xattr: com.apple.quarantine
xattr: ./Libs: No such xattr: com.apple.quarantine
xattr: ./Libs/libffi.7.dylib: No such xattr: com.apple.quarantine
xattr: ./Libs/libgmodule-2.0.0.dylib: No such xattr: com.apple.quarantine
xattr: ./Libs/libgio-2.0.0.dylib: No such xattr: com.apple.quarantine
xattr: ./Libs/libgobject-2.0.0.dylib: No such xattr: com.apple.quarantine
xattr: ./Libs/libglib-2.0.0.dylib: No such xattr: com.apple.quarantine
xattr: ./Libs/libgthread-2.0.0.dylib: No such xattr: com.apple.quarantine
xattr: ./Libs/libintl.8.dylib: No such xattr: com.apple.quarantine
xattr: ./Libs/libpcre.1.dylib: No such xattr: com.apple.quarantine
xattr: ./Libs/libpixman-1.0.dylib: No such xattr: com.apple.quarantine
xattr: ./Libs/libusb-1.0.0.dylib: No such xattr: com.apple.quarantine

I tried removing the quarantine with "sudo xattr -r -d com.apple.quarantine ./qemu.command" and some other variants but got nowhere; apparently I need a mac os 9.0something iso to make this work? WHat am I doing wrong?
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: Qemu package and guide for OSX available

Post by Cat_7 »

Hi,

After your ran the allow qemu to run script once the attribute was removed, so running it a second time will produce the output you see. The script will not start Qemu.
Following this step you need to edit the qemu.command file to set the paths to your installation disk image and hard disk image and then run qemu.command.

See our guide here: https://www.emaculation.com/doku.php/pp ... mu-for-osx

Best,
Cat_7
WizKid
Tinkerer
Posts: 72
Joined: Sun Jul 31, 2016 11:58 pm

Re: Qemu package and guide for OSX available

Post by WizKid »

Is this the repository for the in-progress q800 qemu work as referenced here?
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: Qemu package and guide for OSX available

Post by Cat_7 »

Hi,

As said in the wiki: not yet available. The developer needs more time to sort out some issues.
That repository will not produce a working build to run Mac OS.

Best,
Cat_7
mahrain
Space Cadet
Posts: 7
Joined: Fri Jan 04, 2019 7:31 am

Re: Qemu package and guide for OSX available

Post by mahrain »

I have moved from my previous computer using a 4K display with 3840x2160 resolution (which is a nice 2x 1080p) to a 24" iMac with a screen resolution of 4480 × 2520 (retina). I found that my emulated OS9 looks blurry now, with the resolution set to 1920x1080 and the image stretched to full screen.

I suspect this is due to the pixels not lining up to a nice exact 2x the native resolution, and Qemu scaling or interpolating the pixels. Is there any way to control this or to approximate the previous experience?
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Qemu package and guide for OSX available

Post by Ronald P. Regensburg »

I do not know if this works with QEMU, but it works for me with SheepShaver.

In SheepShaver (and BasiliskII) one can choose for options with different scaling algorithms for Retina screens. However, I do not like the result.

What works for me:
I set the resolution in the emulator to a quarter of the screen resolution: 1120x630. The result looks fine in both window mode and fullscreen. (Full screen will only work as intended here if the MacOS9 desktop and menu bar fill all of the screen. I do not know how that is with QEMU

You can also try using half of the screen resolution: 2240x1260. The emulator will fill all of your screen.
If you are on a Mac, you can also try different resolution settings in the Displays System Preferences.
Post Reply