The UTM Thread

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

Bruninho
Tinkerer
Posts: 43
Joined: Sun May 16, 2021 11:24 pm

Re: The UTM Thread

Post by Bruninho »

adespoton wrote: Wed Feb 23, 2022 5:25 am I've got https://github.com/adespoton/utmconfigs updated now; every OS from 9.1 through macOS 11 is working except 10.6. Still have to sort out the UEFI config for that, and get 9.0.4 working again. 3.1.1 seems to have fixed most of the stability issues I found in 3.1.0.
That's awesome. I have only 9.2.2 since macOS 9 is a big interest/curiosity for me, having never used it in a real mac. From what I can see, macOS 9 was great in its heyday. Except for web surfing, most of the stuff I do today can be done in macOS 9. I am wondering if I draw a web page in Adobe Photoshop on OS 9, I could possibly export it to Adobe XD on my M1 Mac. That would be a great feat. I can export modern age Adobe Photoshop PSDs to XD, but there is decades of difference between them.

I'd add Tiger or Leopard to my collection, but I think I'll be better served with Snow Leopard once you manage to sort it out. SL was my first MacOS and was great out of the box.

From Lion/Mountain Lion to today, they are nearly identical to current macOS 11/12, so I see no point for me to try them out. OFC other people have different reasons to try them.

I also want to add NextStep or Rhapsody to explore. Maybe.

So far, I have Ubuntu 22.04 (ARM) as a local web development server, Windows 11 Pro (ARM) for tests, Windows 10 Pro (x64) for getting my work certificates, MacOS 9.2 (PPC), Windows 3.11 (i386), Windows 98 SE (i386), Windows XP (i386), all three legacy Windows for gaming.
User avatar
adespoton
Forum All-Star
Posts: 4226
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: The UTM Thread

Post by adespoton »

For every day working, 9.0.4 in SheepShaver is the cleanest way to work, as it already has shared folder functionality. You can just drag your files into the shared folder and then work with them on the host or guest as needed. 9.0.4 in UTM is more of a "QEMU can do this, UTM should be able to as well" type of thing. And 9.2.2 can dual boot on the same system as 10.4.11, which provides access to almost all Macintosh software from 1984 through 2011 (27 years). 10.6 provides access to all Macintosh software from 2001 through 2014 (13 years) plus some newer software. The only other really useful "benchmark" OSes are 10.11 (current lowest-supported) and 10.14. 12 is essentially the same as 10.15 and 11 with more things locked down/fixed. 10.12 and 10.13 are the same thing for 10.14. 10.9 and 10.10 are the same thing for 10.11. And 10.7 and 10.8 are just baby steps on the way from 10.6 to 10.11.

10.5 and 10.7 are the only other stand-outs, as they're the highest OS version for some hardware; G5 Macs benefit from 10.5, and Core machines with 2GB or less RAM benefit from 10.7.
Bruninho
Tinkerer
Posts: 43
Joined: Sun May 16, 2021 11:24 pm

Re: The UTM Thread

Post by Bruninho »

I’ll read again your post later for a better response, about the OS versions, but anyway speaking about shared directories, I have a Time Capsule and I can transfer back and forth the files using DAVE on 9.2.2. At first I was amazed that I could navigate the TC so easily.

I haven’t tried yet, but I suppose that DAVE can see if I share a folder from my host machine. I might try it out in the next days.
User avatar
adespoton
Forum All-Star
Posts: 4226
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: The UTM Thread

Post by adespoton »

Bruninho wrote: Wed Feb 23, 2022 10:52 pm I’ll read again your post later for a better response, about the OS versions, but anyway speaking about shared directories, I have a Time Capsule and I can transfer back and forth the files using DAVE on 9.2.2. At first I was amazed that I could navigate the TC so easily.

I haven’t tried yet, but I suppose that DAVE can see if I share a folder from my host machine. I might try it out in the next days.
DAVE probably won't work -- I have an intermediary server I use that can talk to both.

The problem is that macOS 12 doesn't talk NETBIOS or SMBv1, and DAVE doesn't talk SMBv3. Time Capsule talks both, as well as AppleShare IP. Pretty nifty for a lightweight NetBSD machine.

I do recommend you try 9.0.4 in SheepShaver if you haven't yet. 9.2.2 in QEMU might be more accurate, but SheepShaver's still faster and more convenient to configure and use. Except, perhaps, for removable media. QEMU can do passthrough USB and can eject and insert disk images on the fly (although UTM appears to have broken this for floppy disks), while SheepShaver requires you reboot the emulator to load a new image.

