Skip to main content

Kiosk with macOS in a VM: Enabling Metal support

Description

The new Kiosk requires 'Metal' support.  VMware does not support metal by default.  It is possible to add support, however the details provided are Beta and not only may the VM become unstable, but the host may also Kernel Panic.

Use cautiously

Without the necessary configuration, the new Kiosk will not show and the user logs will show something like:

2024-05-13 10:40:15.324 FileWave Kiosk[1241:5674] Could not acquire Metal device.
2024-05-13 10:40:25.936 FileWave Kiosk[1241:5674] Unable to create FlutterView; no MTLDevice or MTLCommandQueue available.

Configuration

The following configuration requires the VM to be shutdown (not paused) prior to editing.

Locate the containing folder of the VM.  Within this will be a .vmx file.  For example, if the containing VM Folder were called 'macOS 12.vmware, the file to edit should be called 'macOS 12.vmx':

/Users/sholden/Documents/Virtual\ Machines/macOS\ 12.vmwarevm/macOS\ 12.vmx

Add the following two lines:

appleGPU0.present = "TRUE"
svga.present = "FALSE"

Once added, the VM may then be booted.  To remove this configuration, again shutdown the VM, edit the file, this time removing these two entries.

It may also be necessary to define the aspect ratio in the same file with the following two lines.  1920 x 1080 used as an example:

appleGPU0.screenWidth="1920"
appleGPU0.screenHeight="1080"

Although this may work, in practice the VM crashed too often or became seemingly unusable.  Since the host may also Kernel Panic, recommendation would be to avoid configuring this on VMware test devices, unless absolutely necessary.  Even then, consider undoing this once the test has been completed.