### MangoHud configuration file
### Uncomment any options you wish to enable. Default options are left uncommented
### Use some_parameter=0 to disable a parameter (only works with on/off parameters)
### Everything below can be used / overridden with the environment variable MANGOHUD_CONFIG instead

################ INFORMATIONAL #################
## prints possible options on stdout
# help

################ PERFORMANCE #################

### Limit the application FPS. Comma-separated list of one or more FPS values (e.g. 0,30,60). 0 means unlimited (unless VSynced)
# fps_limit=0

### early = wait before present, late = wait after present
# fps_limit_method=

### Vulkan Present Mode. Overrides application present mode. Takes precedence over `vsync=`.
# Present Modes:
#   immediate
#   mailbox
#   fifo
#   fifo_relaxed
#   shared_demand_refresh
#   shared_continuous_refresh
#   fifo_latest_ready
# Present Modes Documentation:
#   https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPresentModeKHR.html
# vulkan_present_mode=mailbox

### VSync [0-3] 0 = adaptive; 1 = off; 2 = mailbox; 3 = on
# vsync=-1

### OpenGL VSync [0-N] 0 = off; >=1 = wait for N v-blanks, N > 1 acts as a FPS limiter (FPS = display refresh rate / N)
# gl_vsync=-2

### Mip-map LoD bias. Negative values will increase texture sharpness (and aliasing)
## Positive values will increase texture blurriness (-16 to 16)
# picmip=-17

### Anisotropic filtering level. Improves sharpness of textures viewed at an angle (0 to 16)
# af=-1

### Force bicubic filtering
# bicubic

### Force trilinear filtering
# trilinear

### Disable linear texture filtering. Makes textures look blocky
# retro

################### VISUAL ###################

### Legacy layout
# legacy_layout=0

### pre defined presets
# -1 = default
#  0 = no display
#  1 = fps only
#  2 = horizontal view
#  3 = extended
#  4 = high detailed information
# preset=-1

### Enable most of the toggleable parameters (currently excludes `histogram`)
# full

### Show FPS only. ***Not meant to be used with other display params***
# fps_only

### Display custom centered text, useful for a header
# custom_text_center=

### Display the current system time
# time
## removes the time label
# time_no_label

### Time formatting examples
## %H:%M
## [ %T %F ]
## %X # locally formatted time, because of limited glyph range, missing characters may show as '?' (e.g. Japanese)
# time_format="%T"

### Display MangoHud version
# version

### Display the current GPU information
## Note: gpu_mem_clock and gpu_mem_temp also need "vram" to be enabled
gpu_stats
# gpu_temp
# gpu_junction_temp
# gpu_core_clock
# gpu_mem_temp
# gpu_mem_clock
# gpu_power
# gpu_power_limit
# gpu_text=
# gpu_load_change
# gpu_load_value=60,90
# gpu_load_color=39F900,FDFD09,B22222
## GPU fan in rpm on AMD, FAN in percent on NVIDIA
# gpu_fan
## gpu_voltage only works on AMD GPUs
# gpu_voltage
## Select list of GPUs to display
# gpu_list=0,1
# gpu_efficiency

### Display the current CPU information
cpu_stats
# cpu_temp
# cpu_power
# cpu_text=
# cpu_mhz
# cpu_load_change
# cpu_load_value=60,90
# cpu_load_color=39F900,FDFD09,B22222
# cpu_efficiency

### Display the current CPU load & frequency for each core
# core_load
# core_load_change
# core_bars
# core_type

### Display IO read and write for the app (not system)
# io_read
# io_write

### Display system vram / ram / swap space usage
# vram
# ram
# swap

### Display per process memory usage
## Show resident memory and other types, if enabled
# procmem
# procmem_shared
# procmem_virt
# proc_vram

### Display battery information
# battery
# battery_icon
# device_battery=gamepad,mouse
# device_battery_icon
# battery_watt
# battery_time

