MangoHud icon indicating copy to clipboard operation
MangoHud copied to clipboard

Stopped displaying the watt consumption sensor for the GPU and CPU.

Open arspacer opened this issue 3 months ago • 1 comments

Describe the bug Stopped displaying GPU watt consumption after updating to the current version. Also does not show CPU watt consumption; it has never shown it for some reason, regardless of the MangoHud version.

List relevant hardware/software information

  • Void Linux x86_64 Kernel: Linux 6.12.49_1
  • MangoHud version v0.8.1
  • GPU: AMD Radeon RX 580 Series 8GB

To Reproduce Steps to reproduce the behavior:

  1. Install sudo xbps-install -S MangoHud
  2. Register in the Steam launch option: mangohud %command%
  3. Used different presets (via Shift_R+F10) and tried my own configurations to display the wattage consumption for the CPU and GPU.
  4. As a result, the consumption meters for the CPU and GPU are not displayed.

Expected behavior I installed it, launched it, everything should work, but I couldn't get it to run correctly so that everything would work :(

Screenshots Image

arspacer avatar Sep 25 '25 22:09 arspacer

cpu power requires intervention documented in readme. Do you have the ability to test latest git mangohud to see if gpu power has already been fixed?

flightlessmango avatar Sep 27 '25 21:09 flightlessmango

@flightlessmango Same issus here. Mangohud can't display GPU power but nvtop/amdgpu_top can display it normally.

List relevant hardware/software information

  • Linux Distribution: Nobara Linux 43
  • Kernel: 6.17.11-200.nobara.fc43.x86_64
  • MangoHud version: 0.8.2-4.20251205git1115898.fc43
  • GPU: AMD RX 590

I ran mangohud under debug mode and log shows: [MANGOHUD] [debug] [amdgpu.cpp:474] Failed to open gpu_metrics at '/sys/bus/pci/devices/0000:01:00.0/gpu_metrics' I think the problem is Old AMD cards don't have gpu_metrics info but use older hwmon info for status.

And for temperature Mangohud did fallback to use hwmon info. [debug] [cpu.cpp:628] hwmon: using input: /sys/class/hwmon/hwmon2/temp1_input Selected GPU 0: AMD Radeon RX 590 Series (RADV POLARIS10), type: DiscreteGpu

So I think why not fallback to /hwmon/hwmon1/power1_input and /hwmon/hwmon1/power1_average to display GPU power if gpu_metrics is unavailable? And for my case, I only have power1_input which path is /sys/class/drm/card1/device/hwmon/hwmon1/power1_input. There are also someone only have power1_average so maybe both fallback is needed for proper display.

DanAlex121 avatar Dec 13 '25 04:12 DanAlex121

And for anyone need a instant fix, a temporary (and ugly) AI generated solution could be

# Disable the default broken power reading
# gpu_power

# Create a custom entry
exec=bash -c "read v < /sys/class/drm/card1/device/hwmon/hwmon1/power1_input; echo \$((v/1000000)).\$((v%1000000/100000)) W"

or with awk

exec=cat /sys/class/drm/card1/device/hwmon/hwmon1/power1_input | awk '{printf "%.1f W\n", $1/1000000}'

preview:

Image

DanAlex121 avatar Dec 13 '25 05:12 DanAlex121