Introduction
I’ve been interested in old operating systems in a while, especially Apple ones. I love QEMU because it lets me emulate different (and a lot of obscure) operating systems and architectures that I otherwise would not have access to. This includes PPC Mac OS X, however one problem is that audio has never worked for me, since QEMU doesn’t emulate a supported sound card.
Passing through an audio device?
Inconvenient, and I need to find one that is supported first. I’d rather just avoid this at all costs.
How about an emulated USB audio device?
Turns out QEMU supports this! It’s even documented in the wiki
. The audio won’t sound great but it’s better than nothing honestly. Just add the argument -device ich9-usb-uhci1,id=newusb -device usb-audio,bus=newusb.0
and you’re good to go. However there’s one problem, it only works in OS X 10.4.0-10.4.3, 10.3 might be supported but I haven’t tested.
Solution
Only one that I can think of, and it involves downgrading a kext in your Mac OS X install. You need to extract the AppleUSBAudio.kext from Mac OS X 10.4.3.
Tiger
If you’re running Mac OS X 10.4 in QEMU but haven’t upgraded past 10.4.3 just yet, you can backup the AppleUSBAudio.kext from /System/Library/Extensions.
After this run the 10.4.11 upgrade installer. When it’s done the audio will be broken.
Now install the kext with the following commands:
# rm -rf /System/Library/Extensions/AppleUSBAudio.kext
# cp -r AppleUSBAudio.kext /System/Library/Extensions/
# chmod -R 755 /System/Library/Extensions/AppleUSBAudio.kext
# chown -R root:wheel /System/Library/Extensions/AppleUSBAudio.kext
# rm -rf /System/Library/Extensions.mkext
# rm -rf /System/Library/Extensions.kextcache
Reboot, and audio should be working on Tiger.
Leopard
You will probably need either a Tiger install, might be able to extract the kext from the install DVD. Unknown if this will work on OS X 10.5.8 (I plan on testing later) but it certainly works on 10.5.1 which is what I’m running. Unfortunately, I won’t be providing the kext due to copyright reasons, but you should be able to either extract it from an installation of 10.4.3 or get it through some other means.
After you have the kext install using the following commands:
# rm -rf /System/Library/Extensions/AppleUSBAudio.kext
# cp -r AppleUSBAudio.kext /System/Library/Extensions/
# chmod -R 755 /System/Library/Extensions/AppleUSBAudio.kext
# chown -R root:wheel /System/Library/Extensions/AppleUSBAudio.kext
# rm -rf /System/Library/Extensions.mkext
# rm -rf /System/Library/Extensions.kextcache
Reboot, and audio should be working on Leopard (at least 10.5.1).