Some questions about MAC on ARM

Yesterday, WWDC announced the exciting news of MAC on arm.

In order to complete the transition from x86 architecture to arm architecture, apple developed Universal 2 and Rosetta 2.
Universal 2 is a binary code that can run on both x86 and arm architectures.
Rosetta 2 can translate the original application based on x86 architecture into application based on ARM architecture during installation, or even translate the running code, and publicize that no matter how complex the professional application and its plug-in, it can handle it.

At present, the software installed with brew is based on x86 architecture. If I use the command “brew cask install” on a DTK (developer transition kit, based on ARM Architecture) to install the software, can the software run normally on DTK? Will Rosetta 2 automatically translate this software? Or wait for the software author to recompile based on ARM architecture?

1 Like

I think that’s a question better asked on the apple development forum. Especially since brew cask just generally installs .app files so there’s nothing homebrew specific for Rosetta to deal with.

thank you very much!!!

Will Rosetta 2 automatically translate this software? Or wait for the software author to recompile based on ARM architecture?

It will translate. It’s supposed to do this at install time but if it cannot it will attempt to do it at load time. For JIT instructions (e.g. Mono, Java, JavaScript), it’s supposed to do it at runtime as-needed. Some things don’t work yet. At time of writing this, Visual Studio Code won’t load and neither will Google Chrome (it opens, but has trouble displaying a page). Java does at least start, but some calls break.

Furthermore, Homebrew itself isn’t functional yet. Apple limits what developers can share publicly about this during the transition period. Developers aren’t even allowed to state publicly whether or not they have a kit for testing. That said, I hope Homebrew can get their hands on one. Regardless of Rosetta 2 and compatibility, the toolset that ships with Homebrew will need some work just to get the basics working. In generally, we should expect Rosetta 2 to improve over time and developers to start producing Universal 2 binaries, but for some projects, Homebrew is the first tool that is installed, placing the cart before the horse (so to speak).

1 Like