### Display FPS and frametime
fps
# fps_sampling_period=500
# fps_color_change
# fps_value=30,60
# fps_color=B22222,FDFD09,39F900
# fps_text=""
frametime
# frame_count
## fps_metrics takes a list of decimal values or the value avg
# fps_metrics=avg,0.01

### Display GPU throttling status based on Power, current, temp or "other"
## Only shows if throttling is currently happening
throttling_status
## Same as throttling_status but displays throttling on the frametime graph
#throttling_status_graph

### Display miscellaneous information
# engine_version
# engine_short_names
# gpu_name
# vulkan_driver
# wine
# exec_name
# winesync
# present_mode

### Display loaded MangoHud architecture
# arch

### Display the frametime line graph
frame_timing
# frame_timing_detailed
# dynamic_frame_timing
# histogram

### Display GameMode / vkBasalt running status
# gamemode
# vkbasalt

### Gamescope related options
## Display the status of FSR (only works in gamescope)
# fsr
## Hides the sharpness info for the `fsr` option (only available in gamescope)
# hide_fsr_sharpness
## Shows the graph of gamescope app frametimes and latency (only on gamescope obviously)
# debug
## Display the status of HDR (only works in gamescope)
# hdr
## Display the current refresh rate (only works in gamescope)
# refresh_rate


### graphs displays one or more graphs that you chose
## separated by ",", available graphs are
## gpu_load,cpu_load,gpu_core_clock,gpu_mem_clock,vram,ram,cpu_temp,gpu_temp
# graphs=

### mangoapp related options
## Enables mangoapp to be displayed above the Steam UI
# mangoapp_steam

### Steam Deck options
## Shows the Steam Deck fan rpm
# fan

### Display current FPS limit
# show_fps_limit

### Display the current resolution
# resolution

### Display current display session
# display_server

### Display temperature in fahrenheit
# temp_fahrenheit

## Display efficiency in joules per frame
# flip_efficiency

### Display custom text
# custom_text=
### Display output of Bash command in next column
# exec=

### Display media player metadata
# media_player
## for example spotify
# media_player_name=
## Format metadata, lines are delimited by ; (wip)
## example: {title};{artist};{album}
## example: Track:;{title};By:;{artist};From:;{album}
# media_player_format=title,artist,album

### Network interface throughput
# network
## Network can take arguments but it's not required.
## without arguments it shows all interfaces
## arguments set which interfaces will be displayed
# network=eth0,wlo1


### Change the hud font size
# font_size=24
# font_scale=1.0
# font_size_text=24
# font_scale_media_player=0.55
# no_small_font

### Change default font (set location to TTF/OTF file)
## Set font for the whole hud
# font_file=

## Set font only for text like media player metadata
# font_file_text=

## Set font glyph ranges. Defaults to Latin-only. Don't forget to set font_file/font_file_text to font that supports these
## Probably don't enable all at once because of memory usage and hardware limits concerns
## If you experience crashes or text is just squares, reduce glyph range or reduce font size
# font_glyph_ranges=korean,chinese,chinese_simplified,japanese,cyrillic,thai,vietnamese,latin_ext_a,latin_ext_b

### Outline text
text_outline
# text_outline_color = 000000
# text_outline_thickness = 1.5

### Change the hud position
# position=top-left

### Change the corner roundness
# round_corners=0

### Remove margins around MangoHud
# hud_no_margin

### Display compact version of MangoHud
# hud_compact

### Display MangoHud in a horizontal position
# horizontal
# horizontal_stretch

### Disable / hide the hud by default
# no_display

### Show FEX-Emu statistics
## Only useful for Arm64 devices running applications under emulation
# fex_stats

### Hud position offset
# offset_x=0
# offset_y=0

### Hud dimensions
# width=0
# height=140
# table_columns=3
# cellpadding_y=-0.085

### Hud transparency / alpha
# background_alpha=0.5
# alpha=1.0

