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

Gnattu

macrumors 65816
Original poster
Sep 18, 2020
1,107
1,671
Apple Silicon Macs will get macOS VM guests support after the release of Monetary(macOS 12), but application requires OpenGL and OpenCL may not work properly in the VM because Apple does not (and will not) provide OpenCL/OpenGL support for para-virtualized GPU driver used in macOS guest.

Apple responds and confirms that OpenCL will not be supported in Monetary VMs(FB9686214)
FCLZEYgWEAUBWz4.jpeg


Most OpenGL based applications (like Blender) crashes immediately when trying to initialize a glcontext because they don't expect glcontext initialization will fail. Some apps (like the chess.app included with macOS) works but is incredibly slow.
 
  • Like
Reactions: Malus120

Joe Dohn

macrumors 6502a
Jul 6, 2020
840
748
Would this affect VMware / Parallels?
Also, would something like MetalAngle to translate calls from OpenGL to Metal work?
 

ahurst

macrumors 6502
Oct 12, 2021
410
815
Maybe I'm misunderstanding, but has graphics acceleration ever worked in a macOS VM? Every Parallels macOS VM I've ever had has basic framebuffer support for different custom resolutions, but anything involving actual graphics acceleration (i.e. Quartz Extreme & Core Image, or QE/CI as it's called in the Hackintosh community) has never worked right.

I think if you want a GPU-accelerated macOS VM, the only real option is ironically a PC with an extra macOS-supported GPU and a VM program that supports PCIe passthrough. That, or just use a real secondary Mac for whatever you're trying to run or test ;)
 

Joe Dohn

macrumors 6502a
Jul 6, 2020
840
748
Maybe I'm misunderstanding, but has graphics acceleration ever worked in a macOS VM?

Do you mean VMs installed in MacOS, or VMs with MacOS as a guest? Because both Parallels and VMware Fusion support acceleration with Windows and Linux guests. Parallels is even mentioned quite a lot when you want to virtualize Windows on M1 Macs to play games.
 

Gnattu

macrumors 65816
Original poster
Sep 18, 2020
1,107
1,671
Maybe I'm misunderstanding, but has graphics acceleration ever worked in a macOS VM?
It started working since Big Sur because Apple provides a para-virtualized GPU acceleration api for VM since then.
 
  • Like
Reactions: Malus120

ahurst

macrumors 6502
Oct 12, 2021
410
815
Do you mean VMs installed in MacOS, or VMs with MacOS as a guest? Because both Parallels and VMware Fusion support acceleration with Windows and Linux guests. Parallels is even mentioned quite a lot when you want to virtualize Windows on M1 Macs to play games.
I mean macOS guests, Windows graphics acceleration under Parallels has always worked well for me for the occasional older game!

Theoretically macOS VMs could run with proper GPU acceleration as well, but neither Parallels nor VMWare want to put in the effort to write a full graphics acceleration driver for macOS: it's a lot of trouble and effort for the small fraction of their userbase that wants to run GPU-based tasks in a macOS VM on a macOS host (relative to the userbase who want to run Windows games and/or Windows-only CAD/3D tools on macOS). It's unfortunate because macOS depends so heavily on GPU acceleration to run properly, it'd be a great feature for a lot of people.
 

Gnattu

macrumors 65816
Original poster
Sep 18, 2020
1,107
1,671
It's unfortunate because macOS depends so heavily on GPU acceleration to run properly, it'd be a great feature for a lot of people.
It is already working since Big Sur(for Intel Macs). Apple Silicon based Macs will get this after Monterey, but only with Metal support, no OpenGL.
 
  • Like
Reactions: Malus120

ahurst

macrumors 6502
Oct 12, 2021
410
815
It is already working since Big Sur(for Intel Macs). Apple Silicon based Macs will get this after Monterey, but only with Metal support, no OpenGL.
Ahhhhhh there we go, now I understand the thread. Cool! Presumably only for Big Sur guests on Big Sur hosts, or do older macOS guests work with it too?

My understanding was that OpenGL on modern Macs works through an OpenGL-to-Metal compatibility layer already, so I'm surprised it's even possible to remove OpenGL support while providing Metal. Maybe the VM passthrough framework doesn't play nice with AS and they can't be bothered to fix it?
 

Gnattu

macrumors 65816
Original poster
Sep 18, 2020
1,107
1,671
Ahhhhhh there we go, now I understand the thread. Cool! Presumably only for Big Sur guests on Big Sur hosts, or do older macOS guests work with it too?

My understanding was that OpenGL on modern Macs works through an OpenGL-to-Metal compatibility layer already, so I'm surprised it's even possible to remove OpenGL support while providing Metal. Maybe the VM passthrough framework doesn't play nice with AS and they can't be bothered to fix it?
You need at least Big Sur on Big Sur. Apple just don't want to provide a driver for OpenGL/OpenCL because they are "deprecated"
 
  • Like
Reactions: Malus120

Malus120

macrumors 6502a
Jun 28, 2002
696
1,456
Thanks for posting this... and wow that sucks...
I was considering moving to what I would consider a more secure computing model where I run open source and third party code I'm unsure about in a macOS VM just to be safe... but no... no support for OpenGL/CL makes that a lot less practical :/
 

ahurst

macrumors 6502
Oct 12, 2021
410
815
You need at least Big Sur on Big Sur. Apple just don't want to provide a driver for OpenGL/OpenCL because they are "deprecated"
Ah, good to know. Would be great to have acceleration for older macOS versions to test software on earlier versions, but I guess that's what a spare Mac or Hackintosh or bootable external drive is for...

Also somewhat off-topic, but it sucks that there isn't a real cross-platform alternative to OpenCL yet, even if we're just looking at Windows and Linux. There's CUDA, but that's NVidia-only which is a serious limitation if your code needs to run on other people's machines. There's Vulkan, but from my understanding it's still missing some key features needed to properly support all GPU compute instructions available in OpenCL itself. NVidia and AMD seem to be abandoning OpenCL on new cards as well, so I guess it's really an industry-wide failing.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.