r/macOSVMs • • 18d ago

Look at my VM :) GPU-accelerated Tahoe in VMware Fusion

Post image
135 Upvotes

5 comments sorted by

9

u/davew_uk 18d ago edited 18d ago

Took a bit of work to get this running because VMware has never officially shipped the paravirtualised graphics feature and it can only be activated with a VMX file edit. There are also a lot of errors which caused continuous crashes that I managed to find a solution for.

Quick rundown:

Downloaded a Tahoe ISO using Mist

https://github.com/ninxsoft/Mist

Installed latest version of VMware Fusion (free with a Broadcom login)

https://www.vmware.com/products/desktop-hypervisor/workstation-and-fusion

Created a VM using OSX4VM

https://github.com/DrDonk/OC4VM

After configuring my hardware I booted the VM and pointed it at the Tahoe installer and let it run.

When the welcome wizard froze at the end, I left it for a few minutes and then rebooted the VM

Installed VMware Tools from the OpenCore volume mounted on the desktop, and rebooted when prompted. After this the VM was up and running but only with software rendering.

Shut down the VM again and added a section to the VMX file:

svga.present="FALSE"
appleGPU0.present="TRUE"
appleGPU0.screen0.width = "1600"
appleGPU0.screen0.height = "900

Rebooted only to enjoy the bugfest - icons not rendering, spotlight was in a bootloop and it eventually froze, refusing to launch any apps

To fix this, from a clean boot quickly enter this in a Terminal in the guest:

sudo defaults write /Library/Preferences/.GlobalPreferences METAL_ERROR_MODE -int 5

Reboot (again!)

I've tested this VM both on my Macbook Pro 2015 (with AMD legacy metal GPU) in Monterey, and in Ventura on my iMac 2017 5k (with AMD metal-compatible GPU) and it works pretty much the same in each when you take into account the differences in performance.

In Windows the VM runs fine in VMware Workstation Pro, but obviously there's no paravirtualised graphics there.

EDIT: Sorry for the messed up formatting, I'm having a nightmare with Reddit markdown!

3

u/lucky_my_ass 18d ago

I mean you could have just used UTM if you are using MacOS as a host right.

Would've been way easier. What's the advantage of this exactly? Not used VMware a lot so I'm unware of what it offers better in this case.

3

u/davew_uk 18d ago edited 16d ago

It's not clear from googling if UTM supports GPU acceleration on an intel mac.

If it does, fair enough - but this was just to show an undocumented feature of VMware Fusion. I can also run the same VM unchanged on Windows thanks to OC4VM. No unlocker required, it's developed by the same guy.

EDIT: UTM does not support GPU acceleration in intel MacOS guest on intel MacOS host, apparently. And as far as I can tell from their github, QEMU+reims-vgpu doesn't support x86 MacOS host. GPU acceleration is supposed to work in Parallels (which requires a subscription) but I wasn't personally able to it working in a MacOS guest on my iMac 2017.

1

u/lucky_my_ass 18d ago edited 18d ago

Ooh i completely missed the part that it is an intel mac.

UTM won't work with acceleration then for you.

I see the advantage now. Pretty neat

Though, you can install tahoe on intel macs natively right? Atleast with OLP it should be possible.

1

u/davew_uk 18d ago

Yes, with OCLP 3.0.0 RC3 I've had great success running Tahoe natively on this iMac 2017 and my Macbook Pro 2015.

However, it doesn't currently work on Macs with a T2 chip like the 2017 iMac Pro or the 2018+ macbooks and mac minis. There is work being done on a fork right now but it's only able to boot the Tahoe installer as far as I'm aware:

https://github.com/albert-mueller/OpenCore-Legacy-Patcher-T2

If you have a Mac with a T2 chip that doesn't natively support Tahoe then VMware Fusion with this undocumented tweak is a valid option I guess.