Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

k27

macrumors 6502
Original poster
Jan 23, 2018
330
419
Europe
[URL='https://mobile.twitter.com/AsahiLinux' said:
... because no virtualization technology exists that can virtualize an Apple Silicon Mac today. What you get with Parallels, UTM and friends are virtual generic ARM64 systems, not a virtual M1!

[...]

The only hypervisor that can run the actual Apple Silicon version of macOS and Asahi Linux is our own m1n1 hypervisor, but it accomplishes this by passing through most of the hardware, and probably isn't what most people think of when they imagine running things "in a VM"!


I read elsewhere that Parallels is supposedly cutting features on the intel mac (things that already worked on intel macs) so they can handle the complexity (extra effort for M1). I haven't seen an original quote though. Since M2 will probably be much better in this respect, it looks bad for M1 then (deprecated?). OK, this probably only affects a small minority of typical Mac users.
 

leman

macrumors Core
Oct 14, 2008
19,521
19,677
It's not "broken", its just woefully incomplete. The virtualisation framework is still very immature and lacks important features. They started with the most useful forms of virtualisation, like the "generic ARM". That said, parallels can virtualise ARM macOS fine, just with limited functionality.

I wouldn't expect M2 to change things in this regard, the issues are likely on the software side. Hopefully macOS 13 will bring more advanced virtualization features.
 

Gnattu

macrumors 65816
Sep 18, 2020
1,107
1,671
This is not "broken". You have to virtualize a generic arm64 system, or the VM cannot boot at all because it requires all the extra quirks that Asahi Linux has to deal with. The reason to have a VM is to use the OS that does not directly supports Apple Silicon, but supports arm64 CPUs. Supporting a hardware platform is much different than supporting a CPU architecture. Most work done by Asahi Linux is to support the platform, not arm64 architecture.

That said, parallels can virtualise ARM macOS fine, just with limited functionality.
In fact the kernel for Apple silicon won't boot at all in a VM on AS because the VM is a genereic arm64 system. Apple knows that so that they provide a special build of macOS, just for use in the VM by removing all the "non-genereic" Apple Silicon features(i.e the rosetta) as well as all the drivers for Apple silicon hardware (like the Nerual Engine). This is the reason why we have to wait for macOS 12 for macOS VM on AS to work.
 
  • Like
Reactions: killawat

bobcomer

macrumors 601
May 18, 2015
4,949
3,699
It's not "broken", its just woefully incomplete. The virtualisation framework is still very immature and lacks important features. They started with the most useful forms of virtualisation, like the "generic ARM". That said, parallels can virtualise ARM macOS fine, just with limited functionality.

I wouldn't expect M2 to change things in this regard, the issues are likely on the software side. Hopefully macOS 13 will bring more advanced virtualization features.
I think part of the problem is that boot environment as well, and what iCloud has to do to authenticate a MacOS machine. You can virtualize MacOS in Parallels (slowly), but you can't use the iCloud with it for instance..

I'm not sure there's much motivation to make more advanced virtualization features. (assuming it wont be for Windows) While running the same OS in a VM is nice for testing, development, and isolation, that's a niche market. (of which I belong. <g>) Still, there is a rudimentary virtualization framework there, so maybe... Anyway, I know nothing about the M1 itself and how one would do real virtualization with it. I was a Microsoft MVP in Hyper-V, so I know a bit about how an intel machine does it.
 

darngooddesign

macrumors P6
Jul 4, 2007
18,366
10,117
Atlanta, GA
I read elsewhere that Parallels is supposedly cutting features on the intel mac (things that already worked on intel macs) so they can handle the complexity (extra effort for M1). I haven't seen an original quote though. Since M2 will probably be much better in this respect, it looks bad for M1 then (deprecated?). OK, this probably only affects a small minority of typical Mac users.
That doesn't make sense. Removing and QAing the removal of features requires extra effort which is contrary to the idea that they don't have enough resources due to the M1s.
 

Xiao_Xi

macrumors 68000
Oct 27, 2021
1,628
1,101
I read elsewhere that Parallels is supposedly cutting features on the intel mac
It seems that Apple has created a new virtualization framework for M1-based computers, so it is difficult for applications to offer the same features for M1-based and Intel-based computers.
 

leman

macrumors Core
Oct 14, 2008
19,521
19,677
In fact the kernel for Apple silicon won't boot at all in a VM on AS because the VM is a genereic arm64 system. Apple knows that so that they provide a special build of macOS, just for use in the VM by removing all the "non-genereic" Apple Silicon features(i.e the rosetta) as well as all the drivers for Apple silicon hardware (like the Nerual Engine). This is the reason why we have to wait for macOS 12 for macOS VM on AS to work.

Are you entirely sure this is how this works? I have never tried it myself, but from reading Apple docs on the Virtualisation framework it seems to me it just uses a different virtualisation configuration. I don't see any requirement to special builds of macOS. You just set up the VZVirtualMachineConfiguration object accordingly and it looks like the framework will figure out the rest. Here is an example:


It is entirely possible that in the future they will also add a VZWindowsPlatformConfiguration for virtualising Windows directly.
 

Gnattu

macrumors 65816
Sep 18, 2020
1,107
1,671
I don't see any requirement to special builds of macOS.
Because it is shipped with macOS 12, the UniversalMac ipsw you download from Apple does include a kernel config just for running in a vm. From darwin xnu source we can clearly see that arm64 vm is using a different board config and CPU config.


This describes what is a "virtual macOS platform", which is different from any M1 platform (you can see M1 T8101 above)


This defines an Apple Firestorm core


And this defines a "virtualized" CPU core on Apple Silicon Macs (probably not necessarily a Mac?) The above two are very different.

These, to my understanding, means Apple supports macOS VM just like how they are supporting a brand new Mac product: add a specific platform support.
 

leman

macrumors Core
Oct 14, 2008
19,521
19,677
Because it is shipped with macOS 12, the UniversalMac ipsw you download from Apple does include a kernel config just for running in a vm. From darwin xnu source we can clearly see that arm64 vm is using a different board config and CPU config.


This describes what is a "virtual macOS platform", which is different from any M1 platform (you can see M1 T8101 above)


This defines an Apple Firestorm core


And this defines a "virtualized" CPU core on Apple Silicon Macs (probably not necessarily a Mac?) The above two are very different.

These, to my understanding, means Apple supports macOS VM just like how they are supporting a brand new Mac product: add a specific platform support.

Thanks, this is extremely interesting! So there might even be a possibility of running macOS on Pi :)
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.