As most of us know, Fusion 13 doesn't support macOS guests on Apple Silicon Macs. Are there any plans to provide this support in future versions of VMware Fusion?
Yes, I know VMware is very reluctant to talk about its future plans. But shortly after Apple started selling Apple Silicon Macs, they *did* commit to supporting them in some future version of Fusion -- though there wasn't much detail about what kind of support this would be.
Have they already made some kind of official statement on this? If not, does anyone here have an idea which direction they're leaning?
It's a limitation of the underlying hypervisor framework that Apple provides - the one Fusion uses doesn't support it. Until that changes, it's unlikely we'll see support. There is a higher level framework (which is what the competition uses), but it's really primitive and not a good user experience (no suspend, etc).
No official statements but @Mikero has indicated that it's something they're looking into it and wanting to do it. At one time VMware indicated that Apple's low-level Hypervisor Framework was not robust enough for them to do the things they do (as I read it, a complete feature set) for Windows and LInux when dealing with macOS.
If and when they do it, it'll only be Apple Silicon versions of macOS (guess is Monterey and later) that'll be able to be virtualized. Older versions of macOS will be relegated to using emulation solutions on Apple Silicon (with the emulation performance penalties) or virtualization solutions on Intel Macs.
Personal opinion follows:
It's interesting though that while Parallels touts having macOS virtualization on Apple Silicion, it doesn't have the same features as they provide for Windows and Linux. They have a tech note specifically calling out what they don't provide (snapshots, suspend/resume are two that come off the tip of the tongue).
I've gotten the distinct impression that all they've done is put a wrapper around Apple's high-level Virtualization Framework. And if that's what they've done, then freeware solutions such as VirtualBuddy or UTM are just as good as Parallels for doing macOS virtualization at a much lower cost (free, or $9.95 for UTM from the Mac App Store).
This is kind of what I expected. But this is also the first time I've heard of there being *two* Apple hypervisor frameworks -- one higher level and one lower level. Are they both implemented in /System/Library/Frameworks/Virtualization.framework?
I've used one of these frameworks (probably the higher level one) via UTM (https://github.com/utmapp/UTM). Like many Apple APIs, it does some things very well, but other things not at all (at least using public functions). I agree with you that, altogether, its feature set is much more primitive than Fusion's (on Intel Macs).
Tell me as much as you can about this other, lower level hypervisor framework.
Thank you both for your replies. I'll keep my eyes and ears open, but I won't expect anything in the near future.
Just to make it clear, I'm not asking about Intel clients on Apple Silicon hosts. I know that's very difficult. UTM supports it explicitly, but not very well. I agree there's no point in VMware (or Parallels) trying to follow their path, and also support hardware emulation.
Do let me know as much as you can about this other, lower level hypervisor framework.
I've had problems with UTM's hypervisor (for example https://github.com/utmapp/UTM/issues/4026 ). I'm currently trying to debug them from the Intel side, where I have much better debugging tools (like https://github.com/steven-michaud/HookCase).
That's the one that UTM is using. Don't have any more details on what Fusion is doing, but it's definitely more robust.
Found the lower-level hypervisor framework, I think:
/System/Library/Frameworks/Hypervisor.framework
It's only on Apple Silicon Macs that the Virtualization framework links to it, so I may not be able to use my Intel-based debugging tools on it. But now I know it exists, and that it's important ![]()
@Steven_Michaud wrote:This is kind of what I expected. But this is also the first time I've heard of there being *two* Apple hypervisor frameworks -- one higher level and one lower level. Are they both implemented in /System/Library/Frameworks/Virtualization.framework?
Tell me as much as you can about this other, lower level hypervisor framework.
The other framework that Fusion (and I believe Parallels, for Linux and Windows) is using is the Hypervisor framework. I think it's found in /System/Library/Frameworks/Hypervisor.framework
From what I'm reading out of Apple's documentation. I'm inferring that the Virtualization (higher level) framework is providing services that would ordinarily have to be provided by the calling application using the Hypervisor (lower level) framework. . Also, with the Virtualization framework, Apple's implemented virtual devices using the Virtual I/O Device (VIRTIO) specification, which defines standard interfaces for many device types, including network, socket, serial port, storage, entropy, and memory-balloon devices. That's similar to what Linux virtualization solutions providing for virtual device support.
It would not surprise me if the Virtualization framework uses the Hypervisor framework under the hood. Haven't looked at the object hierarchy to make sure.
I just found an article in VMware's knowledge base (https://kb.vmware.com/s/article/88697) that suggests they'll stop supporting new macOS versions as guests even on Intel Macs. So even in the (very unlikely) case that Apple decides to provide support in their Hypervisor framework for VMware (and other vendors) to do their own, independent implementations of macOS guests on Apple Silicon, it sounds like VMware won't make use of it.
The article does say that VMware will "attempt to test and certify new macOS releases as a GOS[Guest Operating System] on Fusion and add these to the VCG[VMware Compatibility Guide]". And macOS 13 and 14 do work reasonably well as guests (on Intel Macs), at least in the 2023 Tech Preview (https://communities.vmware.com/t5/Workstation-2023-Tech-Preview/ct-p/ws-tp2023). But it sounds like VMware intends support for macOS guests to die a slow death even on Intel Macs.
Important caveat: To get the best results with macOS 11 through 14 as guests, you need to add the following two lines to your guest's .vmx file (as per https://kb.vmware.com/s/article/81657).
appleGPU0.present = "TRUE"
svga.present = "FALSE"
You may also need to specify appleGPU0.screenWidth and appleGPU0.screenHeight. But this isn't necessary in the 2023 Tech Preview.
VMWare has depreciated MacOS tools, so unless that changes, it's highly unlikely we'll ever see support.
WRT macOS Tools being deprecated, I assume you're referring to this article:
https://kb.vmware.com/s/article/88698
Among other things, it says that "VMware Tools for macOS" will "move into maintenance mode, meaning we will be only providing critical bug fixing and serious security issue fixes to VMware Tools for macOS moving forward".
And that's the first step towards depreciation, which is expected as esxi is dropping support for macOS guests. Even Fusion 13 doesn't have much support left (things are in the product that aren't on the supported guest matrix).
Sorry to hear it
macOS guests are basically the only thing for which I use VMware Fusion.
From the wording of both documents, though, there's hope that the decline will be gradual, and at least somewhat graceful.
@Steven_Michaud wrote:Sorry to hear it
macOS guests are basically the only thing for which I use VMware Fusion.
From the wording of both documents, though, there's hope that the decline will be gradual, and at least somewhat graceful.
That’s somewhat dependent on when Apple sunsets support for Intel Macs. IMO once Apple announces that macOS no longer runs on any Intel Mac, you get at most 2 more years of a supported version of Fusion that will be able to run Intel Mac VMs.
It’s time to plan a migration strategy if you’re running Intel Mac VMs - unless you accept the risks of running unsupported macOS and Fusion software.
That being said, I certainly hope that VMware can give us virtualization of Apple silicon macOS with equivalent functionality to the other OSs that they support in Fusion. (Apple doesn’t seem to make this easy). VMware shouldn’t do what Parallels did: to put a coat of paint on Apple’s high level Virtualization Framework (which has limitations) and charge you an exorbitant amount to give you what UTM and VirtualBuddy give you for free.
