# Kiosk with macOS in a VM: Enabling Metal support

## Description

The FileWave Kiosk requires Metal support when it runs in macOS. VMware does not enable Metal support for macOS VMs by default. You can add the VMX settings below for testing, but treat this as a workaround: the VM may become unstable and the host Mac may kernel panic.

<p class="callout danger">Use cautiously</p>

Without Metal support, the Kiosk will not open and the user logs may show messages like these:

```
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

Shut down the VM before editing its configuration. Do not edit the file while the VM is running or paused.

Open the folder that contains the VM and find its `.vmx` file. For example, if the VM folder is named `macOS 12.vmwarevm`, the VMX file may be named `macOS 12.vmx`:

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

Add these two lines:

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

Start the VM after saving the file. To undo the change, shut down the VM again and remove the same two entries.

You may also need to define the display size in the same file. This example uses 1920 x 1080:

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

<p class="callout danger">This workaround may let the Kiosk launch in a VMware test VM, but in practice the VM often crashed or became unusable. Because the host Mac may also kernel panic, avoid this configuration unless the test requires it. Remove the entries when the test is complete.</p>