MangoHud icon indicating copy to clipboard operation
MangoHud copied to clipboard

Show GPU junction temperature

Open ThatCoolCoder opened this issue 2 years ago • 2 comments

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.

ThatCoolCoder avatar May 13 '22 06:05 ThatCoolCoder

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

jackun avatar May 13 '22 18:05 jackun

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.

ThatCoolCoder avatar May 13 '22 22:05 ThatCoolCoder

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.

EduFrazao avatar Oct 29 '22 14:10 EduFrazao

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?

leinardi avatar Jan 25 '23 21:01 leinardi

this has been added with param gpu_junction_temp

flightlessmango avatar Jun 19 '23 13:06 flightlessmango