Releases: flightlessmango/MangoHud
MangoHud Version 0.8.0-rc1
Blacklist
- Ubisoft Store (UplayWebCore.exe)
- halloy (IRC client)
- Plutonium Launcher (plutonium.exe, plutonium-launcher-win32.exe)
Fixes
read_cfg
didn't properly overwrite config options- logging would sometimes crash if it returned an empty vec
- fix double-logging of avg fps
- nvidia: warn if both nvml and xnvctrl are unavailable
- mangoapp didn't properly respond to hide/show hud
- add 32bit xkbcommon to project dependencies
- add missing dependencies for opensuse
- proper vsync implementation
- refactor FPS calculation in metrics
- fix exec, network, gpu and vram displaying incorrectly in horizontal mode
Changes
-
Multiple GPUs can be displayed
-
Changed logger errors to debug
-
Added CPU power to logging
-
Improved wayland keybinds
-
Memory usage has been refactored to be inline with other apps
-
DLSYM is enabled by default,
MANGOHUD_DLSYM=0
to disable it. -
mangoapp vulkan layer is deleted (it was a testing project and no longer in development)
-
OpenGL shim
- The shim is preloaded first instead of the opengl library
- it checks to make sure there is an opengl context to hook before loading mangohud
- this should resolve some crashes. More detailed information here c22ced0
-
If using
exec
and inside steam runtime, launch command usingsteam-runtime-launch-client
- If mangohud is used inside flatpak, you need to allow your app to speak on
org.freedesktop.Flatpak
dbus address.
Example if you're using mangohud in steam:flatpak override --user --talk-name=org.freedesktop.Flatpak com.valvesoftware.Steam
- If mangohud is used inside flatpak, you need to allow your app to speak on
-
Added Intel GPUs support (integrated and discrete, i915 and xe drivers)
- Temperature is only available in linux 6.13+
- Temperature and Power Usage is not available for integrated gpus
- VRAM and GPU Usage is per-process not per-system (that would require root rights)
-
Multiple GPUs support:
- By default, MangoHud displays all GPUs. To select needed GPUs, you can use
gpu_list
orpci_dev
- By default, MangoHud displays all GPUs. To select needed GPUs, you can use
Params
network_color
sets the color of the network hud elementdisplay_server
shows if the display server is Xorg, Xwayland or waylandgpu_list
set the GPUs to display in the hud e.ggpu_list=0,1
proc_mem
andio_read
now works properly in gamescope (mangoapp)
MangoHud Version 0.7.2
Changes
time
now has a label (you can remove this label withtime_no_label
)- Wayland keybinds have been added
- rewritten exec function to have a persistent shell. Should reduce frametime spikes when using exec
- exec is now right aligned to conform with every other item
- meson options
with_x11
andwith_wayland
actually have a purpose now - added Pop!_OS and SteamOS to build script
- added a mutex for config to prevent some crashes when accessing config at the same time as reloading
winesync
andrefresh_rate
have been changed to small font- added more stats to log summary
- stop using
intel_gpu_top
, as it was causing too many issues. We can still get GPU load but the rest we'll have to wait for to be exposed in sysfs
Fixes
- frametime color wasn't being correctly inherited, the user was not able to change it's color
- fixed a crash when pressing Shift_R + F9
- config options now correctly override preset options
- fixed RPM and % being incorrectly assigned for GPU fan speeds
- graphs had incorrect padding at start of graphs
- fixed a crash when reloading the config while logging
- check that cpu input gives a non-zero value
- fixed minecraft-launcher crashing
- graphs had incorrect padding leading to a smaller graph
- fixed a build issue where some meson options would exclude opengl files incorrectly
- fixed presets not working with
MANGOHUD_CONFIG
env
Parameters
time_no_label
removes the label beforetime
network
shows the throughput in kb/s for all interfaces or a specified list of interfaces e.gnetwork=eth0,wlo1
MangoHud Version 0.7.2-rc3
Changes
time
now has a label (you can remove this label withno_time_label
)- Wayland keybinds have been added
- rewritten exec function to have a persistent shell. Should reduce frametime spikes when using exec
- exec is now right aligned to conform with every other item
- meson options
with_x11
andwith_wayland
actually have a purpose now - added Pop!_OS and SteamOS to build script
- added a mutex for config to prevent some crashes when accessing config at the same time as reloading
winesync
andrefresh_rate
have been changed to small font
Fixes
- frametime color wasn't being correctly inherited, the user was not able to change it's color
- fixed a crash when pressing Shift_R + F9
- config options now correctly override preset options
- fixed RPM and % being incorrectly assigned for GPU fan speeds
- graphs had incorrect padding at start of graphs
- fixed a crash when reloading the config while logging
- check that cpu input gives a non-zero value
- fixed minecraft-launcher crashing
- graphs had incorrect padding leading to a smaller graph
- fixed a build issue where some meson options would exclude opengl files incorrectly
Parameters
no_time_label
removes the label beforetime
network
shows the throughput in kb/s for all interfaces or a specified list of interfaces e.gnetwork=eth0,wlo1
MangoHud Version 0.7.2-rc2
Changes
time
now has a label (you can remove this label withno_time_label
)- Wayland keybinds have been added
- rewritten exec function to have a persistent shell. Should reduce frametime spikes when using exec
Fixes
- frametime color wasn't being correctly inherited, the user was not able to change it's color
- fixed a crash when pressing Shift_R + F9
- config options now correctly override preset options
- fixed RPM and % being incorrectly assigned for GPU fan speeds
- graphs had incorrect padding at start of graphs
Parameters
no_time_label
removes the label beforetime
network
shows the throughput in kb/s for all interfaces or a specified list of interfaces e.gnetwork=eth0,wlo1
MangoHud Version 0.7.2-rc1
Changes
time
now has a label (you can remove this label withno_time_label
)- Wayland keybinds have been added
Fixes
- frametime color wasn't being correctly inherited, the user was not able to change it's color
- fixed a crash when pressing Shift_R + F9
- config options now correctly override preset options
- fixed RPM and % being incorrectly assigned for GPU fan speeds
Parameters
no_time_label
removes the label beforetime
network
shows the throughput in kb/s for all interfaces or a specified list of interfaces e.gnetwork=eth0,wlo1
MangoHud Version 0.7.1
Parameters
gamepad_battery
has been reworked todevice_battery
. This parameter current supports the valuesgamepad
andmouse
time
now has a titlefps_metrics
takes a decimal value or "avg". e.gavg,0.001
and displays the metricswinesync
shows the current implementation of synchronization primitives. E.g ESYNC/FSYNC etcpresent_mode
shows the current vulkan present mode or vsync status in opengl
Changes
- added support for gpu load on Adreno GPUs
- added cpu temp for zenpower3 module
- meson option: mangoplot
Fixes
- xnvctrl: fix an issue that could cause crashing when accessing gpu fan speed
- fixed an issue where no config present wouldn't use default mangohud presets
- fixed a crashing issue with CS2
- reworked intel code. Should resolve some issues where mangohud didn't shutting down properly when using intel gpu
- fix opengl runtime on musl libc systems #1133
- fixed
text_outline_color
incorrectly using BGR instead of RGB
MangoHud Version 0.7.1-rc2
gamepad_battery
has been reworked todevice_battery
. This parameter current supports the valuesgamepad
andmouse
- xnvctrl: fix an issue that could cause crashing when accessing gpu fan speed
- fixed an issue where no config present wouldn't use default mangohud presets
- Fixed a crashing issue with CS2
- Reworked intel code. Should resolve some issues where mangohud didn't shutting down properly when using intel gpu
time
now has a title- added cpu temp for zenpower3 module
- fixed
text_outline_color
incorrectly using BGR instead of RGB fps_metrics
is a new parameter that takes a decimal value or "avg". e.gavg,0.001
- Added support for gpu load on Adreno GPUs
winesync
shows the current implementation of synchronization primitives. E.g ESYNC/FSYNC etc- Fix opengl runtime on musl libc systems #1133
MangoHud Version 0.7.1-rc1
gamepad_battery
has been reworked todevice_battery
. This parameter current supports the valuesgamepad
andmouse
- xnvctrl: fix an issue that could cause crashing when accessing gpu fan speed
- fixed an issue where no config present wouldn't use default mangohud presets
- Fixed a crashing issue with CS2
- Reworked intel code. Should resolve some issues where mangohud didn't shutting down properly when using intel gpu
time
now has a title- added cpu temp for zenpower3 module
- fixed
text_outline_color
incorrectly using BGR instead of RGB fps_metrics
is a new parameter that takes a decimal value or "avg". e.gavg,0.001
MangoHud Version 0.7.0
Parameters
gpu_fan
displays the gpu fan RPM, only works on AMD.gpu_junction_temp
displays the junction temperature on AMD GPUs- removed
io_stats
, just useio_read
andio_write
instead engine_short_names
shortens the names of engines, e.gVULKAN
becomesVK
text_outline
adds a colored outline around all texttext_outline_color
sets the color of the outline, default:000000
text_outline_thickness
sets the thickness of the outline, default:1.5
temp_fahrenheit
changes all temps to fahrenheit from celsiusdynamic_frame_timing
dynamically changes the range of the frametime graphduration
displays the time since mangohud initializedgpu_voltage
shows the current gpu voltage, only works on AMDfps_text
override fps texthorizontal_stretch
sets the background to stretch across width of application (enabled by default)core_bars
turnscore_load
into a histogramdevice_battery
Shows battery level of wireless devices, acceptsgamepad
mouse
device_battery_icon
shows battery icon instead of percent
preset
This parameter allows you to choose from a number of config presets.
By default there are 5.
- 0: no display
- 1: only fps
- 2: horizontal
- 3: more detailed default layout
- 4: full
These presets correspond with the steam deck performance overlay levels.
You can create your own preset levels or overwrite the current ones by creating a config file in~/.config/MangoHud/preset.conf
To create or overwrite preset 3 you could add the follow topreset.conf
[preset 3]
vram
ram
battery
If you enter preset as a list e.g: preset=1,2,3
you can use the default keybind Shift_R + F10 to toggle throught presets (this only works on X11)
toggle_preset
param allows you to change the default keybind
Changes
- Removed
MANGOHUD_DLSYM
because it's redundant - Fixed core mhz when Cool'n'Quiet and similar is disabled in bios
- Added
/etc/MangoHud.conf
as a possible config location - Add CPU architecture to vulkan manifest name
- mangoplot is a python script that graphs one or more mangohud csv logs
- mangoapp: resolved issue where different sized displays caused rendering issues
- mangohud script: guard so we don't add mangohud lib to
LD_PRELOAD
multiple times - split mangohud into two shared libraries, one for vulkan and one for opengl. This should resolve issues where mangohud would init vulkan and opengl at the same time
- statically link stdc++. This fixed a lot of crashing issues when MANGOHUD=1 was set before starting steam.
- added support for zenergy kernel driver
- fixed
alpha
param that stopped working at some point - added
--version
to mangohud script - When using horizontal layout set
table_columns
param to current count of table_columns instead of manually - Intel GPU: use fdinfo for GPU load
- logging: calculate fps data using frametime
- AMDGPU: get core clock from hwmon instead of gpu_metrics
gamepad_battery
is now deprecated usedevice_battery=
mouse
orgamepad
- Fixed a memory leak when resizing vulkan windows.
- logging: added process RSS and swap usage
Blacklist
- blacklist: if blacklisted application is hardcoded, don't proceed to load config blacklists
- blacklist: only print blacklist info message once
- blacklist: added more hardcoded entries:
-
- tabtip.exe
-
- steam.exe
-
- wine64-preloader
-
- explorer.exe
-
- wine-preloader
-
- iexplore.exe
-
- rundll32.exe
0.7.0-rc1
Parameters
gpu_fan
displays the gpu fan RPM, only works on AMD.gpu_junction_temp
displays the junction temperature on AMD GPUs- removed
io_stats
, just useio_read
andio_write
instead engine_short_names
shortens the names of engines, e.gVULKAN
becomesVK
text_outline
adds a colored outline around all texttext_outline_color
sets the color of the outline, default:000000
text_outline_thickness
sets the thickness of the outline, default:1.5
temp_fahrenheit
changes all temps to fahrenheit from celsiusdynamic_frame_timing
dynamically changes the range of the frametime graphduration
displays the time since mangohud initializedgpu_voltage
shows the current gpu voltage, only works on AMDfps_text
override fps texthorizontal_stretch
sets the background to stretch across width of application (enabled by default)core_bars
turnscore_load
into a histogram
preset
This parameter allows you to choose from a number of config presets.
By default there are 5.
- 0: no display
- 1: only fps
- 2: horizontal
- 3: more detailed default layout
- 4: full
These presets correspond with the steam deck performance overlay levels.
You can create your own preset levels or overwrite the current ones by creating a config file in~/.config/MangoHud/preset.conf
To create or overwrite preset 3 you could add the follow topreset.conf
[preset 3]
vram
ram
battery
If you enter preset as a list e.g: preset=1,2,3
you can use the default keybind Shift_R + F10 to toggle throught presets (this only works on X11)
toggle_preset
param allows you to change the default keybind
Changes
- Removed
MANGOHUD_DLSYM
because it's redundant - Fixed core mhz when Cool'n'Quiet and similar is disabled in bios
- Added
/etc/MangoHud.conf
as a possible config location - Add CPU architecture to vulkan manifest name
- mangoplot is a python script that graphs one or more mangohud csv logs
- mangoapp: resolved issue where different sized displays caused rendering issues
- mangohud script: guard so we don't add mangohud lib to
LD_PRELOAD
multiple times - split mangohud into two shared libraries, one for vulkan and one for opengl. This should resolve issues where mangohud would init vulkan and opengl at the same time
- statically link stdc++. This fixed a lot of crashing issues when MANGOHUD=1 was set before starting steam.
- added support for zenergy kernel driver
- fixed
alpha
param that stopped working at some point - added
--version
to mangohud script - When using horizontal layout set
table_columns
param to current count of table_columns instead of manually - Intel GPU: use fdinfo for GPU load
- logging: calculate fps data using frametime
- AMDGPU: get core clock from hwmon instead of gpu_metrics
Blacklist
- blacklist: if blacklisted application is hardcoded, don't proceed to load config blacklists
- blacklist: only print blacklist info message once
- blacklist: added more hardcoded entries:
-
- tabtip.exe
-
- steam.exe
-
- wine64-preloader
-
- explorer.exe
-
- wine-preloader
-
- iexplore.exe
-
- rundll32.exe