We’ve been hearing the rumor for years. Now it’s official. Macs will transition to Apple CPUs
Macs Will Transition to Apple CPUs
Apple’s press relese notes:
Developers can start building apps today and first system ships by year’s end, beginning a two-year transition.
The transition allow for greater computational power per watt of consumed power, better integration of Apple hardware and software, native iOS apps, and Apple control of product rollouts.
Apple continued:
Developers can easily convert their existing apps to run on Apple silicon, taking advantage of its powerful technologies and performance. And for the first time, developers can make their iOS and iPadOS apps available on the Mac without any modifications.
To help developers get started, Apple is offering the “Universal App Quick Start Program” consisting of documentation, beta versions of macOS Big Sur Xcode 12, and a Mac mini with an Apple A12Z CPU.
The two-year transition will give developers time to recompile their apps, creating “Universal 2” apps that run on both Intel and Apple silicon—even as Intel-based Macs remain in the product pipeline. For apps that have not been recompiled, Apple is offering, as part of Big Sur, “Rosetta 2,” a tool that translates Intel CPU instructions into ARM instructions—on the fly and very quickly.
However,
Apple will continue to support and release new versions of macOS for Intel-based Macs for years to come….
Also mentioned was a virtualization system which allows Big Sur to run other operating systems and apps. A brief demo showed Linux running in a Big Sur window, See: “Apple’s WWDC Features Parallels Desktop for Mac Running on Mac with Apple Silicon.”
{WWDC 2020: Rosetta 2 on Apple Silicon Macs and Virtualization.]
Apple has already recompiled all its own apps to the new hardware. The company has made this kind of traniotion before, and it appears all the components will be in place to make the transition smooth and painless.
Linux is supported, but do Apple silicon (ARM) Macs with macOS 11 Big Sur support virtualization of Windows?
With Parallels, I’m sure Windows VM is coming. Probably not ready for demo yet
Well, you can boot an x86 Windows VM image on ARM today using qemu, but the performance is a fraction of what you get with hardware execution on an x86 CPU.
Also worth noting is that Microsoft does have ARM versions of Windows 10 that support emulated x86 apps. (Remember Windows RT?)
Unless there is hardware x86 support, then “virtualization” of x86 Windows would be “emulation,” much like qemu in emulation mode, or the ancient Virtual PC.
Usually it’s a slower and inferior experience compared to real hardware execution. That being said, Apple may be providing some assistance to help Rosetta 2 not be quite as slow and clunky as emulation usually is.
The keynote showed Parallels booting an ARM version of Linux.
Neither Parallels nor Boot Camp can currently boot x86 Windows on the Apple Silicon dev machines.
Note also that the Rosetta 2 game demo was a Metal game. I would not expect high performance from Windows games in an emulated environment. Steam game performance will probably be lackluster as well.
Even on a hardware x86 architecture, consider that Crossover’s DirectX emulation on macOS only delivers about half the frame rate (at best) of native Windows execution in Boot Camp.
One good thing about Rosetta 2 is it uses static pre-translation whenever possible and maps translated code directly into memory. This can help prevent the kind of hiccups that you often see with just-in-time translation.