If you plan on getting an M1 MacBook Air, MacBook Pro or Mac mini, you do not have to worry about app compatibility, thank so Rosetta 2 translation technology. Rosetta will enable legacy x86 apps and games to function just fine, without any change needed from the developer.
What is Rosetta 2?
Here is how Apple defines Rosetta 2 translation environment on its developer page for Apple Silicon:
Rosetta is a translation process that allows users to run apps that contain x86_64 instructions on Apple silicon. Rosetta is meant to ease the transition to Apple silicon, giving you time to create a universal binary for your app. It is not a substitute for creating a native version of your app.
It’s called Rosetta 2 because Apple had originally created Rosetta when it was transitioning Mac from PowerPC to Intel chips in 2005.
After watching the ‘One more thing’ event and by going through Apple’s website, we understand that Rosetta 2 will help run x86 apps without the need for any changes. Usually, developers would benefit the most if they convert their apps to Universal apps, which will run natively on the new M1 chip-based Macs. However, it will take time for some developers to do so, and Rosetta 2 will step in to run those apps and games, better than how they ran natively on Intel processors in the same Macs before, in many situations:
With the introduction of Rosetta 2, M1 and macOS Big Sur seamlessly run apps that haven’t yet transitioned to Universal versions. So without updating, you can keep working on Fusion360 projects or reach the next level in your favorite game. And thanks to Metal and M1, some of the most graphically demanding apps perform better under Rosetta 2 than they did running natively on previous Mac systems with integrated graphics.
Apple claims to have the fastest integrated graphics on the market which means that games should run faster with Rosetta 2 on M1, than they did on their Intel predecessors. However, the app launch times might not be as fast, because macOS Big Sur will put them through a translation process from x86 to Apple Silicon compatible arm64 instruction set.
To the user, Rosetta is mostly transparent. If an executable contains only Intel instructions, macOS automatically launches Rosetta and begins the translation process. When translation finishes, the system launches the translated executable in place of the original. However, the translation process takes time, so users might perceive that translated apps launch or run more slowly at times.
For apps that utilize legacy x86 plugins, users will also be able to manually enable or disable Rosetta for Universal apps, by opening the app’s Get Info window.
Apple will not always support Rosetta 2 translation and it is possible that they might remove this feature from macOS after one or two major releases. Until then, developers should have migrated their apps to Universal versions.