Commit Graph

1501 Commits

Author SHA1 Message Date
FlightlessMango
f9cfdeb080 Add gpu throttling status
Co-authored-by: Martin Roukala <martin.roukala@mupuf.org>
2022-05-03 11:00:05 +02:00
FlightlessMango
ae85730448 Improve amdgpu polling
Co-authored-by: Martin Roukala <martin.roukala@mupuf.org>
2022-05-02 11:45:05 +02:00
FlightlessMango
350dca5d21 Dynamic width when fps_only 2022-04-26 18:57:37 +02:00
jackun
e4b23c937e
Deal with disappearing cpus
Reinit if cpu is brought offline/online, e.g. `echo 0 > /sys/devices/system/cpu/cpu1/online`

Fix #737
2022-04-25 10:29:15 +03:00
FlightlessMango
5349226fa5 amdgpu: average load over .5s 2022-04-23 16:34:35 +02:00
Alessandro Toia
06e3e9f663 Remove frametime when using fps_only param 2022-04-20 17:30:32 -07:00
FlightlessMango
4f9d870c72 fan: add some checks 2022-04-04 07:59:21 +02:00
FlightlessMango
66876b79f5 fix typo in fan element 2022-04-04 07:40:22 +02:00
FlightlessMango
65e70c9cfb fan param 2022-04-04 07:07:31 +02:00
jackun
425b98ae9a
[dbus] Fix trying to deinit non-active service(s)
Also, don't log with spdlog. It's already dead by then probably.
2022-04-02 00:52:45 +03:00
jackun
1f90b0b2aa
Revert "overlay: remove HUDElements.params setter"
This reverts commit 14ddc9563f.

HUDElements.params gets stale. Needs a proper fix though.
2022-04-01 21:51:18 +03:00
jackun
3ee1048acf Check if amdgpu gpu_metrics can be read and do some sanity-checks 2022-03-31 09:04:11 +03:00
William Pettersson
f4081d46f5 Detail option disabling in README
Make it more clear/explicit in the README exactly how to disable the default options
2022-03-30 10:27:17 +03:00
jackun
c66d4514a2
Merge pull request #707 from evelikov/mangoapp-fixes
Various mangoapp fixes, et al
2022-03-30 10:21:39 +03:00
Emil Velikov
e50a969586
hud_elements: one assignment per line
Stay consistent with the rest of the project.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-03-30 10:20:29 +03:00
Emil Velikov
14ddc9563f
overlay: remove HUDElements.params setter
HUDElements.params is already set in the parse_overlay_config() call
before we even get here.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-03-30 10:20:29 +03:00
Emil Velikov
1dfb14da47
overlay_params: make parse_overlay_env() static
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-03-30 10:20:29 +03:00
Emil Velikov
6f85e388e5
overlay_params: mutate log_interval just after parsing
Currently we mutate the log_interval (if mangoapp is built), within the
logger itself. Move that to parse_overlay_config() where the actual
value is being parsed/set.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-03-30 10:20:29 +03:00
Emil Velikov
2b7db32f54
Const annotate overlay_params& across the board
Most of the API does not modify it, so annotate it as const.
This makes it earlier to reason what's happening.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-03-30 10:20:27 +03:00
Emil Velikov
f8e9ecb9fe
overlay: remove unused calculate_benchmark_data() declaration
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-03-30 10:18:46 +03:00
Emil Velikov
9639377694
overlay: annotate render_benchmark() as static
Function is used solely within the compilation unit.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-03-30 10:18:46 +03:00
Emil Velikov
5a53ad010f
overlay: position_layer() takes an immutable window_size
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-03-30 10:18:43 +03:00
Emil Velikov
1e840f286b
mangohud: initialize the window_size
This one seems janky - other frontends (glx/egl LD_PRELOAD, Vulkan)
init their own global window_size.

Although in reality we use the initial data solely to set the imgui
"window" position and we immediatelly overwrite it, with the follow-up
call render_imgui().

