You've (somehow) installed the latest version of macOS in VMWare under one of the latest versions of Windows. But lo and behold, the performance is horrid! All animations are jerky, and the virtualized machine is prone to constant crashes! Is "this" what Mac fans praise?

Well, no, not really. As you might have noticed while installing macOS in VMWare, the problem is that it's not officially supported.

Unfortunately, there's no perfect solution for that. And yet, you might be able to make the experience more tolerable with the "hacky" tweaks we'll see here.

Before We Start...

We must stress before we begin that everything you'll see here is based on personal experience, for the particular configuration of this writer's hardware and a specific combination of VMWare's software and macOS.

In other words, it will probably also work for you, but much like a lot of things in tech, your mileage may vary. Although it won't hurt trying out the tweaks we'll see here, we can't guarantee they'll work for you.

Why Does Virtualized macOS Crawl on Windows?

You managed to get a virtual machine up and running (if you can't, check our guide with simple solutions to get virtualization working on your PC). You've installed macOS and braced yourself for somewhat lower-than-expected performance.

However, the result was much worse than even your worst expectations. Virtualized macOS is almost unusable! How come?

How Emulating an Operating System Works

When you emulate an operating system like this, the computer's hardware is "recreated" in software form. In contrast, virtualization relies on what we could describe as "hardware passthroughs" to offer better performance.

If you've used VirtualBox or one of VMWare's solutions in the past, you've probably installed one of their "tools" variants in a virtualized OS "to make it perform better". One of the tasks those "tools" perform is enabling some of those "passthroughs" in the form of specialized drivers.

Out of all these drivers, the most important one for a noticeable performance is the virtual GPU driver. It acts as a "tunnel" that connects the virtual machine's software to the host machine's graphic driver.

The Importance of the Virtual GPU Driver for Smoother Sailing

The virtual GPU driver allows virtual machines under VMWare and VirtualBox to achieve smooth animations and playback. Unlike the rest of the VM, it's not an emulated graphics system; instead, the host machine's GPU performs the necessary calculations. The virtualized software's requests are "parsed" by the virtual GPU driver and "fed" to the actual GPU.

And that's precisely where the problem lies with the latest macOS: it doesn't come with such drivers for a virtualized GPU. At the same time, as an OS, it relies heavily on a real Mac's GPU for its hardware-accelerated desktop.

The result is a slow and choppy virtualized machine since anything GPU-related is "running in software" on the CPU.

How to Boost a macOS VM

A macOS VM may perform jittery compared to ones with Windows or Linux, but that's only because of the lack of proper drivers for the virtual GPU. In every other regard, the issues plaguing your macOS performance would also affect a Windows or Linux VM's performance.

Thus, before proceeding to our more "hacky" tweaks, you should first configure your macOS VM for optimal performance. Just like you would if it was running Windows or Linux.

Check your macOS VM's configuration and assign to it at least half of your actual CPU cores. If your CPU has eight cores, assign four of them to the macOS VM.

Give your macOS VM enough RAM - try half of the real RAM on your PC. Finally, ensure it's got ample space free on its HDD and that the VM's files are stored on a fast storage device - preferably an SSD if not NVMe.

After those changes, your macOS VM will still be jittery and slow to respond, but launching software and accessing menus should be somewhat more snappy.

How to “Upgrade” a macOS VM on Windows

Fire up your favorite file manager and point it to the location of your macOS VM's files.

MacOS VM Main Config File Backup
  1. It's better to make a full copy of that directory before applying any changes. If that's not possible, at least clone its main configuration file that we'll tweak next. It's the one with your VM's name as a filename and a "VMX" extension.
  2. Open the VMX file in your favorite text editor. We suggest something like Notepad++, but the Notepad included with Windows will do. If you followed our advice and backed up the main file, note that you must open and edit the original, not the backup. Locate and tweak the following lines, using the values we mention here (if yours differ):
    • svga.vramSize = "268435456"
    • vmotion.checkpointFBSize = "1342177728"
    • vmotion.checkpointSVGAPrimarySize = "268435456"
    • vmotion.svga.mobMaxSize = "268435456"
    • vmotion.svga.graphicsMemoryKB = "262144"
    Fiddling with a macVM's settings in Notepad. 
  3. Locate svga.graphicsMemoryKB and set its value to "262144".
  4. Find vmotion.svga.maxTextureSize and assign it the value "16384".
  5. Search for vmotion.svga.maxTextureAnisotropy, and change it to "2".
Reducing graphics quality from a macOS VM's main configuration file to boost performance.

Save your file and exit your text editor. After that, it's time to see if those tweaks made a difference.

And Now, the Awesome Results... Sort Of

With those tweaks applied, run your VMWare software and hit "play" on your macOS virtual machine. When you finally reach your virtualized Mac's desktop, try launching a relatively more graphics-heavy application than a mere notepad, like a web browser.

In our case, such programs were continuously forcing the VM to crash or "froze" for minutes. After the tweaks we saw, they were "usable enough" to, for example, grab the screenshot that accompanies this article.

We could use the VM to test some software apps and "get a feel" for how things work in macOS land, which this writer hadn't visited in years.

As we mentioned before, you shouldn't expect perfect results, nor a drastic performance jump compared to before applying those tweaks. For us, they helped more with stability, significantly reducing OS crashes. However, we did have to be conscious not to overdo it. Running multiple apps in parallel was far from ideal, and led us back into the black-screen-crash territory.

What About VirtualBox?

If you checked our past article VirtualBox vs. VMware Player: the best virtual machine for Windows, you might wonder if running macOS in VirtualBox would offer a performance boost. To save you from wasting your time trying it out, it's actually the opposite. It performs even worse.

Thus, for the time being, what we saw is the best solution for trying macOS on your PC, apart from installing it "natively" and turning your PC into a "Hackintosh".

If you feel lucky and want to push things further, also check our guide on how to transfer files between a virtual machine guest and host PC. Hopefully, our tweaks will be enough to keep your VM from crashing in the middle of a file transfer.

Not Perfect, but Usable

Apple has no reason to release drivers that would help everyone interested in trying out its OS on unsupported hardware through a virtualization solution - any virtualization solution. And it also doesn't look like someone has the technical know-how, time to spare, and a lack of fear of Apple's wrath, to try and create unofficial drivers for such projects.

Thus, the best way of using macOS was, is, and will probably remain running it on actual Apple hardware. Everything else is unofficial, unsupported, frowned upon, and comes with compromises.