If the A18 Pro has the same ISA as the M-series chips then this may not be so straightforward. I am still hanging on to my 2020 Intel MBP for dear life because it is the only Apple device I own that allows me to run Ubuntu and Windows 11 on a VirtualBox VM.

Would you elaborate what you mean by saying Linux on an M-series chip isn't straightforward? That's not been my experience, I (and lots of other devs) use it every day, Apple supports Linux via [0], and provides the ability to use Rosetta 2 within VMs to run legacy x86 binaries?

0: https://github.com/apple/container

GitHub - apple/container: A tool for creating and running Linux containers using lightweight virtual machines on a Mac. It is written in Swift, and optimized for Apple silicon.

A tool for creating and running Linux containers using lightweight virtual machines on a Mac. It is written in Swift, and optimized for Apple silicon. - apple/container

GitHub

Clearly I'm not as knowledgable about this as I thought I was. I already have a Ubuntu x86 VM running on an Intel Mac (inside VirtualBox). Same with Windows 11. Can this tool allow me to run both VMs in an Apple Silicon device in a performant way? Last I checked VirtualBox on Apple Silicon only permits the running of ARM64 guests.

While I have a preference for VirtualBox I'd say I'm hypervisor agnostic. Really any way I can get this to work would be super intriguing to me.

> Can this tool allow me to run both VMs in an Apple Silicon device in a performant way?

I use VMWare Fusion on an M1 Air to run ARM Windows. Windows is then able to run Windows x86-64 executables I believe through it's own Rosetta 2 like implementation. The main limitation is that you cannot use x86-64 drivers.

Similarly, ARM Linux VMs can use Rosetta 2 to run x86-64 binaries with excellent performance. For that I mostly use Rancher or podman which setup the Linux VM automatically and then use it to run Linux ARM containers. I don't recall if I've tried to run x86-64 Linux binaries inside an Linux ARM container. It might be a little trickier to get Rosetta 2 to work. It's been a long time since I tried to run a Linux x86-64 container.

Possible catch: Rosetta 2 goes away next year in macOS 27.

I don’t know what the story for VMs is. I’d really like to know as it affects me.

Sure you can go QEMU, but there’s a real performance hit there.

Not until macOS 28., but you're right, it's frustratingly unclear whether the initial deprecation is limited to macOS apps or whether it will also stop working for VMs.

https://support.apple.com/en-us/102527

https://developer.apple.com/documentation/virtualization/run...

Using Intel-based apps on a Mac with Apple silicon - Apple Support

Rosetta enables a Mac with Apple silicon to run Intel-based apps. Support for Rosetta will end in a future version of macOS, so check with the app's developer for an updated version.

Apple Support
It would be pretty difficult for Apple to disable Rosetta for VMs.
How so?
It doesn’t require anything from the host

The Apple documentation for using the Virtualization framework with ARM Linux VMs to run x86_64 binaries requires Rosetta to be installed:

https://developer.apple.com/documentation/virtualization/run...

So you must be talking about something else, perhaps ARM Windows VMs which use their own technology for running x86 binaries[^1].

In any case, please elaborate instead of being so vague. Thanks.

[^1]: https://learn.microsoft.com/en-us/windows/arm/apps-on-arm-x8...

Running Intel Binaries in Linux VMs with Rosetta | Apple Developer Documentation

Run x86_64 Linux binaries under ARM Linux on Apple silicon.

Apple Developer Documentation
You can just splat whatever support files it needs into the VM there isn't anything special about them. In fact you can copy them onto a different (non-Mac) device and use them there too