GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

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

Programmingkid
Apple Corer
Posts: 243
Joined: Sun Jan 31, 2016 6:01 pm

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by Programmingkid »

mathieudel wrote:Actually I did nothing but searching google for 'virt-manager mac', and following install instructions (since I already had homebrew, it was easy :)).

I'm using latest El Capitan and everything worked immediately.
As for usefulness... I don't know. I just opened the built application and stopped there since I don't really now how it works.
I don't even have qemu installed :p.

My idea was that, based on your informations, there should be no major issue to build the tool, and before trying by myself I just searched to see if anyone did already tried... bingo :D !

Now about your build issue, it seems related to a recent regression of OpenSSL (depency : virt-manager -> spice-gtk -> openssl) on old MacOS versions : http://comments.gmane.org/gmane.comp.en ... evel/33380
Fixing that would require modifying spice-gtk's formulae to require either an older or a newer (fixed) openssl.
I tried installing on Mac OS 10.9. It failed because a lot of the dependencies had been already installed while I was building QEMU. pkg-config and glib both caused a lot of problems because they were already on my system. It looks like I would need to wipe my system clean of all installed QEMU dependencies before trying to install virt-manager again. That or build virt-manager without brew.
User avatar
adespoton
Forum All-Star
Posts: 4227
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by adespoton »

Programmingkid wrote:
A silver lining is that Q appears to be open-source, meaning that someone could conceivably fork the project and update it themselves if they had the time (ay, there's the rub).
OMG! You are right. I didn't think about that. That would enable us to completely by-pass all the original maintainers who gave up on that project years ago.
I tried this... the front end is fairly nice, but it needs some work to fully separate it from the back end, which is almost useless, as the back end depends on custom builds of QEMU 1.x binaries.

You'd probably have just as good luck using the front end for VirtualBox (also open source) and compile your qemu binaries and openbios to interact with the existing toolset. And if you could get those changes accepted upstream in the VBox, QEMU and OpenBIOS projects, we'd have a really nice cross-platform unified interface going forward :)
Programmingkid
Apple Corer
Posts: 243
Joined: Sun Jan 31, 2016 6:01 pm

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by Programmingkid »

adespoton wrote:
Programmingkid wrote:
A silver lining is that Q appears to be open-source, meaning that someone could conceivably fork the project and update it themselves if they had the time (ay, there's the rub).
OMG! You are right. I didn't think about that. That would enable us to completely by-pass all the original maintainers who gave up on that project years ago.
I tried this... the front end is fairly nice, but it needs some work to fully separate it from the back end, which is almost useless, as the back end depends on custom builds of QEMU 1.x binaries.

You'd probably have just as good luck using the front end for VirtualBox (also open source) and compile your qemu binaries and openbios to interact with the existing toolset. And if you could get those changes accepted upstream in the VBox, QEMU and OpenBIOS projects, we'd have a really nice cross-platform unified interface going forward :)
I agree. Using Q is probably a losing strategy. Virt-manager is more up-to-date and is maintained by Red Hat. VirtualBox isn't made to work with QEMU, so I don't know if it would work.
Programmingkid
Apple Corer
Posts: 243
Joined: Sun Jan 31, 2016 6:01 pm

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by Programmingkid »

Cat_7 wrote:
We would have fun if there was a PPC version of AppleAC97Audio.kext.
Actually there are, at least in both 10.3 and 10.4. But starting Qemu with AC97 sound card support amounts to some errors in the command window. The device is not recognised in the OSX system profiler and therefore most probably not present in the device tree of OpenBios.

Best,
Cat_7
Where is the AC97 sound card driver on Mac OS 10.4? I did a search using the find command like this:

find /System/Library/Extensions -name "*97*"

Couldn't find the extension. Maybe the reason why ac97 doesn't work is because the driver isn't included with Mac OS X.
kikyoulinux
Tinkerer
Posts: 92
Joined: Sun Sep 28, 2014 11:53 am

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by kikyoulinux »

Programmingkid wrote:
Cat_7 wrote:
We would have fun if there was a PPC version of AppleAC97Audio.kext.
Actually there are, at least in both 10.3 and 10.4. But starting Qemu with AC97 sound card support amounts to some errors in the command window. The device is not recognised in the OSX system profiler and therefore most probably not present in the device tree of OpenBios.

Best,
Cat_7
Where is the AC97 sound card driver on Mac OS 10.4? I did a search using the find command like this:

find /System/Library/Extensions -name "*97*"

