Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
It translates ahead of time?? Well that explains why Parallels and VMWare won't work with it. Very cool, though.
Btw, the original Rosetta (PPC->x86) was JIT. It was pretty slow.
 
It’d seem odd to irreversibly change an app so it could never again run on an Intel Mac, at least not without warning.
How would the app installed on the disk get installed on an Intel Mac?
I actually don't think there is any reason to expect the original app to be modified - that could cause problems for apps that do tricky things with their executable files. (Think about .Net single file applications.)
 
Last edited:
Well I’ve already seen the same thing with the new Ulysses, Affinity Photo & Designer on an intel Mac Mini with Catalina. First start-up bounces for some time, then fine from there.

That’s not a Rosetta problem.
That could be the OS going through and verifying the application in a security-related way. I had an astronomy program that took 40-60s to start up every time. The developer figured out that "something" was wrong and macOS kept reverifying the program every time I started it. After an update the problem went away. It's only supposed to do it once. With an OS change or update the apps can also have to do things like rebuild caches and such and that can take a while on the first run.
 
Could not Apple translate the apps on the App Store and create universal binaries for the M1 chip?

That would save a lot of energy as opposed to translating on each client.
It is my understanding that in fact, they do this.

But you can buy Microsoft Office from outside the App Store. Or have it transferred from your older Mac when migrating. In those cases the App Store is not involved.
 
It would be interesting to see a comparison of native Geekbench and Rosetta Geekbench.

I'd be interested in a video conversion benchmark using apps that are not yet available for the M1.
For example, what kind of performance hit does Handbrake take when converting a video?

To begin with, I'd be curious to see if Handbrake's Intel binary, working through Rosetta 2, can use the videotoolkit to accelerate transcoding.

Heck, I don't even know of the videotoolkit still exists on Big Sur/M1.
 
This probably sounds like news for newbies, but Rosetta always did this. It also happened on DEC Alpha machines running Windows NT in the late 90s when they had to run x86 apps.
 
  • Disagree
Reactions: NetMage
What about games? If I run my blizzards Diablo 3 launcher will trigger rosseta translation as well?
 
That it can translate an entire app into a code that it can subsequently launch instantly in just 20 seconds is pretty impressive IMHO. I've got a 15" mid 2012 rMBP which I use for light photo & video editing as well as Office etc & if the Air is as powerful as it looks I think it's what I'll upgrade to.
 
How would the app installed on the disk get installed on an Intel Mac?
I actually don't think there is any reason to expect the original app to be modified - that could cause problems for apps that do tricky things with their executable files. (Think about .Net simgle file applications.)

There may be situations where someone wants to copy an app from an M1 Mac to an Intel Mac. Your example is another reason. Regardless, I don't think the OS should irreversibly change any app without warning to the user, if ever.
 
  • Like
Reactions: NetMage
This probably sounds like news for newbies, but Rosetta always did this. It also happened on DEC Alpha machines running Windows NT in the late 90s when they had to run x86 apps.
Rosetta 2 works differently than Rosetta 1. Rosetta 1 had a cache, but it wasn‘t statically created.
 
  • Like
Reactions: NetMage
This is so Apple.

Is it really that hard to show me a message like “Yo, give me 20 sec, I’m doing X”?

UX gone down the drain just to hide “the nitty gritty” from the user.
 
This is so Apple.

Is it really that hard to show me a message like “Yo, give me 20 sec, I’m doing X”?

UX gone down the drain just to hide “the nitty gritty” from the user.
I agree an informative message would be nice, but why the negativity? Truly not that big a deal while there is larger fish to fry, like: when are we going to see a working emulated/translated x86 VM environment?
 
  • Disagree
Reactions: NetMage
If Rosetta 2 de-compiles and then re-compiles for Apple Silicon instead of translating on the fly, would this mean that many AMD64 applications can not legally be run on apple Silicon because their license agreements prohibit reverse engineering and many jurisdictions allow restrictive licenses that don’t transfer ownership of the software to the customers?
 
If Rosetta 2 de-compiles and then re-compiles for Apple Silicon instead of translating on the fly, would this mean that many AMD64 applications can not legally be run on apple Silicon because their license agreements prohibit reverse engineering and many jurisdictions allow restrictive licenses that don’t transfer ownership of the software to the customers?
Where does it state that Rosetta 2 decompiles and recompiles? A one time machine code translation is not necessarily the same thing. You can arrive at an ARM binary in two ways: compilation of source code and translation from existing machine code. I've worked in compilers before and IMO the latter is a more difficult task and achievable without decompilation into an intermediate, higher level language. It is possible the task involves an intermediate byte code representation beneficial to migrating from x86 to ARM. That's not reverse engineering and arguably also not decompilation.
 
  • Like
Reactions: NetMage
If Rosetta 2 de-compiles and then re-compiles for Apple Silicon instead of translating on the fly, would this mean that many AMD64 applications can not legally be run on apple Silicon because their license agreements prohibit reverse engineering and many jurisdictions allow restrictive licenses that don’t transfer ownership of the software to the customers?

It doesn‘t “de-compile” anything. It translates it.
 
  • Like
Reactions: NetMage
If Rosetta 2 de-compiles and then re-compiles for Apple Silicon instead of translating on the fly, would this mean that many AMD64 applications can not legally be run on apple Silicon because their license agreements prohibit reverse engineering and many jurisdictions allow restrictive licenses that don’t transfer ownership of the software to the customers?
There will probably be a lot of hair splitting around this by companies akin to patent-trolls, but the decompilation step is only very partial. It never leads to human readable sourcecode on your computer.

Compiler: Source code -> Intermediate Representation -> Machine code
De-compiler: Source code <- Intermediate Representation <- Machine code
Rosetta 2: Machine code (x86_64) -> Intermediate Representation -> Machine code (arm64)
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.