GarageBand – Running in Rosetta

Ok, I promised I’d write about how to do this, so here goes…
(also, anything you try in this post is AT YOUR OWN RISK – If you don’t know what you are doing here, DON’T DO IT. If you somehow break your actual copy of GarageBand, I CANNOT fix it for you. YOU HAVE BEEN WARNED.)

So say you’ve got this fancy-schmancy Intel-based Mac, but a lot of the plugins you use (or want to use) aren’t Universal Binaries yet. What do you do? If you’re running Logic or something along those lines, just do a “Get Info” on the application, and check the “Open using Rosetta” checkbox. No problem.

Now, say you’re like me, running poor little GarageBand 3 – it’s a Universal Binary, so it should open in Rosetta, right? Try it – do a Get Info – the “Open in Rosetta” checkbox isn’t there…

What to do? Luckily, Apple provided the answer here, in the Universal Binary Programming Guidelines. I first tried messing with the application’s Info.plist file, as it contains settings that can prevent/allow the use of Rosetta. Unfortunately, that didn’t help. For some reason, it still never provided the “Open in Rosetta” checkbox.

Time for the serious hack. We’re going to make a separate copy of GarageBand, and strip all the Intel code out of it, leaving only a PowerPC binary that has to run in Rosetta. You’re going to have to run Terminal for this (it’s in /Applications/Utilities, if you don’t have it on your Dock, like I do).

Before you get going in Terminal, you’ll first need to make a copy of the .app. in Finder, go to /Applications, and make a duplicate of GarageBand. you can call it whatever you like, but I called mine GarageBandPPC3. I’ll refer to it as this below.

Now, onto the Terminal work. First, lets actually look at the application itself
in your Terminal window, type
$ cd /Applications/GarageBandPPC3.app/Contents/MacOS/
$ ls -l

you should see three files in there, ChapterTool, GarageBand, and bomread. The only one we’re concerned with is GarageBand. Try this command:
$ file GarageBand
GarageBand: Mach-O universal binary with 2 architectures
GarageBand (for architecture ppc): Mach-O executable ppc
GarageBand (for architecture i386):Mach-O executable i386

from the prompt type these commands in to strip out the Intel code, leaving only the PowerPC version:

$ ditto -arch ppc GarageBand /tmp/GarageBand
$ mv /tmp/GarageBand .

now let’s try seeing what the file is:

$ file GarageBand
GarageBand: Mach-O executable ppc

At this point you should be done. Try running GarageBand3PPC from the finder. Do you see your PowerPC-only AudioUnits? Excellent! Is it running slow as hell? Probably, and there isn’t much I can do about that. Also, anytime Apple updates GarageBand, you’re going to have to do this again to make the PPC-only version match the UB version, unless, of course, the update allows opening in Rosetta 😉

The real solution is to nag plugin vendors to build Universal versions of their AudioUnits (or even open-source them if they don’t want to do it – heck, I’ll give it a try if you’ll let me), but until then, maybe this will help you use the C3 Compressor to master your songs, or use daHornet or the Magical 8-bit plug as instruments in your next hit.

Bookmark the permalink.

One Response to GarageBand – Running in Rosetta

  1. Pingback: Glacial Communications » Blog Archive » Free AU ports going Universal

Leave a Reply

Your email address will not be published. Required fields are marked *