Couldn't find the extension. Maybe the reason why ac97 doesn't work is because the driver isn't included with Mac OS X.
Actually there are, at least on x86 Tiger. Also, the third-party AppleAC97Audio.kexts are widely used on Hackintosh.
source code from Apple:
http://www.opensource.apple.com/source/ ... 97Audio-5/
kataetheweirdo
Master Emulator
Posts: 313
Joined: Sun Feb 01, 2009 4:55 pm

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by kataetheweirdo »

All signs so far are ruling out being able to run on PPC Macs. I couldn't find any mention of PowerPC Macs running along with AC97 sound cards. The source code for the kext is available on Apple's Open Source site, but the question is whether or not that code can compile and work for PowerPC machines. You'd be better off emulating sound cards for the real G3 and G4 machines, as those are supported in all versions of Mac OS X.
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by Cat_7 »

Where is the AC97 sound card driver on Mac OS 10.4? I did a search using the find command like this:

find /System/Library/Extensions -name "*97*"

Couldn't find the extension. Maybe the reason why ac97 doesn't work is because the driver isn't included with Mac OS X.
Seems I'm guilty of misinforming ;-) I now wonder where I got that info.
I checked the darwin source code, but it says that the only valid arch is 386.

Best,
Cat_7
mathieudel
Inquisitive Elf
Posts: 36
Joined: Sat Oct 03, 2009 12:51 am
Location: France

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by mathieudel »

Programmingkid wrote:I tried installing on Mac OS 10.9. It failed because a lot of the dependencies had been already installed while I was building QEMU. pkg-config and glib both caused a lot of problems because they were already on my system. It looks like I would need to wipe my system clean of all installed QEMU dependencies before trying to install virt-manager again. That or build virt-manager without brew.
I built QEMU with brew then virt-manager with brew too and it worked.
Programmingkid
Apple Corer
Posts: 243
Joined: Sun Jan 31, 2016 6:01 pm

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by Programmingkid »

mathieudel wrote:
Programmingkid wrote:I tried installing on Mac OS 10.9. It failed because a lot of the dependencies had been already installed while I was building QEMU. pkg-config and glib both caused a lot of problems because they were already on my system. It looks like I would need to wipe my system clean of all installed QEMU dependencies before trying to install virt-manager again. That or build virt-manager without brew.
I built QEMU with brew then virt-manager with brew too and it worked.
So how is it? Are you able to see any real-time graphs of network, cpu, or disk usage? If you do have these working, would you mind sharing with us a picture if it when QEMU is doing something? Thank you.
Programmingkid
Apple Corer
Posts: 243
Joined: Sun Jan 31, 2016 6:01 pm

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by Programmingkid »

Cat_7 wrote:
Where is the AC97 sound card driver on Mac OS 10.4? I did a search using the find command like this:

find /System/Library/Extensions -name "*97*"

Couldn't find the extension. Maybe the reason why ac97 doesn't work is because the driver isn't included with Mac OS X.
Seems I'm guilty of misinforming ;-) I now wonder where I got that info.
I checked the darwin source code, but it says that the only valid arch is 386.

Best,
Cat_7
It's ok. I was sure that it was included also.
mathieudel
Inquisitive Elf
Posts: 36
Joined: Sat Oct 03, 2009 12:51 am
Location: France

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by mathieudel »

Programmingkid wrote:So how is it? Are you able to see any real-time graphs of network, cpu, or disk usage? If you do have these working, would you mind sharing with us a picture if it when QEMU is doing something? Thank you.
Sure... except I never used virt-manager nor QEMU and don't even know how to start.
If you have a quick how-to, I'll be glad to help.

Right now, all I can see is virt-manager complaining because it can't find any hypervisor.
Actually a short translation of the french message visible in my screenshot could be : "no hypervisor found, install one and start libvirtd".
QEMU is installed, and I tried to start libvirtd, but it outputs this error :

Code: Select all

$ libvirtd 
2016-03-09 19:27:15.098+0000: 18446744073709551615: info : libvirt version: 1.3.2
2016-03-09 19:27:15.098+0000: 18446744073709551615: info : hostname: iMac-de-Mathieu.local
2016-03-09 19:27:15.098+0000: 18446744073709551615: warning : virProcessGetStartTime:1021 : Process start time of pid 8939 not available on this platform
2016-03-09 19:27:15.101+0000: 18446744073709551615: error : do_open:1085 : no connection driver available for qemu:///session
Programmingkid
Apple Corer
Posts: 243
Joined: Sun Jan 31, 2016 6:01 pm

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by Programmingkid »

