MangoHud

From ArchWiki

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

Installation

Install mangohud package. Optionally, install lib32-mangohud if you need 32-bit games support.

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.

Usage

Keyboard commands

  • RShift+F12 – Toggle overlay
  • RShift+F11 – Change overlay position
  • LShift+F2 – Toggle logging
  • LShift+F4 – Reload config

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

Certain applications may require a special type of hooking, which can be specified via the --dlsym parameter or the MANGOHUD_DLSYM environment variable:

$ mangohud --dlsym game

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