### FCAT overlay
### This enables an FCAT overlay to perform frametime analysis on the final image stream.
### Enable the overlay
# fcat
### Set the width of the FCAT overlay.
### 24 is a performance optimization on AMD GPUs that should not have adverse effects on nVidia GPUs.
### A minimum of 20 pixels is recommended by nVidia.
# fcat_overlay_width=24
### Set the screen edge, this can be useful for special displays that don't update from top edge to bottom. This goes from 0 (left side) to 3 (top edge), counter-clockwise.
# fcat_screen_edge=0

### Color customization
# text_color=FFFFFF
# gpu_color=2E9762
# cpu_color=2E97CB
# vram_color=AD64C1
# ram_color=C26693
# engine_color=EB5B5B
# io_color=A491D3
# frametime_color=00FF00
# background_color=020202
# media_player_color=FFFFFF
# wine_color=EB5B5B
# battery_color=FF9078
# network_color=E07B85
# horizontal_separator_color=AD64C1

### Specify GPU with PCI bus ID
### Set to 'domain:bus:slot.function'
### Example:
###     $ lspci | grep A770
###     03:00.0 VGA compatible controller: Intel Corporation DG2 [Arc A770] (rev 08)
# pci_dev=0000:03:00.0

### Blacklist
# blacklist=

### Control over socket
### Enable and set socket name, '%p' is replaced with process id
## example: mangohud
## example: mangohud-%p
# control = -1

### ftrace tracepoint display
## Enable display of tracepoint information gathered from ftrace. MangoHud will parse
## out the necessary data from the ftrace pipe, ftrace itself still has to be configured
## manually (enabling the desired event, applying any filtering etc.). The user running
## MangoHud will require permission to access the default-mounted tracefs (expected at
## /sys/kernel/tracing/).
##
## When parsing ftrace output, currently only the `key=value` format for event fields is
## expected. This is the most common format used in events, but it's not standardized.
##
## Three types of display are available:
## - `histogram/drm_vblank_event`, a histogram of event occurrence
## - `linegraph/devfreq_monitor/freq`, a line graph of an event field's numerical value
## - `label/devfreq_frequency/dev_name`, a textual presentation of an event field's value
##
## The displays are set through the `ftrace` option. Multiple displays can be specified.
# ftrace=histogram/drm_vblank_event+linegraph/devfreq_monitor/freq

################ WORKAROUNDS #################
### Options starting with "gl_*" are for OpenGL
### Specify what to use for getting display size. Options are "viewport", "scissorbox" or disabled. Defaults to using glXQueryDrawable
# gl_size_query=viewport

### (Re)bind given framebuffer before MangoHud gets drawn. Helps with Crusader Kings III
# gl_bind_framebuffer=0

### Don't swap origin if using GL_UPPER_LEFT. Helps with Ryujinx
# gl_dont_flip=1

################ INTERACTION #################

### Change toggle keybinds for the hud & logging
# toggle_hud=Shift_R+F12
# toggle_hud_position=Shift_R+F11
# toggle_preset=Shift_R+F10
# toggle_fps_limit=Shift_L+F1
# toggle_logging=Shift_L+F2
# reload_cfg=Shift_L+F4
# upload_log=Shift_L+F3
# reset_fps_metrics=Shift_R+F9

#################### LOG #####################
### Automatically start the log after X seconds
# autostart_log=
### Set amount of time in seconds that the logging will run for
# log_duration=
### Change the default log interval, 0 is default
# log_interval=0
### Set location of the output files (required for logging)
# output_folder=/home/<USERNAME>/mangologs
### Permit uploading logs directly to FlightlessMango.com
## set to 1 to enable
# permit_upload=0
### Define a '+'-separated list of percentiles shown in the benchmark results
### Use "AVG" to get a mean average. Default percentiles are 97+AVG+1+0.1
## example: ['97', 'AVG', '1', '0.1']
# benchmark_percentiles=97,AVG
## Adds more headers and information such as versioning to the log. This format is not supported on flightlessmango.com (yet)
# log_versioning
## Enable automatic uploads of logs to flightlessmango.com
# upload_logs
# output_file=""