Also worth pointing out that the official qemu-system-ppc (not the screamer version in UTM) supports system snapshots, so you can set up your OS 9 environment the way you want, snapshot it, and then restore that snapshot or pick a different branching location. It also supports qcow2 disk snapshotting, where you can essentially lock the disk prior to boot and discard or merge any changes that happen during that session.
Bruninho
Tinkerer
Posts: 43
Joined: Sun May 16, 2021 11:24 pm

Re: The UTM Thread

Post by Bruninho »

I know sheepshaver, I tried it when I had an Intel Mac. Now I have only a M1 MB Air. Having tried several emulators in the last three years, I decided that I was much more comfortable with QEMU / UTM. Having an all in one solution made it easier for me and saved me a lot of nights awake setting up the machines. My goal was to find something that would natively work with a M1 when I were able to buy one, so I did it.

Yeah DAVE won’t work because of protocols. It just dawned on me that it would work for TC, because I knew my Windows 98/XP VMs can see the TC too. This method works great for me, my downloads and backups are all stored on my TC.

I searched for some solution and I came across this one: https://github.com/vasi/netatalk as mentioned by MacTron from macos9lives.com forums. I’m gonna test it later.

Regarding snapshots, I never had the need to use them. I rarely used it even when I was using vmware on my previous intel mac. Maybe, because I prefer to deal with the VMs as if they were real machines. As an UI/UX designer, I tend to lose some nights of sleep with the tiniest details, perfecting my work, and this is not different for other things in my life, including these VMs. This is a curse for me, but recently I have been forced to sleep more and better due to ongoing health issues, but I’m working on it.

But anyway, thanks for your advices. I’ll reply/talk about the OS X versions later - it’s almost 2:00 AM here, I need to sleep and also because “according to Ted Mosby in HIMYM, nothing good happens after 2:00 AM” 😂 lol
Bruninho
Tinkerer
Posts: 43
Joined: Sun May 16, 2021 11:24 pm

Re: The UTM Thread

Post by Bruninho »

adespoton wrote: Wed Feb 23, 2022 6:44 pm For every day working, 9.0.4 in SheepShaver is the cleanest way to work, as it already has shared folder functionality. You can just drag your files into the shared folder and then work with them on the host or guest as needed. 9.0.4 in UTM is more of a "QEMU can do this, UTM should be able to as well" type of thing. And 9.2.2 can dual boot on the same system as 10.4.11, which provides access to almost all Macintosh software from 1984 through 2011 (27 years). 10.6 provides access to all Macintosh software from 2001 through 2014 (13 years) plus some newer software. The only other really useful "benchmark" OSes are 10.11 (current lowest-supported) and 10.14. 12 is essentially the same as 10.15 and 11 with more things locked down/fixed. 10.12 and 10.13 are the same thing for 10.14. 10.9 and 10.10 are the same thing for 10.11. And 10.7 and 10.8 are just baby steps on the way from 10.6 to 10.11.

10.5 and 10.7 are the only other stand-outs, as they're the highest OS version for some hardware; G5 Macs benefit from 10.5, and Core machines with 2GB or less RAM benefit from 10.7.
So, about OS X... I've tried Jaguar, Panther, Tiger, Leopard... while they all worked on UTM, my eye started to see things I dislike... for example I loved right away the pinstripe theme, but when from Tiger to Leopard, the brushed metal theme arrived there, I started to dislike it all... including how Finder was looking like in Tiger. And although Leopard was slower than Tiger, it was more usable than Tiger in terms of internet and some apps similar to what I actually use on 12 (Monterey).

OFC I could customize the theme with a lot of apps and addons but Finder would never come close to what I see in Panther. Then there is Snow Leopard - the first ever OS X I used when I was gifted a 2010 MacBook Pro 13". SL worked wonders for me in my first Mac years away from Windows. I had a Windows bootcamp partition just in case things could go awry but in reality I never really needed it.

Anything from Lion and later just became uninteresting for me, maybe because I actually did use them before and know its weak and strong points.

I'll make some experiments with the shared directories on UTM and OS 9 and report back...
User avatar
adespoton
Forum All-Star
Posts: 4226
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: The UTM Thread

Post by adespoton »

