Commit Graph

288 Commits (2f807a4c0da400606008195d15c6d7d9d733e3d2)

Author SHA1 Message Date
jackun 8b855e3251
Fix mul/div order when normalizing io stats to sample per second as `fps_sampling_period` is also an integer. 4 years ago
Sporif 61ef9244e9 Disable dlsym hooking by default and fix LD_PRELOAD propagation to new processes
This allows `mangohud steam` to work
4 years ago
Sporif c4a00704cf Separate out blacklist implementation 4 years ago
Georg Lehmann 1eca184157
Vulkan Overlay: Don't try to change the image layout to present twice
The render pass already does the transition.
The pipeline barrier is still needed to transfer the queue family ownership.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3740>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3740>
4 years ago
jackun 88188ee1da
[dbus] Generalize a bit more but still give Spotify special treatment, keep track of 'org.mpris.MediaPlayer2' service providers
Keeps and draws spotify's and other player's metadata separately.
Keep track of 'org.mpris.MediaPlayer2' service providers so when
a player that was the last metadata sender quits, we can stop
showing its metadata on overlay.
4 years ago
jackun b40fb95a04
[OpenGL] Better version parsing and fix gl version checks for vertex arrays 4 years ago
jackun a9311bb578
Allow to specify gpu with pci bus id by setting env var `MANGOHUD_PCI_DEV=xxxx:xx:xx:x` where x's are "domain🚌slot.function" 4 years ago
jackun e5a256bfc0
Move DBus init to overlay_params so it can be enabled/disabled on the fly from a single place 4 years ago
FlightlessMango d454ff43a2 Hide all hud elements on no_display 4 years ago
jackun 8024736253
Add DBus loader, combined ticker for Spotify metadata 4 years ago
FlightlessMango d975278396
Dbus with spotify 4 years ago
jackun 2f034c6d1e
Use X11 loader functions instead of linking to X11 libs 4 years ago
jackun 049e960589
Add 'use_xnvctrl' feature to allow building without libXNVCtrl support 4 years ago
Lionel Landwerlin 1fc94600e9
vulkan/overlay: Add a workaround semaphore for application presenting without one
When an application calls vkQueuePresent() on a different queue than
the one we run our drawing on and it doesn't give a semaphore to wait
on, let's insert our own semaphore so that we don't race the
application's drawing.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2540
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3893>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3893>
4 years ago
jackun 32ae051434
Add Bethesda launcher to blacklist 4 years ago
Sporif c24d9015cd
Blacklist support
Initial blacklist: Battle.net.exe, EpicGamesLauncher.exe, IGOProxy.exe, IGOProxy64.exe, Origin.exe, Steam.exe