Sure... except I never used virt-manager nor QEMU and don't even know how to start.
If you have a quick how-to, I'll be glad to help.
Well first you need some kind of guest operating system. You could use Mac OS 9. There are several links on this forum for iso and hard drive image files. You could also download Linux for free if you want. This page has some directions for the Macintosh emulator: http://wiki.qemu.org/PowerPC. If you need additional help, just let me know.
User avatar
adespoton
Forum All-Star
Posts: 4227
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by adespoton »

Hmm... it says it depends on libvirtd, which requires a hypervisor. Doesn't KVM usually perform this task on Linux? The functionality is baked in to the kernel, and isn't transferrable to OS X. QEMU doesn't provide a hypervisor AFAIK, just the emulation. I ran into this problem trying to virtualize 10.5 Intel via QEMU on OS X -- it requires KVM, which isn't available except on Linux.
Programmingkid
Apple Corer
Posts: 243
Joined: Sun Jan 31, 2016 6:01 pm

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by Programmingkid »

adespoton wrote:Hmm... it says it depends on libvirtd, which requires a hypervisor. Doesn't KVM usually perform this task on Linux? The functionality is baked in to the kernel, and isn't transferrable to OS X. QEMU doesn't provide a hypervisor AFAIK, just the emulation. I ran into this problem trying to virtualize 10.5 Intel via QEMU on OS X -- it requires KVM, which isn't available except on Linux.
I didn't think Virt-manager could even run on Mac OS X, so it has made it pretty far. I wonder if the person who ported it has anything to say about the need for libvirt. Hopefully he has a solution.
mcayland
Mac Mechanic
Posts: 152
Joined: Sun Nov 01, 2015 10:33 pm

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by mcayland »

adespoton wrote:Hmm... it says it depends on libvirtd, which requires a hypervisor. Doesn't KVM usually perform this task on Linux? The functionality is baked in to the kernel, and isn't transferrable to OS X. QEMU doesn't provide a hypervisor AFAIK, just the emulation. I ran into this problem trying to virtualize 10.5 Intel via QEMU on OS X -- it requires KVM, which isn't available except on Linux.
Are you sure? KVM may be the default but it is perfectly possible to run non-KVM guests on virt-manager. Last time I did this several years ago it was as simple as editing the XML generated for the machine configuration by libvirt and pointing it to a TCG-only qemu executable rather than the default /usr/bin/kvm.

Check the latest builds to see if they now offer a non-accelerated qemu as well as kvm with the in-built wizards, and even better try asking on IRC/mailing lists to see what the current state of support for non-native guests is like.
User avatar
adespoton
Forum All-Star
Posts: 4227
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by adespoton »

That brings new hope! If the non-accellerated qemu could be used just with libvirt, and libvert can fully compile on OS X without KVM or kernel dependencies, we may have ourselves a winner!
mcayland
Mac Mechanic
Posts: 152
Joined: Sun Nov 01, 2015 10:33 pm

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by mcayland »

I think it should still work fine, although it's not a setup that I run regularly here since I'm pretty much always working at the cutting edge with QEMU.

libvirt mainly does 2 things: firstly it allows you to build a machine configuration, i.e. specify the number and type of drives, network cards etc. for your VM and secondly it provides a more sophisticated runtime interface with an in-built VNC viewer and tools to help migration. Note: migration for qemu-system-ppc isn't complete yet - I have some patches but they need more work for upstream.

For the configuration section all that happens under the hood is that it generates a suitable command line for QEMU and launches it with the correct parameters. So given that you can invoke any QEMU executable directly then there should be no issues with this. The trickier part is whether libvirt supports all the custom command line options for qemu-system-ppc since most people will be using x86/KVM but you should ask on the libvirt list, and I'm fairly sure any patches to make this work would be fairly trivial.
Z_God
Student Driver
Posts: 10
Joined: Wed May 19, 2004 7:53 pm
Location: Netherlands
Contact:

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by Z_God »

I've used libvirt with a kqemu-based QEMU in the past. It works fine.

Btw. did anybody test USB passthrough with QEMU PPC? I saw there was writing about getting audio to work, maybe it would be possible to pass through a physical USB audio device for Mac OS 9.

Great to watch all this happen btw!!
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by Cat_7 »

-device usb-audio works, at least with OSX as host and 10.3 as guest and a functioning Logitech headset. You can set the buffer size to use with e.g., -device usb-audio,buffer=4096 but not all buffer sizes result in sound. And when sound is heard, it is very crackling.

