Above all, we really don't need the gpu_busy_percent node, if the GPU
exposes a gpu_metrics node,
Although looking closer, the gpu_busy_percent check is meant for
something else - to distinguish between the card node (cardX) and the
card output node (cardX-output-foo).
To top it all up, the check at the very end implies that we can get a
case where gpu_metrics and gpu_busy_perfect is missing ... that's not
possible.
So instead, drop the early gpu_busy_perfect check and properly mandate
it later on.
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
No longer applicable, since the libdrm path is gone and hwmon is
required - either partially or in full.
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Currently we open the standalone busy, temp, gpu/memory clock and
power_usage nodes, even if gpu_metrics is present.
At the same time, we correctly ignore them when doing the read-only.
So just avoid opening them all together.
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Currently we can get the load and temp stats either from the standalone
nodes or from the gpu_metrics (binary) sysfs node.
Fix the next to handle that.
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
The code was added back in 2020 and seemingly never built. Just drop it
- if needed it can be git reverted at some point.
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Currently we pipeline a bunch of commands alike cat | grep | sed, there
we can do all that job with a single sed invocation - use that.
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Current one is some html gibberish and is practically unusable...
Oh look - neither mingw* toolchain file is actually hooked up into the
CI. We can do that with follow-up commit.
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Currently the CI jobs only builds on releases, which catches some of the
fallout.
We might get a proper CI at some point in the future.
v2: pass the -Dwerror=true directly into build.sh
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
For a while now there is an Arch PKBGUILD in the AUR. The in-tree one is
broken and does not build.
With that the Arch handling in build.sh is no longer used, alas as
requested I've left it since it is "useful for quicker MangoHud
development" :-P
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Currently we readout the data as string only to convert it to hex. In
the error case, we leak the fd for the given nodes.
Read the data as hex directly, error out if that fails and avoid the
leaks.
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Currently the order varies across the struct and constructor. As a nice
reminder GCC will throw a lovely warning at us. Fix the ordering.
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Otherwise we get a ton of warnings about unused function parameters.
The existing -Qunused-arguments seems to be clang specific.
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>