flightlessmango / MangoHud

A Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load and more. Discord: https://discordapp.com/invite/Gj5YmBb
MIT License
6.38k stars 284 forks source link

MangoHud Intel GPU metrics #1082

Open flightlessmango opened 1 year ago

flightlessmango commented 1 year ago

This issue is for tracking the progress and issues with Intel GPU metrics. dGPU and iGPU.

Current state

Cris-lml007 commented 10 months ago

this: sudo setcap cap_perfmon=+ep /usr/bin/intel_gpu_top, it did not work for me, I saw that others do work, because it can be?

flightlessmango commented 10 months ago

What mangohud version are you using?

Cris-lml007 commented 10 months ago

version 0.7.0

nokia8801 commented 8 months ago

It does not work for me either with sudo setcap cap_perfmon=+ep /usr/bin/intel_gpu_top.

getcap /usr/bin/intel_gpu_top shows it is applied correctly. /usr/bin/intel_gpu_top cap_perfmon=ep

Failed to initialize PMU! (Permission denied)

When running as a normal user CAP_PERFMON is required to access performance
monitoring. See "man 7 capabilities", "man 8 setcap", or contact your
distribution vendor for assistance.

More information can be found at 'Perf events and tool security' document:
https://www.kernel.org/doc/html/latest/admin-guide/perf-security.html
[2024-01-22 15:52:48.046] [MANGOHUD] [info] [intel.cpp:74] Missing permissions for 'intel_gpu_top'
[2024-01-22 15:52:48.046] [MANGOHUD] [info] [intel.cpp:76] Disabling gpu_stats

MangoHud 0.7.0-2+ Arch Linux GNOME 45.3 on Wayland Linux 6.7.0-arch3-1

tazz4843 commented 7 months ago

MangoHud is only able to run intel_gpu_top unhindered outside of proton/runtime In order for us to run intel_gpu_top you need to have flatpak installed and set sniper runtime to beta

These two points seem to be fixed, I have everything working in Proton 8.0-5, v0.7.0-2+ with no hitches. GPU load and frequency function without issues.

Only major remaining thing that would be nice is GPU power draw.

kira-bruneau commented 4 months ago

I was just wondering, is there a specific reason why intel gpu metrics are collected with intel_gpu_top? It looks like it should be possible to obtain the same stats through the drm & hwmon kernel interfaces, like what's done in resources: https://github.com/nokyan/resources/blob/v1.4.0/src/utils/gpu/intel.rs#L38.

That way you wouldn't need to rely on intel_gpu_top being installed and having it setcap'd.

flightlessmango commented 4 months ago

is there a specific reason why intel gpu metrics are collected with intel_gpu_top

Most of these metrics required root for access and as a shared library we're not able to access root things without a middle man program

jcsstelar commented 1 month ago

Hi hi, after upgrading to 0.7.2 from 0.7.1 (flatpak) my GPU % use is always 0. I have an iGPU that is HD610. Im with ubuntu 22.04.4 and I use MangoHud with retroarch, lutris and also steam, not sure if I can help, Im new to linux. Love your work <3

zeptic99 commented 1 month ago

Hi hi, after upgrading to 0.7.2 from 0.7.1 (flatpak) my GPU % use is always 0. I have an iGPU that is HD610. Im with ubuntu 22.04.4 and I use MangoHud with retroarch, lutris and also steam, not sure if I can help, Im new to linux. Love your work <3

Same, using Intel Arc a380.

KF-Art commented 2 days ago

Setcappingintel_gpu_top made it show the usage percentage, but it only works if I'm running a OpenGL game. If I use Vulkan, it will remain at 0%. This happens as well if the game is running with the card that was not used to start Xorg. For example, If I'm using my dGPU to start Xorg and I start a game using the iGPU (both Intel, of course), it will remain at 0%. Maybe here the -d flag is needed?

I'm using Intel Iris Xe as iGPU and Intel Iris Xe MAX as dGPU (both working with i915 driver). OS: Void Linux x86_64. Kernel: 6.11.0_1 Mesa version: 24.1.5_1 Flatpak is not being used. This behavior also happens with Wine, emulators like Dolphin or native games like Slime Rancher Demo (running through Steam).

eclairevoyant commented 2 days ago

pretty sure igt doesn't support xe yet, unless I've missed some recent release or such.

KF-Art commented 2 days ago

pretty sure igt doesn't support xe yet, unless I've missed some recent release or such.

Well, at least in my case it seems to work correctly. I don't know if all features are supported yet, though.

imagen

imagen

(The second one is the Intel Iris Xe MAX discrete GPU).

But if I use the Xe driver instead of i915, it is only able to show the iGPU metrics. When I try to see dGPU metrics, it gives me this error:

Failed to detect engines! (No such file or directory)
(Kernel 4.16 or newer is required for i915 PMU support.)