> For the complete documentation index, see [llms.txt](https://guides.bludood.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://guides.bludood.com/ios/metal-performance-overlay.md).

# Metal Performance Overlay

I noticed someone found some kind of setting to enable a (hidden?) performance overlay in certain apps running on iOS. You can find some useful information like FPS, GPU usage and memory usage. I will show you how to enable it here.

### Prerequisites

* A Mac or PC with an active Internet connection
* Lightning cable for connecting the device to your computer (alternatively, use WiFi sync)

### Installing `libimobiledevice`

A good tool to use for mounting developer disk images is `libimobiledevice`. It also comes with a lot of other useful stuff, but we're interested in one of them.

You can find the installation steps for other operating systems [here](https://libimobiledevice.org/#get-started), i will only list Windows and macOS here.

{% tabs %}
{% tab title="Windows" %}
`libimobiledevice` is not officially compiled for Windows yet, so you'll either have to download an unofficial build or build it yourself.

You can find the build instructions [here](https://github.com/libimobiledevice/libimobiledevice), or a download link below.

{% file src="/files/cuNd72GmK33hMtagBEI3" %}
Libimobiledevice for Windows x64.
{% endfile %}

If you downloaded the archive, you'll have to extract it, and prepend all your commands with the path of the extracted folder. `idevice_id` -> `C:\Users\username\Downloads\libimobiledevice\idevice_id`

You can also append this path to your PATH or environment variables.
{% endtab %}

{% tab title="macOS" %}
àUsing `homebrew`, we can use one command to install this library.

If you haven't done that already, install homebrew [from here](https://brew.sh/).

Now, you can open your terminal and enter this command:

`brew install libimobiledevice```l`
{% endtab %}
{% endtabs %}

### Mounting the developer disk image

As of writing this, the latest beta of iOS 16 is Developer Beta 3. You can find the developer disk image below. Please note that i have not verified that this is official, but it does work for my device.

{% file src="/files/60DxQNAm7ETaBR8Odrj2" %}
Developer Disk Image for iOS 16 Developer Beta.
{% endfile %}

Now, we'll use `libimobiledevice` to mount this image.

Plug your device in to your computer.

Extract the archive you downloaded to a place you'll remember, open a terminal or command prompt, and follow these commands:

&#x20;1\. `idevice_id`

Note down the string before `(USB)`, you'll need this in the next command. This is called a UUID.

Enter the folder you extracted, and copy the path of `DeveloperDiskImage.dmg`. You'll also need this in the next command. You can make a text file or note containing this next command, since this is what you'll need to enter to mount the image again later.&#x20;

&#x20;2\. `ideviceimagemounter -u <UUID> <path_to_disk_image>`

After executing this command, it should output `Status: Complete`. If it does not, make sure your device is on iOS 16, and restart it.

### Enabling the Performance Overlay

1. On your iOS device, open Settings
2. Open "Developer"
3. Scroll down to the bottom and enable the toggle "Show Graphics HUD" under `GRAPHICS_HUD`. This name may be changed later.

![Screenshot of the toggle you have to enable. "Show Graphics HUD"](/files/GbBUpVeqMzGLEShJbuB5)

### Supported apps

Now that you have enabled this toggle, the overlay is enabled. I've only found some apps that utilize this feature.

* UTM

If you find any other apps that utilize this overlay, please contact me via email: <bludood@bludood.com>, or Discord: BluDood#0001