Signed-off-by: jackun <jack.un@gmail.com>
4 years ago
jackun cf17f70dab
Remove unused statistics related code 4 years ago
jackun e72a7bdd76
[config] Try to set notifier file descriptor to non-blocking mode; add start/stop_notifier functions
If setting to non-blocking fails, just closing the fd should kill it anyway
4 years ago
jackun 2ab386d70a
Fix double definition 4 years ago
FlightlessMango a84f5ef178 Show mangohud arch in hud 4 years ago
FlightlessMango c9558eec50 Merge branch 'xnvctrl' into develop 4 years ago
jackun ae3a155e22
Keep engine name per vulkan instance 4 years ago
jackun f92a2a07db
GiB not GB 4 years ago
jackun fbae1dfcc0
More checks for XNVCtrl support. Favor NVML but fallback to XNVCtrl if supported. 4 years ago
jackun 1915352c86
Draw versions after table so they don't get clipped 4 years ago
jackun 6ad6bffade
Use ImGui's DisplaySize so display size for layer positioning etc can be set the same way for vulkan and OpenGL 4 years ago
jackun 3d46ccafe1
Show OpenGL version below engine name too to avoid it getting clipped 4 years ago
jackun 8aa0783b4a
Show vulkan/opengl version
OpenGL glGetIntegerv(GL_[MAJOR|MINOR]_VERSION) don't work on versions < 3.0 though
4 years ago
FlightlessMango 8fb13e23e4 Resize window when reloading config 4 years ago
jackun a0f5cb56a2
[config] Guard overlay_params from the thread with mutex 4 years ago
jackun 34184abf2e
[config] loop in the notifier thread and reload configuration file if it is changed 4 years ago
FlightlessMango c5dad16612 Listen for modify on config file 4 years ago
FlightlessMango b0e1fe9321 [params] set targetFrameTime in params.cpp 4 years ago
jackun abef561573
Disable CPU stat(s) if it failed to initialize 4 years ago
FlightlessMango b3286cbe48 check if opengl/vulkan with is_vulkan bool 4 years ago
jackun 13e57578c3
Fix update_hud_info indentation 4 years ago
jackun 154380e056
Don't update time if not enabled 4 years ago
jackun 9a7a4d99e0
Don't update CPU freq/temp if not enabled 4 years ago
jackun 6bbc89a9cc
Don't update CPU stats if not enabled 4 years ago
jackun 16552b25e3 Don't update RAM/IO stats if not enabled 4 years ago
jackun 57f3b3470d
Remove param_unit() 4 years ago
FlightlessMango e24f5dfc8b added log_duration param and updated readme 4 years ago
FlightlessMango 8641392ca7 added MANGOHUD_FONT to params as font_file 4 years ago
FlightlessMango d1bdf71580 added MANGOHUD_OUTPUT to params as output_file 4 years ago
jackun 05d61ee77e
Init CPUStats just once 4 years ago
FlightlessMango e68dd48f3f forgot one refresh_config 4 years ago
FlightlessMango fe69ec2955 changed refresh_config to reload_cfg 4 years ago
jackun 373bba5fcf
Keep time outside the table or it gets clipped if using too fancy a format 4 years ago
FlightlessMango 8bf8723ad5 added param text_color 4 years ago
FlightlessMango 77b3033cc7 Removed frametime_alpha and replace it with an overall alpha for text and frametime 4 years ago
FlightlessMango 88ad5de2ab Fix so preloading doesn't break vulkan layer 4 years ago
FlightlessMango 163c76bea7 added param background_color 4 years ago
FlightlessMango 906a8cde23 added param frametime_color 4 years ago
FlightlessMango a2735693ba Merge opengl into develop 4 years ago
FlightlessMango 755558ecb9 added param io_color 4 years ago
FlightlessMango d8b3c3c81f params for changing color of cpu, gpu, vram, ram and engine text 4 years ago
jackun 5e4bd7b8c8
Keep time outside the table or it gets clipped if using too fancy a format 4 years ago
jackun b4f1402461 Right align value texts 4 years ago
jackun e881a1538a Pre-convert crosshair's color to ImGui's format 4 years ago
FlightlessMango 857dcf7fb8 use hmwon freq1/2 instead for amdgpu core/mem clocks 4 years ago
FlightlessMango 4d5f62386b added gpu mem and core clocks to hud 4 years ago
jackun f8398c3e7a Add I/O stats
Using /proc/self/io 'read_bytes' and 'write_bytes' fields which count only
reads/writes that hit the storage (i.e no cached reads).
4 years ago
FlightlessMango 534ca9416d Spruced up iostats and change to bool from custom 4 years ago
FlightlessMango 4847cb8e31 Using table for hud layout 4 years ago
jackun 2472e69205
Check if pApplicationInfo is null 4 years ago
jackun fad35b9540
Just check hwmon sysfs folder for cpu temp sensors 4 years ago
jackun 6bf37f8510
Add "time_format" parameter; update time string every "fps_sampling_period" interval
See std::put_time docs for supported formatting
4 years ago
FlightlessMango 58c7831d5c hud width correction 4 years ago
FlightlessMango 80cff1ac86 Fixed hud width not applying 4 years ago
jackun b91be85ff9
Use std::unordered_map and std::mutex instead for object mapping and related cleanups 4 years ago
jackun 54950853b5
Remove redundant 'no_display' code 4 years ago
jackun 8f66bd7d87
Set stats window height to ImGui::GetCursorPosY() 4 years ago
jackun 2fb0453e28
Create ImGui fonts per swapchain 4 years ago
FlightlessMango 099082affc Refresh config keybind 4 years ago
jackun 9053b63142
Allocate instance_data with "new" 4 years ago
jackun 80f29aad9d
Allow MANGOHUD_CONFIG to override configuration files' settings.
Use `MANGOHUD_CONFIG=some_setting=1` to skip reading the configuration files
and just use the settings specified with MANGOHUD_CONFIG.

