Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Running metal-enabled app on macos virtual machine

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?

like image 983
average Joe Avatar asked Oct 04 '18 22:10

average Joe


People also ask

How can I legally run macOS in a virtual machine?

OS X license doesn't allow you to run it on non-Apple hardware. However, creating an OS X virtual machine on a Mac is perfectly lawful. As long as you obtain your copy of OSX legally it isn't illegal to run OSX in a virtual machine or even on non-Apple hardware.

Is Mac good for virtualization?

Virtualization programs such as Parallels Desktop and VMWare Fusion run on the macOS, but allow you to create a Virtual Machine – or VM – that mimics the hardware of a Windows PC. So you can create a VM on your Mac and then install Windows – or another operating systems, such as Linux – on the VM.

How do I enable accelerate 3D graphics in VMware?

Select Window > Virtual Machine Library. Select a virtual machine in the Virtual Machine Library window and click Settings. Under System Settings in the Settings window, click Display. Select the Accelerate 3D graphics check box.


1 Answers

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.

like image 142
average Joe Avatar answered Sep 21 '22 21:09

average Joe