MangoHud
MangoHud copied to clipboard
Show GPU junction temperature
The GPU temperature printout is IMO flawed it shows what appears to be an average value instead of the junction temperature (hottest point on the die). On my RX 6600, the latter can easily be 10° higher than the former, so the difference is significant.
It should be an easy fix, by simply changing the temperature file from /sys/class/drm/card1/device/hwmon/hwmon4/temp1_input
to /sys/class/drm/card1/device/hwmon/hwmon4/temp2_input
. I've managed to get this working by changing line 687 of overlay.cpp
, but I also had to add getAmdGpuInfo();
at the end of amdgpu_get_metrics
(amdgpu.cpp
) - that's why I'm not making a PR. Presumably there are two systems used for getting temperatures and getAmdGpuInfo()
isn't used by default.
UPDATE:
I looked a bit deeper and found amdgpu_get_instant_metrics
(amdgpu.cpp
). I tried replacing metrics->gpu_temp_c = amdgpu_metrics.temperature_edge
with amdgpu_metrics.temperature_hotspot
but this didn't appear to help as they (erroneously) have the same value. These values seem to come from a system-written file so it's probably not MangoHud's fault.
I suggest to either display junction temp as default GPU temp or have an extra setting in the MangoHud configuration file to allow that. It might not be possible without using the hwmon
files so I'm not really sure at this point.
an average value instead of the junction temperature edge
And not all old cards have junction.
Test this https://github.com/flightlessmango/MangoHud/tree/amdgpu-tj
That appears to work, thanks. Weirdly it didn't show the junction temp when I initially built it but it worked after changing a random file and undoing the changes.
Sometime ago I've opened the issue #163 asking for this metrics. I belive that they provide useful information, and I agree that user must enable it manually if they want to show this info. I'm glad to see that more people shows interest in this feature too.
Any plan to have the possibility to see the junction temperature on the master
branch or, at least keep rebasing the amdgpu-tj
on the latest stable release tag?
this has been added with param gpu_junction_temp