MangoHud - ArchWiki

Jump to content

# MangoHud

From ArchWiki

Related articles

- GameMode

MangoHud is a Vulkan and OpenGL overlay for monitoring system performance while inside applications and to record metrics for benchmarking.

## Installation

Install mangohud and lib32-mangohud since many old games are 32-bit-only.

## Configuration

MangoHud is configured via the following files, which are read in the following order:

1. `$XDG_CONFIG_HOME/MangoHud/MangoHud.conf`
2. `$XDG_CONFIG_HOME/MangoHud/APPLICATION-NAME.conf` (case-sensitive)
3. `$XDG_CONFIG_HOME/MangoHud/wine-APPLICATION-NAME.conf` (for Wine applications, case-sensitive, without the `.exe` extension)
4. `./MangoHud.conf`
5. `$MANGOHUD_CONFIGFILE` (via environment variables)

Tip An example configuration file with comments can be found in the project's repository.

### GUI for configuration

A GUI for configuring MangoHud can be installed from goverlay or mangojuiceAUR.

## Usage

### Keyboard commands

The default keyboard shortcuts include:

Keyboard shortcut | Description
--- | ---
`Shift_R+F12` | Toggle overlay (HUD)
`Shift_R+F11` | Toggle overlay (HUD) position
`Shift_R+F10` | Toggle preset
`Shift_L+F1` | Toggle FPS limit
`Shift_L+F2` | Toggle logging
`Shift_L+F4` | Reload configuration
`Shift_L+F3` | Upload log file
`Shift_R+F9` | Reset FPS metrics

Note Keyboard shortcut values are transcribed as used in the upstream's configuration file.

### Test configuration

Verify if the program has been setup correctly:

    $ mangohud glxgears
    $ mangohud vkcube

### Run a single game

To run a game with MangoHud start it like this:

    $ mangohud game

#### Dynamic hooking for OpenGL applications

The `dlsym` hook is enabled by default for OpenGL applications. Set the environment variable `MANGOHUD_DLSYM=0` to disable it in case of problems, like so:

    $ MANGOHUD_DLSYM=0 game

Note For Steam launch options, use the following instead:

    MANGOHUD_DLSYM=0 %command%

#### Use with GameMode

To launch a game with both MangoHud and GameMode, chain the two commands into a single one, like this:

    $ mangohud gamemoderun game

### Run a single Steam game

To make Steam start a game with MangoHud, right click the game in the Library, select Properties..., then in the Launch Options text box enter:

    mangohud %command%

#### Run a single Steam game with GameMode enabled too

Same as for enabling Steam game to run with Mangohud but also with option to use it alongside GameMode

    mangohud gamemoderun %command%

### Run Steam with MangoHud

To avoid having to change launch options for all games, you may launch Steam directly with MangoHud:

    $ mangohud steam

MangoHud will detect Steam and will avoid loading itself until a game is launched.

### Enable for all Vulkan games

To make MangoHud automatically launch with all Vulkan games, it is possible to set the following environment variable:

    MANGOHUD=1

## Troubleshooting

### MangoHUD does not work with native OpenGL Linux applications

Some Linux native OpenGL applications override `LD_PRELOAD`, preventing MangoHUD from loading. Sometimes, it's possible to edit the app's start script to include the path to MangoHUD's files, like so:

    LD_PRELOAD=/usr/lib/mangohud/

Category:

- Gaming

MangoHud
Add topic