How to tell if M1 Mac has Rosetta installed?
I am trying to run only native software. So I would like to be able to monitor whether Rosetta 2 is available or not.
I am not asking if Rosetta 2 is running. I am asking if Rosetta 2 is present, is capable of running.
I know I can sort on the Kind column of the process list seen in the Activity Monitor app to find a process currently running through Rosetta 2 or running natively (“Apple”). But I want to know if the Rosetta capability in general has been installed/activated in general on my Mac, even if no app is currently running that way.
The Rosetta 2 installer seems to install at least three files:
$ lsbom -f /Library/Apple/System/Library/Receipts/com.apple.pkg.RosettaUpdateAuto.bom
./Library/Apple/usr/lib/libRosettaAot.dylib 100755 0/0 322368 1011814917
./Library/Apple/usr/libexec/oah/libRosettaRuntime 100755 0/0 352176 1937385839
./Library/Apple/usr/share/rosetta/rosetta 100644 0/0 64 1875722922
So testing for the existance of any of those (or for content in /usr/libexec/rosetta
) should show you whether Rosetta actually got installed.
Another option is to check if the oahd process is running;
pgrep oahd
Internally rosetta is known as OAH. If it returns a process id you know rosetta is installed. I use the following oneliner in my scripts;
if [ $(/usr/bin/pgrep oahd >/dev/null 2>&1;echo $?) -eq 0 ]; then echo 'rosetta installed'; fi