The only thing I'd like to see added to the framework is the ability for nested virtualization (which is now available in the M2 chips, but isn't built into M1 chips).
Is there an example of this working in any context? Until then I don't see how it can be considered available.
EDIT - Confirmed below it does work in Linux on metal - Props to the Asahi team!
There could be knobs to twist but UTM doesn’t expose any, so…
https://docs.getutm.app/advanced/rosetta/
And FYI, this is also available in Docker Desktop for macOS, which allows better performance when running x86_64 containers compared to the older solution where Docker was using qemu.
Last time I checked, Rosetta only worked for one-off binaries, wouldn’t really allow docker to run more x86 code inside.
Rosetta is a tool for running x86-64 binaries on an arm64 OS.
I think you're asking if rosetta lets you run an x86 kernel, to which the answer is no - the whole point of this framework is to support virtualization, e.g. the OS is running directly on the hardware. The moment the OS can't do that, there is no point in doing anything other than emulation.
But, regardless, the subject of using a Mac to host a plethora of different platforms (in my case, for build-server duties) is indeed a fascinating subject. If I can get my target/builds set up on the next Mac Pro, whatever that is going to be, I'll be quite happy to do so .. especially if it isn't just doing MacOS/iOS builds, but whatever else my framework of choice (JUCE/Tracktion) supports (Android, Linux .. Windows .. etc.)
Alas, if only there were the hardware at scale which supported Apples' Mach implementation, at favourable economies.
One way this is favourable to this dev is if Apple finally give me a machine which I can use to Build All the Things™, including iOS and MacOS and Windows and Linux and Android, oh my!, virtually and/or with x86/ARM cores onboard, oh yeah!, without having to resort to the typically draconian bollocks on other platforms, or rent someone elses hardware, or whatever.
A new Mac Pro that can be loaded to the gills and host several competing OS's at once, for the purpose of software development? Sign me up, because I'm tired of build-box'ing rigs and fighting that darn license ..
Well except that, a new developer-focused Mac Pro with that centralized campus feeling, sounds great to me.
I can only wish it would have both x86 and ARM cores onboard, though, to get that true all-round Mach prowess...
The ability to move between hardware platforms also has very little do with the ability to run operating systems in virtualization. Case in point is that Apple is one of the last major OSes to include a hypervisor in the OS.
In the UTM page it says "Under the hood of UTM is QEMU, a decades old..." so are we talking about the same thing as Apple Virtualization Framework. I am confused qbout the QEMU mention.
Edit: I think the catch is that QEMU uses AVF if available [1].
[1] https://medium.com/code-uncomplicated/virtual-machines-on-ma...
I've got some Ubuntu VMs set up already, and as per [0] I cannot find an option called "Use Apple Virtualization" neither in UTM, nor in the VM settings.
I am on Intel Mac.
[0] https://www.jamesarmes.com/2022/12/linux-mac-utm.html#once-m...
UTM doesn't have as many settings as VMWare Fusion but stability and performance wise it's on par. It's also open source and free.