MangoHud
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:
$XDG_CONFIG_HOME/MangoHud/MangoHud.conf-
$XDG_CONFIG_HOME/MangoHud/APPLICATION-NAME.conf(case-sensitive) -
$XDG_CONFIG_HOME/MangoHud/wine-APPLICATION-NAME.conf(for Wine applications, case-sensitive, without the.exeextension) ./MangoHud.conf-
$MANGOHUD_CONFIGFILE(via environment variables)
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 |
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
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
mangoud 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-runtime
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/