Odds are this won't fix the glitchy (re)sizes but it's a step in the
right direction.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-03-30 10:17:45 +03:00
Emil Velikov
74e83c0bba
mangoapp: iconify/restore the window, don't destroy it
Currently we're destroying the window, from under the glfw's framework
feet.

Basically we do a use-after-free, as glfwWindowShouldClose() is called
and due to some miracle we don't crash out.

Since we suspend all rendering, there's no need to actually destroy the
window - just iconify/restore it. A simple show/hide was attempted but
empirically did not work.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-03-30 10:17:45 +03:00
Emil Velikov
40a1758518
mangoapp: reuse shutdown() helper
Use the helper across the board, instead of open-coding it.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-03-30 10:17:45 +03:00
Emil Velikov
fc7a426d67
mangoapp: explicitly handle 0 over the protocol
Receiving 0 indicates no-op/keep as-is. Add a trivial self-describing
two-liner.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-03-30 10:17:45 +03:00
Emil Velikov
f2b991cccd
mangoapp: make internal function static
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-03-30 10:17:45 +03:00
Emil Velikov
8482ca00fa
mangoapp: make mangoapp_paused, msgid static
Both variables are used within the app alone - make them static to that
unit.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-03-30 10:17:45 +03:00
Emil Velikov
403b0f2154
mangoapp: remove unused ctrl_msgid
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-03-30 10:17:45 +03:00
Emil Velikov
5400332d5a
mangoapp: whitespace fixes
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-03-30 10:17:45 +03:00
Emil Velikov
5e53342f6c
mangohudctl: rework argv handling, always send valid data
Currently, if the user sets attribute we send dummy data to mangohud.
Avoid that by pulling the attrib handling into main and avoiding the
duplicate attribute name checking.

Kill off the no-longer relevant TODO while we're here.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-03-30 10:17:44 +03:00
jackun
f4ea65429e
No frame time for first frame
We don't know when it started to render, so...
2022-03-29 13:04:18 +03:00
jackun
a13b041d1d
Fps limit: simplify converting frame time back to fps 2022-03-29 13:00:44 +03:00
jackun
d2d6787568
Cleanup some header inclusions 2022-03-29 09:33:26 +03:00
jackun
45113bb7d2
Specify fileChanged argument type 2022-03-29 09:33:25 +03:00
jackun
73da29d4ad
Try to init spdlog a bit earlier 2022-03-29 09:33:21 +03:00
jackun
2f5efc320a
Move FpsLimiter to overlay.cpp 2022-03-24 12:32:51 +02:00
jackun
a26e6325cc
[dbus] Use GameMode portal inside flatpak 2022-03-24 12:06:40 +02:00
jackun
906542f587
Add frame count param 2022-03-24 08:41:01 +02:00
jackun
bac50e42d5 Add frame count 2022-03-23 09:33:40 +02:00
FlightlessMango
3f92e10c14 mangoapp: fix broken fsr sharpness 2022-03-20 08:00:11 +01:00
FlightlessMango
e6adae8489 mangoapp: fixing some warnings 2022-03-19 22:23:59 +01:00
FlightlessMango
284ae0da2c mangoapp: layer: remove unused functions 2022-03-17 00:47:12 +01:00
FlightlessMango
529afdddf8 pkgbuild: don't prepend of append libdir 2022-03-15 23:53:11 +01:00
FlightlessMango
e556762890 pkgbuild: add nlohmann_json 2022-03-15 23:20:35 +01:00
FlightlessMango
4341843117 nlohmann_json wrap 2022-03-15 22:56:36 +01:00
FlightlessMango
0e680f8f7d Add PKGBUILD 2022-03-15 22:30:10 +01:00
FlightlessMango
7df8918c42 mangoapp: layer: append libdir to json 2022-03-15 22:29:51 +01:00
jackun
11142b5b2c
Merge pull request #703 from evelikov/misc-mixes
Remove libdrm_amdgpu and other unnecessary code
2022-03-15 19:47:48 +02:00
FlightlessMango
d4064bf6b7 mangoapp: layer: remove unused stuff 2022-03-14 20:44:46 +01:00