Use `MANGOHUD_CONFIG=read_configs,...` to read configuration files too and
add other settings that you would like to override.
4 years ago
jackun 5c4816efa5
Unused instance_data 4 years ago
jackun 27848bd253
Don't crash if there's nothing to draw 4 years ago
FlightlessMango d8783d3002 Added time param 4 years ago
jackun b9ae979a05
Don't interpolate fps limit sleep overhead
Random hiccups and game pauses can make it go crazy otherwise.
4 years ago
FlightlessMango dba31e6a11 Set background alpha color to 1.0 4 years ago
FlightlessMango e947dae9ed Fixed fps limiter accuracy 4 years ago
FlightlessMango c73df54166 Added background_alpha param 4 years ago
FlightlessMango e81fa5776e Added crosshair_color param 4 years ago
FlightlessMango d79d06271f Repurposed no_display param 4 years ago
FlightlessMango 50cff923e8 Changed vram to display GB from MB 4 years ago
FlightlessMango 3c4fcda623 Added offset x/y in params 4 years ago
FlightlessMango a8e4ac84f9 Merge branch 'crosshair' 4 years ago
FlightlessMango 69ed9db4c1 Merge branch 'limiter' 4 years ago
jackun 1fc94f6db5
Remove unused histogram's get_stat() 4 years ago
Georg Lehmann 7a4ffe8206
Vulkan overlay: use the corresponding image index for each swapchain
pImageIndices should be a pointer to the current image index
otherwise every swapchain but the first one could have a wrong image index
4 years ago
FlightlessMango 784cb427ff Use params for keybinds 4 years ago
FlightlessMango e359058430 Fixed hud being wider than intended 4 years ago
jackun 5f6c3c9190
Fix ImGui::PopStyleColor() being in wrong place 4 years ago
FlightlessMango c5ea98a243 Added a crosshair and params for it 4 years ago
FlightlessMango be8dc8929d Don't use fps limiter unless limit is set 4 years ago
FlightlessMango 148d19422d Added vsync option 4 years ago
FlightlessMango cd131e0c39 Add fps_limit param 4 years ago
FlightlessMango a99720f311 Change to nanoseconds 4 years ago
FlightlessMango f38389b967 FPS limiter 4 years ago
FlightlessMango 4be6d4c748 Added frametime ms next to frametime graph 4 years ago
FlightlessMango bd4c402824 Added Frametime label 4 years ago
telans 1bc513f572
remove nvidiaSmiThread 4 years ago
jackun 97fcafd030
Check if amdgpu file handles are valid 4 years ago
Georg Lehmann 908d46d6ea
Correctly wait in the fragment stage until all semaphores are signaled
This fixes two issues:
- a crash if the application uses more than one semaphore for presenting because the driver expects one stage per semaphore
- the swapchain image could be not ready yet if the semaphores aren't signaled, \#946[1] is possible related

[1] https://gitlab.freedesktop.org/mesa/mesa/issues/946

Signed-off-by: jackun <jack.un@gmail.com>
4 years ago
jackun 3c8376588a
Init gpu stats when VkDevice gets created 4 years ago
FlightlessMango 35d8f7c829
add ram/vram param options 4 years ago
FlightlessMango beaac191d1
Displaying used ram and vram on the hud 4 years ago
FlightlessMango e3b380b970
changed mem color 4 years ago
FlightlessMango 14ad1e015a
Display memory stats on the hud 4 years ago
FlightlessMango d20a92a0c4 Write system info to log file 4 years ago
FlightlessMango 68599a02a3 param options for cpu_stats and gpu_stats 4 years ago
jackun bba8702ff3
Check if engine name is set 4 years ago
jackun 6d3d869586
Fix system info and stats parsing 4 years ago
telans 539e1bb4dc
saturate the colors a little 4 years ago
jackun ca0462f817
Revert "Fix Get*ProcAddr functions' exports"
This reverts commit 3f036dd3a0.
4 years ago
FlightlessMango dcb0dcd441 Merge branch 'dynamic_nvml' 4 years ago
FlightlessMango 3d711005d4 Merge branch 'cpu' 4 years ago
FlightlessMango 3d49422325 cleaning up 4 years ago
jackun 90416278e0
Total cpu periods 4 years ago
FlightlessMango c9e9c2feaf bring back cpu temp 4 years ago
FlightlessMango 1a60999243 New cpu implementation 4 years ago
jackun 3f036dd3a0
Fix Get*ProcAddr functions' exports 4 years ago
FlightlessMango ac719b2ffd Check if nvml is avaible on intel vendorID 4 years ago
FlightlessMango af17b20bd7 Use vendorID instead of deviceName to detect GPU 4 years ago
FlightlessMango 1b00d29792 Removed unused histogram 4 years ago
FlightlessMango 369b18eb07
Use nvml to display gpu values in hud 4 years ago
jackun b28e0d2606
Remove unused pipeline stats counters 4 years ago
telans b67a2aad16
Merge branch 'telans'
Remove unused python file
Fix includes
Add package build.sh option
4 years ago
FlightlessMango d3a588b0b0 Removed unused variables and fixed compiler warnings 4 years ago
telans e82e3721b7
update header location & duration_env 4 years ago
telans 0287920776
remove unused git_sha1.h 4 years ago
telans ae08d0cc21
Merge branch 'gui-color' 4 years ago
FlightlessMango e3008126f3 We don't need to push the default font 4 years ago
FlightlessMango af99e711b5 Reduced ImGui ItemSpacing 4 years ago
jackun ca78a59d54 Removed graph background, plotlines color to green 4 years ago
jackun 64fd81a471 Add Unispace as default font or load a font from file specified by envvar MANGOHUD_FONT
Could make built-in font configurable by including some other source file with font data instead of src/font_unispace.c
4 years ago
FlightlessMango dd78c02ed8 MangoHud Standalone
Co-authored-by: jackun <jack.un@gmail.com>
Co-authored-by: telans <telans@protonmail.com>
4 years ago