8

Is there any virtualization solution that supports metal api?

We have an app that uses Metal internally, and we'd like to test it across different macOS versions. Unfortunately it seems that VirtualBox, Parallels Desktop & VMWare Fusion doesn't enable Metal API in their guest macOS.

How can we test the app without having multiple physical machines or without using dual-boot?

average Joe
  • 4,377
  • 2
  • 25
  • 23
  • My 2¢ of offtopic: why Metal instead of, say, Vulkan? – hidefromkgb Oct 05 '18 at 00:28
  • Swift has access to MetalKit api, with quite decent documentation and guaranteed future maintenance. Low-risk choice. It integrates with Cocoa well (see MTKView) – average Joe Oct 05 '18 at 07:14
  • I thought OpenGL to also enjoy guaranteed future maintenance within MacOS… until it [got deprecated](https://appleinsider.com/articles/18/06/04/opengl-opencl-deprecated-in-favor-of-metal-2-in-macos-1014-mojave). – hidefromkgb Oct 05 '18 at 12:49

1 Answers1

2

UPDATED ANSWER 2019

Parallels Desktop v. 15 finally uses Metal. See their blogpost.


ORIGINAL ANSWER:

As far as I researched there's no chance of doing so with virtual machines.

The only feasible work-around we found is to:

  1. find/purchase hi-speed USB drive (or even external SSD)
  2. install various macOS versions on partitions of the USB drive
  3. boot your Mac from the pendrive and select the OS you want to test

Not ideal, but does the job.

average Joe
  • 4,377
  • 2
  • 25
  • 23
  • Also VMWare Fusion 12 has enabled support for it, but they (virtualization ISVs) all depend on Apple's paravirtualized driver `AppleParavirtGPU.kext` which Apple only has made available for Big Sur guests https://developer.apple.com/documentation/paravirtualizedgraphics – Costin Gușă Mar 10 '21 at 17:00