Apple Event: May 7th at 7 am PT

Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

snow leopard and rosetta

I have a couple of questions about snow leopard and rosetta.

1. Quicken uses PowerPC code. Will Rosetta install automagically when I start Quicken or do I need to install Rosetta as part of the install.
2. Assuming a Quicken update in the not too distant future, and assuming that other Rosetta apps are banished from my computer, is there a way to de-install Rosetta code when it is no longer needed?

Thanks

iMac, Mac OS X (10.5.7)

Posted on Aug 25, 2009 2:42 PM

Reply
33 replies

Sep 22, 2009 10:22 AM in response to Turkchgo

1. It is included by default if the installer detects any PPC-only apps on your Mac.

2. There are dozens (or many thousands, if you count AppleScript-based ones) of useful PPC-only apps in the Mac universe. Don't be too sure that other users (or you yourself) don't have any until you check for that using System Profiler.

3. It is tiny, much smaller than hundreds of other files that are installed, either by default or optionally, that many users will never use.

4. It does no harm to leave it & the few associated files it creates on your Mac.

5. If you are going to obsess over its tiny footprint, then you should be obsessing much more over the other, much larger files that Apple also doesn't provide a dedicated uninstaller to remove.

6. Any time you happen to download a PPC-only app & try to run it, you will get the same query about downloading Rosetta again unless it is already installed. For most users it would just be a waste of time to dismiss this query and/or delete Rosetta after checking out the PPC-only app, which presumably they would want to do if they downloaded it.

7. If, after considering the above, you still think Apple should provide a Rosetta uninstall option, then don't tell us, tell Apple. We are just users. Even if some of us agree with you, what do you expect us to do about it that you can't do yourself?

Oct 10, 2009 9:32 AM in response to sdevan

Hold on a minute guys... These responses about why seem very short sighted and are completely off topic and the point. This topic isn't about why should I uninstall or leave installed rosetta, it's about how to. The why is almost irrelevant. I, for example, want to know when an application I'm trying to run isn't built for my current architecture, because I want the best performance possible out of my software. Knowing it is non-native lets me know that I need to look for a newer version or find a newer alternative app. Sure, it's possible to check the architecture of an app by using Activity Monitor, but #1 that gets tedious, and #2 it's completely useless if you are running a full-screen-only program, like a game. Some apps and games don't let you CMD-Tab out of them, and black-out all other displays, making it impossible to check output from a different program. I like others on this thread had installed Rosetta so I could get an installer to work and since then, obtained a Universal Binary version of the actual application. I know Rosetta doesn't run unless needed, but I the option to decide which PPC-only apps are worthy of running based on my present needs.

I've tried doing the following without achieving the desired result (uninstalling rosetta to the point where it asks "Would you like to install Rosetta" when I attempt to run a PPC-only app. PPC-only apps just launch and unload immediately when "translate" is not found.
* Remove: /usr/libexec/oah/translate and the receipt entry from the InstallHistory.
* Remove the entire /usr/libexec/oah folder.

I started looking around the Rosetta installer to see why it would just crash after the files didn't exist. The translate file had to not be the whole story. Some part of the system had to know that "translate" existed and wether to try to run it or not. This lead me to the postinstall_actions scripts in the Rosetta.pkg. I found the following code:

{quote:title= Code:}{quote}
if \[ "$3" == "/" \]; then
logger -p install.info Registering Rosetta
/usr/sbin/sysctl -w kern.exec.archhandler.powerpc=/usr/libexec/oah/translate
fi

So, after Rosetta installs it talks to the sysctl program, which is essentially a set of environment variables or a shudder "registry". It sets the architecture handler for PowerPC to the newly installed translate application. Coincidentally, this made me wonder wf RosettaNonGrata was, which is latin for "Rosetta is unwelcome" or directly "Rosetta not welcome". I cross checked my laptop which didn't have rosetta installed on it and it's setting for kern.exec.archhandler.powerpc was /usr/libexec/oah/RosettaNonGrata. The solution is the following, which is quite elegant because you don't even need to remove or change files or anything, just run one command to set how PPC apps should be handled, wether they are translated or not.

