Commit Graph

332 Commits

Author SHA1 Message Date
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" 2020-04-11 00:34:33 +03:00
jackun
e5a256bfc0
Move DBus init to overlay_params so it can be enabled/disabled on the fly from a single place 2020-04-10 22:39:43 +03:00
FlightlessMango
d454ff43a2 Hide all hud elements on no_display 2020-04-05 13:20:15 +02:00
jackun
8024736253
Add DBus loader, combined ticker for Spotify metadata 2020-04-04 23:50:57 +03:00
FlightlessMango
d975278396
Dbus with spotify 2020-04-04 20:51:53 +03:00
jackun
2f034c6d1e
Use X11 loader functions instead of linking to X11 libs 2020-04-02 03:09:49 +03:00
jackun
049e960589
Add 'use_xnvctrl' feature to allow building without libXNVCtrl support 2020-03-30 22:48:56 +03:00
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>
2020-03-27 02:24:54 +02:00
jackun
32ae051434
Add Bethesda launcher to blacklist 2020-03-25 22:51:21 +02:00
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>
2020-03-25 17:11:33 +02:00
jackun
cf17f70dab
Remove unused statistics related code 2020-03-24 21:38:08 +02:00
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
2020-03-24 00:02:42 +02:00
jackun
2ab386d70a
Fix double definition 2020-03-23 21:19:03 +02:00
FlightlessMango
a84f5ef178 Show mangohud arch in hud 2020-03-23 20:12:11 +01:00
FlightlessMango
c9558eec50 Merge branch 'xnvctrl' into develop 2020-03-23 18:05:13 +01:00
jackun
ae3a155e22
Keep engine name per vulkan instance 2020-03-23 18:59:39 +02:00
jackun
f92a2a07db
GiB not GB 2020-03-21 21:47:50 +02:00
jackun
fbae1dfcc0
More checks for XNVCtrl support. Favor NVML but fallback to XNVCtrl if supported. 2020-03-20 16:36:00 +02:00
jackun
1915352c86
Draw versions after table so they don't get clipped 2020-03-18 18:55:51 +02:00
jackun
6ad6bffade
Use ImGui's DisplaySize so display size for layer positioning etc can be set the same way for vulkan and OpenGL 2020-03-17 15:00:20 +02:00
jackun
3d46ccafe1
Show OpenGL version below engine name too to avoid it getting clipped 2020-03-17 14:58:27 +02:00
jackun
8aa0783b4a
Show vulkan/opengl version
OpenGL glGetIntegerv(GL_[MAJOR|MINOR]_VERSION) don't work on versions < 3.0 though
2020-03-17 00:24:04 +02:00
FlightlessMango
8fb13e23e4 Resize window when reloading config 2020-03-16 18:41:48 +01:00
jackun
a0f5cb56a2
[config] Guard overlay_params from the thread with mutex 2020-03-16 18:52:03 +02:00
jackun
34184abf2e
[config] loop in the notifier thread and reload configuration file if it is changed 2020-03-16 18:35:01 +02:00
FlightlessMango
c5dad16612 Listen for modify on config file 2020-03-16 16:48:12 +01:00
FlightlessMango
b0e1fe9321 [params] set targetFrameTime in params.cpp 2020-03-15 17:09:03 +01:00
jackun
abef561573
Disable CPU stat(s) if it failed to initialize 2020-03-14 23:15:03 +02:00
FlightlessMango
b3286cbe48 check if opengl/vulkan with is_vulkan bool 2020-03-14 18:29:43 +01:00
jackun
13e57578c3
Fix update_hud_info indentation 2020-03-14 19:11:34 +02:00
jackun
154380e056
Don't update time if not enabled 2020-03-14 19:10:38 +02:00
jackun
9a7a4d99e0
Don't update CPU freq/temp if not enabled 2020-03-14 18:48:04 +02:00
jackun
6bbc89a9cc
Don't update CPU stats if not enabled 2020-03-14 18:41:50 +02:00
jackun
16552b25e3 Don't update RAM/IO stats if not enabled 2020-03-14 18:38:18 +02:00
jackun
57f3b3470d
Remove param_unit() 2020-03-13 18:25:22 +02:00
FlightlessMango
e24f5dfc8b added log_duration param and updated readme 2020-03-13 16:27:45 +01:00
FlightlessMango
8641392ca7 added MANGOHUD_FONT to params as font_file 2020-03-13 16:18:47 +01:00
FlightlessMango
d1bdf71580 added MANGOHUD_OUTPUT to params as output_file 2020-03-13 16:06:57 +01:00
jackun
05d61ee77e
Init CPUStats just once 2020-03-13 16:08:36 +02:00
FlightlessMango
e68dd48f3f forgot one refresh_config 2020-03-13 15:07:44 +01:00
FlightlessMango
fe69ec2955 changed refresh_config to reload_cfg 2020-03-13 14:57:11 +01:00
jackun
373bba5fcf
Keep time outside the table or it gets clipped if using too fancy a format 2020-03-11 12:11:16 +02:00
FlightlessMango
8bf8723ad5 added param text_color 2020-03-11 06:20:18 +01:00
FlightlessMango
77b3033cc7 Removed frametime_alpha and replace it with an overall alpha for text and frametime 2020-03-11 06:07:41 +01:00
FlightlessMango
88ad5de2ab Fix so preloading doesn't break vulkan layer 2020-03-10 08:27:27 +01:00
FlightlessMango
163c76bea7 added param background_color 2020-03-10 07:48:04 +01:00
FlightlessMango
906a8cde23 added param frametime_color 2020-03-10 06:30:37 +01:00
FlightlessMango
a2735693ba Merge opengl into develop 2020-03-10 06:19:18 +01:00
FlightlessMango
755558ecb9 added param io_color 2020-03-10 05:01:31 +01:00
FlightlessMango
d8b3c3c81f params for changing color of cpu, gpu, vram, ram and engine text 2020-03-10 04:51:27 +01:00
jackun
5e4bd7b8c8
Keep time outside the table or it gets clipped if using too fancy a format 2020-03-07 14:10:52 +02:00
jackun
b4f1402461 Right align value texts 2020-03-07 02:08:01 +01:00
jackun
e881a1538a Pre-convert crosshair's color to ImGui's format 2020-03-07 02:08:01 +01:00
FlightlessMango
857dcf7fb8 use hmwon freq1/2 instead for amdgpu core/mem clocks 2020-03-07 02:08:01 +01:00
FlightlessMango
4d5f62386b added gpu mem and core clocks to hud 2020-03-07 02:08:01 +01:00
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).
2020-03-07 02:07:24 +01:00
FlightlessMango
534ca9416d Spruced up iostats and change to bool from custom 2020-03-07 02:06:40 +01:00
FlightlessMango
4847cb8e31 Using table for hud layout 2020-03-07 02:06:40 +01:00
jackun
2472e69205
Check if pApplicationInfo is null 2020-03-07 02:29:31 +02:00
jackun
fad35b9540
Just check hwmon sysfs folder for cpu temp sensors 2020-03-05 09:52:14 +02:00
jackun
6bf37f8510
Add "time_format" parameter; update time string every "fps_sampling_period" interval
See std::put_time docs for supported formatting
2020-03-02 22:53:43 +02:00
FlightlessMango
58c7831d5c hud width correction 2020-02-29 01:38:40 +01:00
FlightlessMango
80cff1ac86 Fixed hud width not applying 2020-02-29 01:16:41 +01:00
jackun
b91be85ff9
Use std::unordered_map and std::mutex instead for object mapping and related cleanups 2020-02-20 01:03:35 +02:00
jackun
54950853b5
Remove redundant 'no_display' code 2020-02-18 15:36:20 +02:00
jackun
8f66bd7d87
Set stats window height to ImGui::GetCursorPosY() 2020-02-18 14:35:58 +02:00
jackun
2fb0453e28
Create ImGui fonts per swapchain 2020-02-18 14:21:22 +02:00
FlightlessMango
099082affc Refresh config keybind 2020-02-18 12:04:59 +01:00
jackun
9053b63142
Allocate instance_data with "new" 2020-02-18 11:49:09 +02:00
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.
2020-02-18 09:24:22 +02:00
jackun
5c4816efa5
Unused instance_data 2020-02-13 20:54:17 +02:00
jackun
27848bd253
Don't crash if there's nothing to draw 2020-02-12 19:58:01 +02:00
FlightlessMango
d8783d3002 Added time param 2020-02-12 18:24:00 +01:00
jackun
b9ae979a05
Don't interpolate fps limit sleep overhead
Random hiccups and game pauses can make it go crazy otherwise.
2020-02-12 13:58:13 +02:00
FlightlessMango
dba31e6a11 Set background alpha color to 1.0 2020-02-12 12:43:46 +01:00
FlightlessMango
e947dae9ed Fixed fps limiter accuracy 2020-02-12 05:59:18 +01:00
FlightlessMango
c73df54166 Added background_alpha param 2020-02-12 04:51:08 +01:00
FlightlessMango
e81fa5776e Added crosshair_color param 2020-02-11 09:21:23 +01:00
FlightlessMango
d79d06271f Repurposed no_display param 2020-02-11 06:10:10 +01:00
FlightlessMango
50cff923e8 Changed vram to display GB from MB 2020-02-11 02:50:33 +01:00
FlightlessMango
3c4fcda623 Added offset x/y in params 2020-02-10 17:37:37 +01:00
FlightlessMango
a8e4ac84f9 Merge branch 'crosshair' 2020-02-10 17:08:15 +01:00
FlightlessMango
69ed9db4c1 Merge branch 'limiter' 2020-02-10 17:01:03 +01:00
jackun
1fc94f6db5
Remove unused histogram's get_stat() 2020-02-10 12:42:44 +02:00
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
2020-02-10 12:38:05 +02:00
FlightlessMango
784cb427ff Use params for keybinds 2020-02-09 12:26:41 +01:00
FlightlessMango
e359058430 Fixed hud being wider than intended 2020-02-09 09:25:00 +01:00
jackun
5f6c3c9190
Fix ImGui::PopStyleColor() being in wrong place 2020-02-08 20:32:33 +02:00
FlightlessMango
c5ea98a243 Added a crosshair and params for it 2020-02-08 03:55:39 +01:00
FlightlessMango
be8dc8929d Don't use fps limiter unless limit is set 2020-02-08 01:59:26 +01:00
FlightlessMango
148d19422d Added vsync option 2020-02-07 13:12:58 +01:00
FlightlessMango
cd131e0c39 Add fps_limit param 2020-02-07 12:14:59 +01:00
FlightlessMango
a99720f311 Change to nanoseconds 2020-02-07 12:01:20 +01:00
FlightlessMango
f38389b967 FPS limiter 2020-02-07 11:46:12 +01:00
FlightlessMango
4be6d4c748 Added frametime ms next to frametime graph 2020-02-07 00:00:40 +01:00
FlightlessMango
bd4c402824 Added Frametime label 2020-02-06 23:58:45 +01:00
telans
1bc513f572
remove nvidiaSmiThread 2020-02-06 18:45:32 +13:00
jackun
97fcafd030
Check if amdgpu file handles are valid 2020-02-05 22:37:03 +02:00
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>
2020-02-05 22:37:03 +02:00
jackun
3c8376588a
Init gpu stats when VkDevice gets created 2020-02-05 22:37:03 +02:00
FlightlessMango
35d8f7c829
add ram/vram param options 2020-02-05 14:16:16 +02:00
FlightlessMango
beaac191d1
Displaying used ram and vram on the hud 2020-02-05 14:16:16 +02:00
FlightlessMango
e3b380b970
changed mem color 2020-02-05 14:16:15 +02:00
FlightlessMango
14ad1e015a
Display memory stats on the hud 2020-02-05 14:16:15 +02:00
FlightlessMango
d20a92a0c4 Write system info to log file 2020-02-05 07:07:23 +01:00
FlightlessMango
68599a02a3 param options for cpu_stats and gpu_stats 2020-02-05 01:06:10 +01:00
jackun
bba8702ff3
Check if engine name is set 2020-02-05 00:43:32 +02:00
jackun
6d3d869586
Fix system info and stats parsing 2020-02-04 23:23:01 +02:00
telans
539e1bb4dc
saturate the colors a little 2020-02-04 20:58:35 +13:00
jackun
ca0462f817
Revert "Fix Get*ProcAddr functions' exports"
This reverts commit 3f036dd3a0.
2020-02-03 02:58:43 +02:00
FlightlessMango
dcb0dcd441 Merge branch 'dynamic_nvml' 2020-02-02 02:57:48 +01:00
FlightlessMango
3d711005d4 Merge branch 'cpu' 2020-02-02 02:53:58 +01:00
FlightlessMango
3d49422325 cleaning up 2020-02-02 02:21:00 +01:00
jackun
90416278e0
Total cpu periods 2020-02-02 02:14:08 +02:00
FlightlessMango
c9e9c2feaf bring back cpu temp 2020-02-02 01:09:45 +01:00
FlightlessMango
1a60999243 New cpu implementation 2020-02-02 00:55:24 +01:00
jackun
3f036dd3a0
Fix Get*ProcAddr functions' exports 2020-02-01 23:41:15 +02:00
FlightlessMango
ac719b2ffd Check if nvml is avaible on intel vendorID 2020-02-01 22:09:35 +01:00
FlightlessMango
af17b20bd7 Use vendorID instead of deviceName to detect GPU 2020-02-01 22:07:19 +01:00
FlightlessMango
1b00d29792 Removed unused histogram 2020-02-01 02:45:10 +01:00
FlightlessMango
369b18eb07
Use nvml to display gpu values in hud 2020-01-30 21:23:47 +02:00
jackun
b28e0d2606
Remove unused pipeline stats counters 2020-01-30 11:19:25 +02:00
telans
b67a2aad16
Merge branch 'telans'
Remove unused python file
Fix includes
Add package build.sh option
2020-01-29 18:40:26 +00:00
FlightlessMango
d3a588b0b0 Removed unused variables and fixed compiler warnings 2020-01-29 16:37:41 +01:00
telans
e82e3721b7
update header location & duration_env 2020-01-29 23:24:46 +13:00
telans
0287920776
remove unused git_sha1.h 2020-01-29 21:35:09 +13:00
telans
ae08d0cc21
Merge branch 'gui-color' 2020-01-28 23:29:16 +00:00
FlightlessMango
e3008126f3 We don't need to push the default font 2020-01-28 12:59:09 +01:00
FlightlessMango
af99e711b5 Reduced ImGui ItemSpacing 2020-01-28 12:58:18 +01:00
jackun
ca78a59d54 Removed graph background, plotlines color to green 2020-01-28 09:03:24 +02:00
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
2020-01-28 08:58:04 +02:00
FlightlessMango
dd78c02ed8 MangoHud Standalone
Co-authored-by: jackun <jack.un@gmail.com>
Co-authored-by: telans <telans@protonmail.com>
2020-01-28 05:11:05 +01:00