VMWare has a long history of producing excellent virtual machine software that has let thousands of developers test their programs across many operating systems and versions without the need for lots of computers. I use it to run different operating systems on my Mac system and currently have Windows 10, Windows 11, and Ubuntu Linux as virtual machines I can run within VMWare Fusion for testing and documentation purposes. It’s invaluable.
But the migration of Apple products to the new Apple-produced M1 series chip after years of being based on the Intel architecture has produced some challenges. To learn more about how VMWare is handling the migration of Fusion to the M1 chip, I reached out to Fusion Product Line Marketing Manager Michael Roy. Here’s our Q&A…
Q: When did VMWare first release a virtual machine environment for the Mac system? When was VMWare Fusion first released?
Fusion was originally put together once Apple moved to Intel x86 chips in 2005. It took some doing with a series of Proof-of-concept and Betas until we eventually shipped Fusion 1.0 in August of 2007.
Essentially, it was a “port” of VMware Workstation which runs on Windows and Linux but redesigned to address the “switcher” use case of coming to the Mac platform from Windows.
Workstation has a bit of a bigger history, with its roots starting in 1998 as the first product that VMware brought to market, originally just called “VMware 1.0 for Linux”.
Q: Does VMWare for Mac predate Apple’s shift to the Intel platform?
No, it was only made possible because of the shift. We applied our expertise at x86 virtualization which was learned from Workstation and the other products which later became ESXi (“GSX”, “VMware Server” etc.), as they all share the same core hypervisor technology.
We’ve been Intel/x86 driven until we started working on the ESXi-for-ARM “fling”. That technology helped inform us on how to “do ARM virtualization properly” in the Desktop form factor and was critical in helping get not just Fusion on Apple silicon but all of the Linux and BSD Guest OSs getting ready with open-vm-tools and (separately) vmware virtual device drivers in the Linux kernel.
Q: I use VMWare Fusion daily to allow me to run and test in Windows 10 while on my MacOS 11 system, and also have an Ubuntu Linux VM I use occasionally too. They work great. But what are the statistics about what operating systems people use with Fusion?
Certainly, the primary use case has always been “Run Windows on Mac”, but we’ve seen a huge spike in Linux guests in the past few years, and we attribute that to cloud-based development use cases becoming increasingly more prevalent, and those are specifically Linux-focused. There are some wonderful Fusion advocates out there like Mitchell Hashimoto who have helped by sharing their own development best practices and workflows.
Q: Apple’s made a big deal about its new M1 silicon architecture for its latest generation of Mac systems. This seems problematic for VMWare because you then have to emulate an Intel system within an M1 hardware device. How difficult was it to rebuild everything for the M1 architecture?
We are actually not doing emulation… nor will we… support for x86 operating systems is limited to x86 hardware.
Our virtualization stack is optimized for the CPU it’s deployed on, and so Fusion for Apple silicon can only run aarch64 or arm64 operating systems.
What’s great is that for Linux and *BSD there is already a huge ecosystem ready to go, and by and large most apps can be easily recompiled for aarch64 if they haven’t been already.
That said, we’re seeing incredible performance with aarch64 Linux and BSD virtual machines, around 8-10x faster than that of similarly spec’d x86 hardware for many operations.
Q: With the new M1 version of VMWare Fusion, what’s improved? The chip is crazy fast, so should we expect screamin’ fast Windows and Linux virtual machines on our new M1 Mac systems?
Quite! I mentioned earlier, the performance gains are astounding across every metric we have tested. I use the term “crazy fast” regularly!
However, regarding Windows, with the uncertainty around Windows on ARM licensing, we have elected not to support it at this time.
Windows on ARM can run, but Microsoft has specifically said this is an unsupported configuration.
As an enterprise company, we won’t ship features to support an OS on an architecture that the OS vendor themselves won’t support, as it would put our customers in a precarious situation.
If Microsoft changes their licensing story for Windows on ARM, we will be ready on Day 1, but right now their ARM OS is limited to Microsoft-designed devices like the Surface.
I outlined our position over here:
And not much has changed since this piece from MacRumors.com:
Q: Technically, how does VMWare Fusion compare to Parallels, the other popular VM system for MacOS?
Our product is focused on more technical use cases rather than simplifying the “Windows on Mac” experience. We expect the “Windows on Mac” use case to wane over time, particularly if Microsoft does not open up official licensing for Windows on ARM to non-OEM partners.
We have a much broader ecosystem of supported Guest OS’s as well as interoperability with VMware enterprise environments like vSphere and Tanzu.
Q: Ever looked into emulating Android within iOS, or iOS within MacOS or similar? Once you start thinking about virtual machines, there are a lot of different directions you can go!
It’s challenging for any product team with so many options to pick the ones that are ‘right’ that will drive the most value for users.
On the other hand, there are some directions that we just can’t go.
For instance, iOS has both a technical challenge and a logistical one, both imposed by Apple whereby there are no virtualization APIs available on the iPhone or iPad CPU for us to use, and running another OS on the device is against Apple’s App store rules, so it’s a non-starter unless Apple sought to change that.
Regarding iOS in macOS, there is already a great emulator built into Xcode for this, so we don’t really see a valid use-case there.
Likewise, Android Studio provides a good environment for building Android apps and testing them on various emulated configurations.
Q: So, without x86 operating system or Windows, what’s the purpose of Fusion then?
Apple has really proven the technology on the desktop form factor, and as a result, we’re seeing more ARM services in the Cloud and new hardware that is destined for the Data Center.
And so now we’re seeing an explosion of non-mobile-phone ARM devices in the market that are solving a variety of problems that a typically sized x86 “PC” just isn’t fit for.
Meanwhile, ARM has introduced a program called “System Ready” which is a type of certification that hardware and software vendors can qualify against. Hardware that is “System Ready” is basically guaranteed to run other “System Ready” operating systems without modification.
So having a virtualization platform that can provide an operating system that is sure to run the apps that are being built for these systems is valuable because you don’t necessarily need to have one of those physical systems on hand to develop software for it.
Folks want to take advantage of the power, performance, and energy consumption benefits of the architecture, and so with Fusion on Apple silicon at the ready, software and hardware vendors now have an accessible platform that they can trust to build the cloud apps and services of tomorrow.
Thanks for the great insight, Michael! While we were assembling this Q&A I installed Windows 11 successfully on my own copy of VMWare Fusion for an Intel-based Mac system. Next step, to see how the M1 version goes. The big news is that the first beta of Fusion for M1 is being announced today, 22 Sept, 2021, and you can learn more about it at the Fusion Tech Preview Community. I know I’ll be grabbing a copy to test on my new M1 Mac Mini…