{quote:title= Solution:}{quote}
sudo /usr/sbin/sysctl -w kern.exec.archhandler.powerpc=/usr/libexec/oah/RosettaNonGrata


{quote:title=*Re-enable after it's been installed already:*}{quote}
sudo /usr/sbin/sysctl -w kern.exec.archhandler.powerpc=/usr/libexec/oah/translate


Easy as that.
Once it's set to RosettaNonGrata, you'll be asked to install rosetta when a PPC app is executed, just like before.

Message was edited by: Djspaceg to improve formatting.

Oct 10, 2009 9:46 AM in response to Djspaceg

With all due respect, why you would want to remove it is a valid question. If you total all of the fonts that OS X installs (and the ones containing Asian glyphs are huge, as far as fonts go), they take up far more space than Rosetta. I just don't see the reason for even thinking about removing Rosetta. It's not worth the time, or effort.

Oct 10, 2009 9:45 AM in response to Kurt Lang

The argument against having rosetta installer or at least active isn't anything to do with size. The translate portion of Rosetta is only 2.1MB. It's beyond trivial to remove it to save space. The disk space isn't the issue at all.

Honestly, I don't have the asian fonts installed either, since I can't read them anyway. I also don't have alternate languages localizations installed for that matter since my system will never be set to use those languages, I certainly don't need them.

Ultimately the point of removing rosetta is more about native vs. emulated software performance, and not about disk space.

Oct 10, 2009 9:51 AM in response to Djspaceg

Ultimately the point of removing rosetta is more about native vs. emulated software performance, and not about disk space.


Then it is a moot point. Any Intel only app or Universal app will always run native Intel. Only apps which contain only PPC code will run under Rosetta emulation since they have to.

The only reason anyone could then have for removing Rosetta is if they know for certain they have no apps that require its presence to run.

Oct 10, 2009 10:04 AM in response to Kurt Lang

That's precisely my point. I don't want to have any non-native apps running on my system. Not having rosetta installed and passively translating everything automatically, alerts me that the program I'm trying to run isn't native, at which point I can opt not to run it and find a native solution. Alternatively, if I know no native version exists, I can temporarily enable rosetta, do the install, run the app temporarily, etc, then disable it so make sure that only native apps run. Essentially it can work as a security system like LittleSnitch or the "You've downloaded a program from the internet..." thing - but more useful than the latter - that forces me to only use native apps, unless I really need the non-native-app's functionality.

Oct 10, 2009 10:17 AM in response to Djspaceg

Okay, I see what you're saying, but I still don't understand the point. If an app you rely on is PPC only, so what? Why switch to new app, which may not even be as good as the one you have, just because it's Intel native?

I have about a dozen apps (like the very expensive Monaco Profiler) that are still PPC only. As long as they run, who cares? The only time it will truly make a difference is when someday (and you know it will happen) Apple removes Rosetta from OS X, or whatever moniker the OS has at that point. Then it will make a difference and you will have to find out if the developer of the software you have is finally going to make the app Intel native. If not, then you'll be forced to look for an alternative.

Until that time comes, there's no good reason to worry, or even think about whether or not a program is running through Rosetta or not. That it runs is the only thing that matters.

Oct 10, 2009 10:38 AM in response to Kurt Lang

I agree very much, and understand your point. It is in essence fairly trivial for most apps to be running under rosetta. Nearly full speed en good enough for most apps which didn't use much CPU time to begin with. And if it's essential to your daily or frequent work flow, it certainly isn't an abandoned dinosaur that needs to be cast aside in leu of a potentially less capable alternative.

In my case, I'm interacting with old, heavy-CPU-load executables; so having them run as native vs emulated or translated is a surprisingly big factor for their performance.

Games are primarily my focus here. All the desktop applications I use are native UBs, but games... that's a whole other story. I have a massive collection of old Mac games. Recently developers have been releasing UB versions of their games which were originally released before UB even existed, so that they'll run better, more smoothly, with less crashes, etc. My interest in this topic starts here, because I don't want to run a non-native game (Cyder apps excluded, 😉 that's different, at least it's x86 code), because it will run really quite poorly. The gaming angle vs the required-software-for-jobs angle does allow for more of a whimsical approach, since I don't need to play some game, I merely want to. If it doesn't run well in the first place, it will detract from my enjoyment of the gaming experience, so I'll just play a different one and maybe go back to playing that other one after the developer gets a chance to release a UB for it.

Oct 10, 2009 10:48 AM in response to Djspaceg

If it doesn't run well in the first place, it will detract from my enjoyment of the gaming experience, so I'll just play a different one and maybe go back to playing that other one after the developer gets a chance to release a UB for it.


Ah! Now your reason makes perfect sense. Games are almost always written to maximize the performance of the hardware they are tied to at development time. Having to run that game through a PPC emulator (Rosetta) is going to slow it down. Sometimes not all that noticeably since the faster CPU offsets the double code execution, other times an app will clearly drag.

I'm afraid you're stuck there. In order to continue playing an older version (I love some really old games I still play), you'll just have to endure the performance lag if you prefer the older title over a newer, Intel native version of the same game. It then becomes a game of "What's going to happen first?". Will my next Mac be so fast that the game runs faster than before even with the emulation overhead, or will Rosetta be gone by that point and I won't be able to play it at all?

Oct 12, 2009 11:34 PM in response to sdevan

I myself don't understand why it is so difficult to understand. I want Rosetta off my machine so that I know positively if an app I open is PPC or not.

Perfect example...
I have quicken 2007 (which is the newest version), it slucks. I upgraded to Snow Leopard and now when I click on the Quicken app to open it asks to install Rosetta. I don't want Rosetta, and I don't want Quicken. It has helped me make a firm choice to move to iBank.

BUT... I HAVE to open quicken one last time to export all my data to get it into iBank. When I am done with the task, I want to remove Quicken, remove Rosetta and be notified the next time an "Old" app tries to use Rosetta so I can find a newer app. Which, in searching how to do this, is how I found this thread

Message was edited by: Fretbuzz

Oct 13, 2009 11:59 AM in response to Fretbuzz

I want Rosetta off my machine so that I know positively if an app I open is PPC or not.


While the OP probably meant exactly that from the beginning, it wasn't worded that way. Hence, no one attempted to answer it in that manner.

So far, the answer seems to be that no one knows. I found some files, but not all. This will prevent Rosetta from running. An app that needs Rosetta will initially get the launch blip under its icon in the Dock and then just stop.

To view all files on your Mac, open the Terminal and enter the following two lines.

defaults write com.apple.finder AppleShowAllFiles TRUE
killall Finder


Locate and remove the following files:

/private/var/db/receipts/com.apple.pkg.Rosetta.bom
/private/var/db/receipts/com.apple.pkg.Rosetta.plist
/private/var/db/dyld/dyld shared_cacherosetta
/private/var/db/dyld/dyld shared_cacherosetta.map
/usr/libexec/oah/RosettaNonGrata
/usr/libexec/oah/translate
/private/var/db/RosettaVersion.plist

When you're done, type the same two lines in the Terminal, except change TRUE to FALSE to return file viewing to normal.

There is a big catch with this. While any program that requires Rosetta will not launch after removing these files, neither does the OS say anything about having to install Rosetta. This is important because without the distinction, there's no way to tell if the app isn't launching because it requires Rosetta, or there's just something wrong with it when it should be able to run Intel native.

Until someone figures out where all of the necessary pieces are to completely remove Rosetta, consider this post as a crutch at best.

Oct 13, 2009 2:12 PM in response to Kurt Lang

Actually, I did find the answer. I posted about it on here earlier.

See: http://discussions.apple.com/message.jspa?messageID=10380927#10380927

The fix is in the portion titled "Solution".

For verboseness sake, here's that section:

+Disable Rosetta:+
*sudo /usr/sbin/sysctl -w kern.exec.archhandler.powerpc=/usr/libexec/oah/RosettaNonGrata*

+Re-enable after it's been installed already:+
*sudo /usr/sbin/sysctl -w kern.exec.archhandler.powerpc=/usr/libexec/oah/translate*

Message was edited by: Djspaceg

snow leopard and rosetta

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple ID.