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

Yebubbleman

macrumors 603
Original poster
May 20, 2010
6,024
2,616
Los Angeles, CA
Hi. I apologize if this has been covered elsewhere, but with Parallels Desktop now having an Apple Silicon native version (with VMware working hard on their version), I'm wondering what the actual hold-up is on being able to spin up virtual machines on M1 Macs that run Apple Silicon versions of macOS (so, Big Sur and Monterey betas at this point). Is it that Parallels (and likely VMware by eventual extension) don't have an easy way of virtualizing the M1's SoC? Is it that they don't have the firmware/iBoot element figured out for a VM? Is this a limitation on Apple's Hypervisor framework?

Being able to virtualize macOS is why I, with enough PCs that can adequately virtualize Windows and Linux boxes, still like running virtualization programs on the Mac. In fact, with x86-64 virtualization effectively dying with the Intel Macs, it makes WAY more sense for me to do those things on my PCs and dedicate virtualization on the Mac to macOS releases (once I'm ready to leave the Intel Mac world behind fully).

Anyway, I'm sure someone reading this is much more current on the answers to my questions than I am. Thank you in advance for educating me/others!
 

bobcomer

macrumors 601
May 18, 2015
4,949
3,699
Hi. I apologize if this has been covered elsewhere, but with Parallels Desktop now having an Apple Silicon native version (with VMware working hard on their version), I'm wondering what the actual hold-up is on being able to spin up virtual machines on M1 Macs that run Apple Silicon versions of macOS (so, Big Sur and Monterey betas at this point). Is it that Parallels (and likely VMware by eventual extension) don't have an easy way of virtualizing the M1's SoC? Is it that they don't have the firmware/iBoot element figured out for a VM? Is this a limitation on Apple's Hypervisor framework?

Being able to virtualize macOS is why I, with enough PCs that can adequately virtualize Windows and Linux boxes, still like running virtualization programs on the Mac. In fact, with x86-64 virtualization effectively dying with the Intel Macs, it makes WAY more sense for me to do those things on my PCs and dedicate virtualization on the Mac to macOS releases (once I'm ready to leave the Intel Mac world behind fully).

Anyway, I'm sure someone reading this is much more current on the answers to my questions than I am. Thank you in advance for educating me/others!
M1 Mac OS has a different pre boot environment as far as I know.

It would probably take Apple helping Parallels to do it. Parallels has no problem using the Apple Hypervisor as it works for WoA and Linux, but that boot environment is critical for MacOS.
 

Yebubbleman

macrumors 603
Original poster
May 20, 2010
6,024
2,616
Los Angeles, CA
Probably the biggest issues will be lack of VM tools like video drivers. Those need to be written by Apple I presume.
They didn't need to be before in the Intel era of macOS too?
M1 Mac OS has a different pre boot environment as far as I know.

It would probably take Apple helping Parallels to do it. Parallels has no problem using the Apple Hypervisor as it works for WoA and Linux, but that boot environment is critical for MacOS.
Did Parallels and VMware not have the same hurdle to overcome with Intel macOS? I could see more industry standard elements (like UEFI) making it easier, but I'd imagine that, at the end of the day, it's still VMware and Parallels faking a proper Mac's firmware and booter (not to be confused with bootloader).
 

bobcomer

macrumors 601
May 18, 2015
4,949
3,699
Did Parallels and VMware not have the same hurdle to overcome with Intel macOS?
No, Intel Mac's use pretty much the same pre boot environment as any other x86/x64 OS. It's close enough that you can run a Mac OS VM under VMWare Workstation/player in Windows with a minor tweak to VMWare...
 

dogslobber

macrumors 601
Oct 19, 2014
4,670
7,809
Apple Campus, Cupertino CA
They didn't need to be before in the Intel era of macOS too?
Nobody understands if there's any Apple APIs to support this. You can't install drivers (unlike Windows 10/Linux) on macOS Big Sur even in a VM so unless those APIs are exposed to VM software then you're in trouble. It might be possible to use the APIs DisplayLink is using but we're gonna have to wait and see if that is the method. We can't assume anything right now.
 

deconstruct60

macrumors G5
Mar 10, 2009
12,493
4,053
They didn't need to be before in the Intel era of macOS too?

Yes they did. Well, at least they needed to sign 3rd party GPU drivers.

Early on VMWare ( and pretty sure Parallels ) presented a simple SVGA GPU. It is the standard approach to getting up something "old" and basic as a lowest common denominator.

For example for VMWare fusion have to turn off SVGA when want the accelerated graphics.


"...
2. Add the following two lines to the .vmx file:
appleGPU0.present = "TRUE"
svga.present = "FALSE"
...."

Parallels is different setting, but same general approach.

". .. Parallels Desktop has no access to the Mac's device's physical graphics cards. Instead, Parallels Display Adapter driver (which is part of the Parallels Tools installation) interfaces with virtual hardware and provides 3D acceleration features. The actual acceleration is achieved by translating Direct X commands from the guest OS to the OpenGL API on the macOS side. ..."
https://kb.parallels.com/122807


Oracle VirtualBox ( in the Emulated hardware section. )

"... Graphics. The default Oracle VM VirtualBox graphics device for Windows guests is an SVGA device. For Linux guests, the default graphics device emulates a VMware SVGA graphics device. See Section 3.6.1, “Screen Tab”.
... "


The virtual machine foundation intercepts all calls to the virtual GPU device and "rewrites" them to call the host GPU using OpenGL or Metal. More of an "emulation" heavy variant of virtualization. The CPU only needs to trap OS system calls.

Similar to other non CPU hardware. USB , Optical Drive , etc. To a large extent trap and emulate.


So what Apple had to do was enable macOS to run on some "lowest common denominator" hardware and allow the virtual machine folks to insert the drivers for their virtual hardware.


There is some vary basic SVGA graphics that are required for EFI. Historically, there is a bootstrap Video BIOS
ihttps://en.wikipedia.org/wiki/Video_BIOS

Not exactly the similar concept of some "floor" graphics driver than can do some relatively simple stuff "well enough" to get to a " real" driver.



To do Linux and Windows all VMWare/Parallels need to do is emulate that UEFI boot process and load their drivers at the appropriate time. macOS Intel version is open to loading drivers at boot. MacOS M-series operates on a much shorter leash.


Did Parallels and VMware not have the same hurdle to overcome with Intel macOS? I could see more industry standard elements (like UEFI) making it easier, but I'd imagine that, at the end of the day, it's still VMware and Parallels faking a proper Mac's firmware and booter (not to be confused with bootloader).

Can;t really "fake" Apple's firmware if it is cryptographically signed and verified at boot. Unless it has changed, the Linux boot hack depends on cracking/jailbreaking the boot system with a hole in the security. That probably isn't a stable foundation for the long term (e.g., when Apple plugs the hole in future systems. )

T2 chip in Intel systems would hand off a copy of UEFI that it had checked to the main system CPU. That is post check though and CPU didn't have access to the primary instance of the UEFI ( copies only). However, there were always non T2 systems whiile T2 systems were around also so there was a "lower security standards" boot path too.

Clone BIOS and UEFI aren't hard because they are basically open boot formats. Apple isn't trying. to be open and actively closes loopholes over time.

When Apple enabled "lowest common denominator" on EFI/UEFI systems they were not trying to swim upstreams in a rapids ( lots more players paying much more money to drive the platform forward. ) That opened to door for easier hackintosh implementations. The upside tradeoff is that they got base system building blocks cheaper.
I strongly suspect that Apple isn't going to write a version of macOS M-series that does not presume that the security enclave is always there. Nor do I think Apple will be particularly thrilled with some virtual Security Enclave storage passwords , kets ,etc in normal RAM.

On M-series binaries in the kernel are locked read only. The VMWare/Parallels drivers can't "eat" their way around Apple's kernel code once it is up and running (barring some glitch in code. ) [mutating Apple's kernel code to make the virtual machine run ... Apple has protections against that. ]

Apple's Hypervisor Framework is relatively super thin ( even for a hypervisor). It basically only virtualizes access to a CPU code execution stream ( a thread/process). the process gets its own virtual memory ( as usual for a user level process) and the framework provides some hooks for when various system traps are triggered by called into kernel to to basic hardware I/O.

It doesn't really cover the bulk of the virtual hardware that the VM software providers had to create. Actually, much of the "easier" stuff that the underlying Virtualization opcodes in the CPU hardware support with a common facade on top.


There was no WWDC session on it but there is some "beta" stuff in macOS 12 to add a bit more "meat" to the barest of bare bones virtual "machine" that Apple does.

"... Create virtual machines and run Linux-based operating systems.

...
class VZMacGraphicsDeviceConfiguration Beta
class VZMacGraphicsDisplayConfiguration Beta
class VZMacHardwareModel Beta
class VZMacMachineIdentifier Beta
class VZMacOSBootLoader Beta
"



If Apple does it then they can probably synch it up to their security requirements and implementation. [ for example, if Apple added IOMMU and virtualization support to the Apple GPU then wouldn't really have to do much to "virtual" the GPU. Would be closer to what the CPU cores are doing. ]

Can tell by the primary label on the Framework though that the primary objective has been to enable Linux. ( not some other operating sytsem. ) . that was probably good for a first iteratiion ( APple hasn't been deep in the virtualization of hardware business. Somewhat getting into it because banning everyone else out of the kernel. So they kind of have to take a larger ownership of the foundation support for this. )

P.S. Since Apple has a large cloud services operation they probably do have a significantly large in house , "eat your own dog food" demand to run Linux images on Mac hardware for R&D developer for vast majority of cloud services they provide.
 

4nNtt

macrumors 6502a
Apr 13, 2007
925
725
Chicago, IL
Probably the biggest issues will be lack of VM tools like video drivers. Those need to be written by Apple I presume.
Late to this thread, but the biggest reason is lack of support for a virtual Secure Enclave in a macOS guest. The M1 version of macOS assumes you have one and a lot of things are broken without it. There actually are hardware accelerated video drivers, etc. provided by Apple. With Ventura out now, it looks like we are still at least another year away from running a M1 macOS guest without significant issues. There are improvements, but mostly for Linux and Windows guests. I am hopeful when macOS guests are less broken that Apple will allow them to be imported in Apple Business Manager. IT testing is a pain if you have to do it all on physical hardware. You may only have 1 test device (or no extra test devices for lower level IT positions).
 
Last edited:

ADGrant

macrumors 68000
Mar 26, 2018
1,689
1,059
No, Intel Mac's use pretty much the same pre boot environment as any other x86/x64 OS. It's close enough that you can run a Mac OS VM under VMWare Workstation/player in Windows with a minor tweak to VMWare...
Well except for the T2 Macs. So far though, Apple has not announced an Intel version of MacOS that only supports T2 Macs.
 

bobcomer

macrumors 601
May 18, 2015
4,949
3,699
Did Parallels and VMware not have the same hurdle to overcome with Intel macOS?
No. Intel Macs have a mostly standard boot environment and it doesn't take much to get Apple Intel hardware to boot windows. You really don't even need bootcamp.
Did Parallels and VMware not have the same hurdle to overcome with Intel macOS? I could see more industry standard elements (like UEFI) making it easier, but I'd imagine that, at the end of the day, it's still VMware and Parallels faking a proper Mac's firmware and booter (not to be confused with bootloader).
It's more what Apple does with the secure enclave and icloud not allowing more than 1 login from the same hardware, though I really don't know why, just something I ran in to when trying it.
 

bobcomer

macrumors 601
May 18, 2015
4,949
3,699
Well except for the T2 Macs. So far though, Apple has not announced an Intel version of MacOS that only supports T2 Macs.
All you have to do is turn off secure boot... And preferably use Bootcamp to get the drivers.
 

Yebubbleman

macrumors 603
Original poster
May 20, 2010
6,024
2,616
Los Angeles, CA
Well except for the T2 Macs. So far though, Apple has not announced an Intel version of MacOS that only supports T2 Macs.
Not yet. Though, we're pretty close to that point. Only the 2017 MacBook, the 2017 and 2019 iMacs, and the 2017 MacBook Pros meet Ventura's requirements while neither being a T2 or Apple Silicon Mac. It's also obvious that Apple wants to get to a T2 or Apple Silicon only release. Nixing anything released prior to 2017 gets them most of the way there.
 

jdb8167

macrumors 601
Nov 17, 2008
4,859
4,599
Late to this thread, but the biggest reason is lack of support for a virtual Secure Enclave in a macOS guest. The M1 version of macOS assumes you have one and a lot of things are broken without it. There actually are hardware accelerated video drivers, etc. provided by Apple. With Ventura out now, it looks like we are still at least another year away from running a M1 macOS guest without significant issues. There are improvements, but mostly for Linux and Windows guests. I am hopeful when macOS guests are less broken that Apple will allow them to be imported in Apple Business Manager. IT testing is a pain if you have to do it all on physical hardware. You may only have 1 test device (or no extra test devices for lower level IT positions).
MacOS guests running Monterey or Ventura work as long as you don't need to log into your iCloud (AppleID) account. I've never gotten a complete explanation of why it doesn't work but as far as I know, no VM environment has gotten it to work. The latest explanation is that it doesn't work with the VM NAT networking but it will work with Bridged networking. Unfortunately Bridged networking requires a special entitlement that Apple is reluctant to give out. I don't know if that is the case just that I read it on the Eclectic Light Co blog.
 
  • Like
Reactions: bobcomer

dgdosen

macrumors 68030
Dec 13, 2003
2,817
1,463
Seattle
I just tried VirutalBuddy on a VM (Monterey - upgraded to Ventura (straight Ventura didn't work for me)). As well as UTM (https://mac.getutm.app/).

VMs run fine - but they seem to be resource hogs. I think that should get better as these tools are a bit early in the dev process.
 
  • Like
Reactions: macsplusmacs

Tagbert

macrumors 603
Jun 22, 2011
6,256
7,281
Seattle
Hi. I apologize if this has been covered elsewhere, but with Parallels Desktop now having an Apple Silicon native version (with VMware working hard on their version), I'm wondering what the actual hold-up is on being able to spin up virtual machines on M1 Macs that run Apple Silicon versions of macOS (so, Big Sur and Monterey betas at this point). Is it that Parallels (and likely VMware by eventual extension) don't have an easy way of virtualizing the M1's SoC? Is it that they don't have the firmware/iBoot element figured out for a VM? Is this a limitation on Apple's Hypervisor framework?

Being able to virtualize macOS is why I, with enough PCs that can adequately virtualize Windows and Linux boxes, still like running virtualization programs on the Mac. In fact, with x86-64 virtualization effectively dying with the Intel Macs, it makes WAY more sense for me to do those things on my PCs and dedicate virtualization on the Mac to macOS releases (once I'm ready to leave the Intel Mac world behind fully).

Anyway, I'm sure someone reading this is much more current on the answers to my questions than I am. Thank you in advance for educating me/others!


Apple’s Virtualization framework is a great, free way to test new macOS betas
 

MrGunny94

macrumors 65816
Dec 3, 2016
1,148
675
Malaga, Spain
The overhead for these VMs is minimal... Too bad we can't run a macos VM on iPadOS. Preferable to stage manager.
Same for not having a Terminal.. on iPad.. What a waste of a 12” iPad that I have.. It’s way better as a 2nd display during my work days via Sidecar…
 
  • Like
Reactions: dgdosen
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.