Best,
Cat_7
Programmingkid
Apple Corer
Posts: 243
Joined: Sun Jan 31, 2016 6:01 pm

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by Programmingkid »

Cat_7 wrote:-device usb-audio works, at least with OSX as host and 10.3 as guest and a functioning Logitech headset. You can set the buffer size to use with e.g., -device usb-audio,buffer=4096 but not all buffer sizes result in sound. And when sound is heard, it is very crackling.

Best,
Cat_7
Shocker!!! I figured out how to make sound work. Just play an mpg file. I don't know why this works. Probably having something to do with how Quicktime plays certain file formats. Other formats like mp3, mov, and avi don't play very well at all.

Part of the problem with usb-audio playback is the OHCI USB controller doesn't work like it is supposed to. So I switched it with a UHCI USB controller called ich9-usb-uhci1. The OHCI USB controller will make the sound play only around 80% of full speed. It also seems to stop all audio playback after about a minute of use.

Here is the command line to add the usb-audio with the new USB controller:
-device ich9-usb-uhci1,id=newusb -device usb-audio,bus=newusb.0

Additional info:
- Mac OS 10.4.0 guest
- Mac OS 10.6.8 host
- OpenBIOS r1391
- QEMU 2.5.50
- https://en.wikibooks.org/wiki/QEMU/Devices/USB/Root

Probably other UHCI USB controllers will work also. I haven't test all of them yet.
DANADAX
Student Driver
Posts: 14
Joined: Tue Jun 23, 2015 5:37 am

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by DANADAX »

Funny, I was just reading a thread at another Mac website, where they were talking about doing their own modifications to Mac OS 9, some idea for a "community upgrade" to 9.3, D-I-Y style. The thread is very long and hasn't had a new poster on it since December 9th, 2015, but along the way, they discussed certain things about Mac OS 9/Classic (system stuff, etc.) that I thought maybe someone here might find useful, whenever they weren't just mentioning ideas for their custom "upgrade." The thread is mostly irrelevant to the topic here on this forum, but there are some interesting little tidbits of info that some people talk about on that thread that might be relevant for what's going on here. Maybe this can help anybody here?

Sorry in advance, it's kind of a long thread.

http://macos9lives.com/smforum/index.php?topic=2727.0
romper
Space Cadet
Posts: 9
Joined: Fri Aug 28, 2015 12:47 am

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by romper »

Cat_7 wrote:
Hey still here just keeping tabs heh. I played with your image a bit (thanks for uploading that heh) and got it to kinda boot the OS9 partition you have to type "boot hd:10,\\:tbxi" in OF to boot from the OS9 partition (its the 10th partition on the disk heh)
That was to be expected, but worth a try.

I'll upload a disk image with OSX 10.4 and Mac OS 9.2 shortly.

EDIT: 10.4/9.2 disk image available here: http://www.open.ou.nl/hsp/downloads3/te ... .4.dmg.zip

It is an zipped image of a 10Gb disk with size of ~ 4.2 Gb
Even slower compared to the 10.3 installation. Please note that I created this image on a g4/400/agp, while the previous image was created on a g3/233. The Mac99/G4 combo, however, has problems with the mouse. It looks like the G4 emulation defaults to usb mouse/keyboard which do not work well. So stay with the G3 cpu for Qemu.

Best,
Cat_7

I've downloaded the 10.4/9.2 image on my windows 7 machine and my ubuntu 14.04 and both machines think the archive is corrupt. perhaps it extracts OK on mac, but not under linux or windows. Can someone on this thread double check that the file extracts for you under either windows or linux? The extraction of the 10.2/9.1 image worked fine. Thank you Cat_7 and everyone on this thread for contributing to making this project a reality.
kristerwirtanen
Space Cadet
Posts: 4
Joined: Mon Mar 28, 2016 4:48 am

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by kristerwirtanen »

I downloaded the testimage10.4. There was No errors in the zip (Downloaded in OS X El Capitan).
Runs fine in Qemu but slower than testimage10.3 as descibed.
Thanks Cat_7 for your grate work.
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by Cat_7 »

Hi,

I know the image has problems unzipping in Windows (but now also in Linux as it seems). I tried various tools to create a zip file that would extract in Windows, but failed ;-)

Best,
Cat_7
mathieudel
Inquisitive Elf
Posts: 36
Joined: Sat Oct 03, 2009 12:51 am
Location: France

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by mathieudel »

If the uncompressed image is bigger than 4GB (or 2GB, I don't remember), that's unsupported by zip, but MacOS uses a zip extension to handle that. Maybe that's the issue here ?
Post Reply