Code Monkey home page Code Monkey logo

mangohud's Introduction

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 distribution, Fedora, or Arch, the build script will automatically detect and prompt you to install missing build dependencies. If you run into any issues with this please report them!

Packaging status

Fedora: sudo dnf install mangohud

Arch: Install mangohud and lib32-mangohud with your favourite AUR helper. mangohud-git is also available on the AUR.

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.

Hud configuration

MangoHud comes with a config file which can be used to set configuration options globally or per application. The priorities of different config files are:

  1. /path/to/application/dir/MangoHud.conf
  2. $HOME/.config/MangoHud/{application_name}.conf
  3. $HOME/.config/MangoHud/MangoHud.conf
  4. $HOME/.local/share/MangoHud/MangoHud.conf

The default config file is installed to $HOME/.config/MangoHud/MangoHud.conf and will not be overwritten by the script.


MANGOHUD_CONFIG environment variable

You can also customize the hud by using the MANGOHUD_CONFIG environment variable while separating different options with a comma. This takes priority over any config file.

A partial list of parameters are below. See the config file for a complete list.

Variable Description
cpu_temp
gpu_temp
Displays current CPU/GPU temperature
core_load Displays load & frequency per core
ram
vram
Displays system RAM/VRAM usage
full Enables all of the above config options
crosshair Adds a crosshair overlay at the centre of the screen
font_size= Customizeable font size (default=24)
width=
height=
Customizeable hud dimensions (in pixels)
position= Location of the hud: top-left (default), top-right, bottom-left, bottom-right
no_display Hide the hud by default
toggle_hud=
toggle_logging=
Modifiable toggle hotkeys. Default are F12 and F2, respectively.

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

mangohud's People

Contributors

dadschoorse avatar danyspin97 avatar egeexyz avatar flightlessmango avatar guihkx avatar ikeycode avatar jackun avatar tim77 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.