If you had SheepShaver set up on an x86 Mac with a recent binary, that binary is M1-native as well; the entire SheepShaver can just move over to the new machine (that's what I did). The main benefit I have from using SheepShaver for doing actual work is the shared clipboard. Secondary is ease of file transfer. The lack of hot-swappable media is the pain point.

But I've been thinking... I need to get some classic coders together, because it seems to me that it should be really easy to make a network clipboard protocol where from System 6 through to macOS 12, we can run a tool in the background that clones the clipboard and makes it available for other authenticated devices. I've been holding off on that because UTM should be able to manage shared clipboard itself eventually; SPICE drivers on Windows and Linux can do it after all. But a stand-alone app would have the benefit of working on all OSes (FAT app for 68k and PPC, universal app for ppc/i386, universal app for x86-64/aarch) and on all emulators with network support. And it would even work on real hardware!
Bruninho
Tinkerer
Posts: 43
Joined: Sun May 16, 2021 11:24 pm

Re: The UTM Thread

Post by Bruninho »

Hmmm... looks like vanilla QEMU and UTM requires SPICE guest agent tools to be installed in order to be able to use clipboard sharing and shared direcctory (this case requires SPICE WebDAV service to be installed). Not gonna happen since there are no SPICE guest tools for MacOS and OS X. We'll need third party apps/tools to do that.

Apparently, the route using the custom version of Netatalk for Intel/M1 Macs should work. However, I need to compile it first; then I need to figure out how to set up afp.conf to share a folder from my Mac.

EDIT: Personally, I'd rather use a disk image to share files. Compiling Netatalk requires some dependencies from brew, like mysql, that I am not really keen to install again. I have just cleaned up the mac to move all my local web development to an Ubuntu Linux VM.
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: The UTM Thread

Post by Cat_7 »

For file sharing etc, there also are:

https://www.macip.net/macipgg-vm-3-0/
and
http://ivanx.com/a2server/

Best,
Cat_7
User avatar
mabam
Master Emulator
Posts: 497
Joined: Wed Apr 10, 2013 9:32 am

Re: The UTM Thread

Post by mabam »

If you want to use a A2SERVER in a VM or on a Raspberry Pi, the images provided at http://ivanx.com/a2server/ are great.

For installing A2SERVER yourself, however, the information on the website above is outdated. If you want/need to install it on a somewhat newer Linux system (Debian Buster i.s.o. Jessie), see https://github.com/RasppleII/a2server/tree/ivanx-1.5.x (that particular branch).
User avatar
adespoton
Forum All-Star
Posts: 4226
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: The UTM Thread

Post by adespoton »

That reminds me; I should try setting up one of those servers in UTM; it should be able to take the SPICE integrations too, which means it will have drive sharing, clipboard sharing, etc. with the host in UTM. Once I've got it confirmed working I could add it to the UTM configs page.
Bruninho
Tinkerer
Posts: 43
Joined: Sun May 16, 2021 11:24 pm

Re: The UTM Thread

Post by Bruninho »

@adespoton: Have you tried to edit the qemu_vga.ndrv from UTM to include the missing resolutions? You could write a doc to osy to tell him how to fix it in the next release.
User avatar
adespoton
Forum All-Star
Posts: 4226
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: The UTM Thread

Post by adespoton »

Bruninho wrote: Sun Mar 06, 2022 12:20 am @adespoton: Have you tried to edit the qemu_vga.ndrv from UTM to include the missing resolutions? You could write a doc to osy to tell him how to fix it in the next release.
I've tried, but it appears that, just like you suspected, EDID=on... isn't. so qemu_vga.ndrv isn't loaded.
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: The UTM Thread

Post by Cat_7 »

If no-defaults is on, can -prom-env 'vga-ndrv?=true' help?
Perhaps there is some command line option to point to the driver as well?

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

Re: The UTM Thread

Post by adespoton »

Adding the parameter doesn't bork the bootup like adding an extra vga device does. Now I've just got to check against the ndrv file to see if the listed resolutions match.
Bruninho
Tinkerer
Posts: 43
Joined: Sun May 16, 2021 11:24 pm

Re: The UTM Thread

Post by Bruninho »

adespoton wrote: Mon Mar 07, 2022 4:42 am
Bruninho wrote: Sun Mar 06, 2022 12:20 am @adespoton: Have you tried to edit the qemu_vga.ndrv from UTM to include the missing resolutions? You could write a doc to osy to tell him how to fix it in the next release.
I've tried, but it appears that, just like you suspected, EDID=on... isn't. so qemu_vga.ndrv isn't loaded.
Yeah. Osy needs to add a switch for no-defaults on or off. It would be easier. Why force the no-defaults?
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: The UTM Thread

Post by Cat_7 »

Why the no-defaults? It gives you maximum flexibility. But the burden to define everything at the command line. As there is no one way to define the command line for every guest problems arise, as we see with the ppc/adb issue. I'm not sure but, defaults on would create different vantage points for different guests...though choice.

This might work to load the driver (thanks to Zoltan)
-vga none -prom-env "vga-ndrv?=false"
-device VGA,edid=on,romfile=qemu_vga.ndrv

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

Re: The UTM Thread

Post by adespoton »

Cat_7 wrote: Mon Mar 07, 2022 10:31 pm Why the no-defaults? It gives you maximum flexibility. But the burden to define everything at the command line. As there is no one way to define the command line for every guest problems arise, as we see with the ppc/adb issue. I'm not sure but, defaults on would create different vantage points for different guests...though choice.

This might work to load the driver (thanks to Zoltan)
-vga none -prom-env "vga-ndrv?=false"
-device VGA,edid=on,romfile=qemu_vga.ndrv

Best,
Cat_7
Hmm... I'll have to try some version of that method. Unfortunately, I've been testing things with osy and Mark, and it appears -prom-env isn't being honoured by UTM. -vga none is already hard-coded (SPICE messaging is using something different), and -device VGA is already hard-coded, and attempts to add another device just kill the VGA connection completely. But if I have time, it's possible that completely overriding the UTM config will allow me to at least test that config, so I can see if the issue is in the SPICE client or in osy's configuration of the QEMU core.
Bruninho
Tinkerer
Posts: 43
Joined: Sun May 16, 2021 11:24 pm

Re: The UTM Thread

Post by Bruninho »

@adespoton: Hi, I was just wondering if u have you already managed to make 10.6 (Snow Leopard) work with UTM?
User avatar
adespoton
Forum All-Star
Posts: 4226
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: The UTM Thread

Post by adespoton »

Bruninho wrote: Wed Mar 16, 2022 3:34 am @adespoton: Hi, I was just wondering if u have you already managed to make 10.6 (Snow Leopard) work with UTM?
Nope; still stuck as per https://github.com/adespoton/utmconfigs

There's two different possible approaches, either using 32-bit OpenCore EFI and kernel, or using 64-bit Legacy OpenCore EFI and kernel. Neither is currently working, and I haven't had a large enough chunk of spare time to step through the EFI with full debugging and see what's failing.

The ones that aren't working as advertised are here: https://github.com/khronokernel/khronok ... r/Binaries

This might provide more insight into what needs to be changed from those images: https://github.com/kholia/OSX-KVM/tree/master/OpenCore
airat78
Inquisitive Elf
Posts: 27
Joined: Fri Feb 15, 2013 3:27 pm

Re: The UTM Thread

Post by airat78 »

Good day comrades!

How to share files with guest machines 10.2 and 10.1? Spice tools only for windows and Linux guests, and earlier OS X till 10.2.8 can't work with USB 2.0 to transfer data to guests with USB drive.

How do you get around these restrictions?
User avatar
adespoton
Forum All-Star
Posts: 4226
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: The UTM Thread

Post by adespoton »

Switch to host-only networking and create a network share, or just open the disk image on the host.
User avatar
Nowhere Man
Student Driver
Posts: 19
Joined: Sun Sep 30, 2018 4:38 am

Re: The UTM Thread

Post by Nowhere Man »

I am having an odd issue with UTM's Mac99 emulation on the M1 lately, in that the VM audio seems to run slightly too fast. The sound is off-pitch and this happens in any application. If I play a QuickTime video, the video seems to run at normal speed while the sound is sped up, so it ends up stopping the audio periodically for the video to catch up. It is the same regardless of using a virtual 750 or 7400 CPU. OS version is 9.2.2.

Similar behavior is apparent in my Tiger VM.
User avatar
adespoton
Forum All-Star
Posts: 4226
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: The UTM Thread

Post by adespoton »

If you run your image in the screamer build on here, do you have the same issue? If not, raise an issue on the UTM Github tracker.
hstriepe
Space Cadet
Posts: 2
Joined: Sat Feb 08, 2020 5:57 pm

Re: The UTM Thread

Post by hstriepe »

I just set up OSX 10.4.11 Tiger using the github premade config and a 10.4.11 remade disk image. It is running on an M1 Ultra 64GB/4TB and mostly stable.
Classic 9 works with Tiger
  • For now memory is set to 768MB with 512MB cache
  • It runs at about 8% of a 2005 PPC Mini. JIT cache size does not seem to have much of an impact between 256MB to 1024MB
  • Extended disk IO seems to cause crashing (copying of network files, CarbonCopy Cloning, Xcode install.) If you try it often enough, eventually is succeeds

It's usable fun. But running my PowerMac PPC Mini 2005 is more practical. I just updated its battery and will convert the stock drive to a larger SSD in ATA adapter case.

Looking forward to greater stability and multi-core capability, since the emulation is limited to a single ARM core at 3.2GHz.

-- Harald

ps this forum has some issues. This post was more detailed and much longer, writing it took long enough to log me out. I had to log in after writing and lost the post!
Post Reply