Go to file
2020-02-09 12:25:23 +01:00
assets update example gif with vram 2020-02-05 14:16:17 +02:00
bin install.sh: verbose 2020-02-03 11:57:38 +13:00
include Basic nvml implementation 2020-01-30 21:23:40 +02:00
modules Add Vulkan-Headers submodule 2020-01-30 21:31:18 +02:00
src Use params for keybinds 2020-02-09 12:25:23 +01:00
.gitignore add PKGBUILD 2020-01-30 20:22:48 +13:00
.gitmodules Add Vulkan-Headers submodule 2020-01-30 21:31:18 +02:00
build.sh Add Zorin OS to build script 2020-02-08 09:52:51 -03:00
LICENSE Added LICENSE 2020-02-05 00:20:07 +01:00
meson_options.txt meson: option to add _GLIBCXX_ASSERTIONS define 2020-02-04 23:23:01 +02:00
meson.build meson: option to add _GLIBCXX_ASSERTIONS define 2020-02-04 23:23:01 +02:00
PKGBUILD PKGBUILD moved submodule fetching into prepare() 2020-02-01 00:00:06 +01:00
README.md add "ram" & "vram" options to readme 2020-02-05 14:16:16 +02:00

MangoHud

A modification of the Mesa Vulkan overlay. Including GUI improvements, temperature reporting, and logging capabilities.

Example:

Installation

If you do not wish to compile anything, simply download the file under Releases, extract it, and run ./install.sh from within the extracted folder.

If you wish to compile MangoHud to keep up to date with any changes - first clone this repository and cd into it:

git clone --recurse-submodules https://github.com/flightlessmango/MangoHud.git
cd MangoHud

Then simply run the following command:

./build.sh install

This will build and copy libMangoHud.so & libMangoHud32.so to $HOME/.local/share/MangoHud, as well as copying the required Vulkan layer configuration files.


If you are running an Ubuntu-like distrobution, Fedora, or Arch, the build script will automatically detect and prompt you to install missing build dependencies. If you run in to any issues with this please report them!

Normal usage

To enable the MangoHud Vulkan overlay layer, run :

MANGOHUD=1 /path/to/my_vulkan_app

Or alternatively, add MANGOHUD=1 to your shell profile.

MANGOHUD_CONFIG parameters

You can customize the hud by using the MANGOHUD_CONFIG environment variable while separating different options with a comma. Add some_parameter=0 to hide said parameter.

  • cpu_temp : Displays current CPU temperature
  • gpu_temp : Displays current GPU temperature
  • core_load : Displays current CPU load per core
  • ram : Displays system memory usage
  • vram : Displays GPU memory usage
  • font_size : Changes the default font size (default is 24)
  • width : Set custom hud width
  • height : Set custom hud height
  • position=x: Available values for x include top-left, top-right, bottom-left, and bottom-right
  • frame_timing : Displays frame time line plot

Note: Width and Height are set automatically based on the font_size, but can be overridden.

Example: MANGOHUD_CONFIG=cpu_temp,gpu_temp,position=top-right,height=500,font_size=32

Environment Variables

  • MANGOHUD_OUTPUT : Define name and location of the output file (Required for logging)
  • MANGOHUD_FONT: Change default font (set location to .TTF/.OTF file )

Keybindings

  • F2 : Toggle Logging
  • F12: Toggle Hud

MangoHud FPS logging

When you toggle logging (using the keybind F2), a file is created with your chosen name (using MANGOHUD_OUTPUT) plus a date & timestamp.

This file can be uploaded to Flightlessmango.com to create graphs automatically. you can share the created page with others, just link it.

Multiple log files

It's possible to upload multiple files when using Flightlessmango.com. You can rename them to your preferred names and upload them in a batch. These filenames will be used as the legend in the graph.

Log uploading walkthrough