Which CPU temp sensor is correct?

I was having some fan noise issues after recent update. Of course I updated my BIOS to the latest version, but issues persisted. Spend half a day configuring fan curves in the BIOS and with Fan Control GUI in EOS. Then I noticed that there is the senror for CPUTIN, which reads a bit lower temperature than the other, Tctl or “k10temp” sensor, which is automatically selected when I set CPU group temp in my System Monitor Sensor widget on my top panel.

If I select the Tctl sensor, fans ramp up quite fast, even under light loads like watching youtube or my Plex. I’m thinking that can’t be right, cant it? On the other hand, GOverlay/MangoHUD also uses the Tctl sensor, or so it seems by comparing the temperature on the HUD and FanControl GUI.

Question is, which temperature should I base my fan curves on?

Here’s some logs incase that’s somehow important:

#################### inxi -Fxxc0z ########################

System:
  Kernel: 6.10.10-arch1-1 arch: x86_64 bits: 64 compiler: gcc v: 14.2.1
  Desktop: KDE Plasma v: 6.1.5 tk: Qt v: N/A wm: kwin_x11 dm: SDDM Distro: EndeavourOS
    base: Arch Linux
Machine:
  Type: Desktop Mobo: ASRock model: B550M-ITX/ac serial: <superuser required> UEFI: American
    Megatrends LLC. v: L3.46 date: 08/20/2024
Battery:
  Device-1: hidpp_battery_0 model: Logitech MX Keys Wireless Keyboard serial: <filter> charge: 100%
    (should be ignored) status: discharging
CPU:
  Info: 8-core model: AMD Ryzen 7 5700G with Radeon Graphics bits: 64 type: MT MCP arch: Zen 3
    rev: 0 cache: L1: 512 KiB L2: 4 MiB L3: 16 MiB
  Speed (MHz): avg: 3042 high: 3274 min/max: 400/4673 cores: 1: 3021 2: 3008 3: 3274 4: 3002
    5: 3021 6: 3005 7: 3008 8: 3003 9: 3005 10: 3003 11: 3003 12: 3095 13: 3105 14: 3020 15: 3086
    16: 3015 bogomips: 121419
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Graphics:
  Device-1: AMD Navi 21 [Radeon RX 6800/6800 XT / 6900 XT] vendor: Sapphire driver: amdgpu
    v: kernel arch: RDNA-2 pcie: speed: 16 GT/s lanes: 16 ports: active: HDMI-A-2 empty: DP-3, DP-4,
    DP-5, Writeback-1 bus-ID: 03:00.0 chip-ID: 1002:73bf
  Device-2: AMD Cezanne [Radeon Vega Series / Radeon Mobile Series] driver: amdgpu v: kernel
    arch: GCN-5 pcie: speed: 8 GT/s lanes: 16 ports: active: DP-1 empty: DP-2,HDMI-A-1
    bus-ID: 09:00.0 chip-ID: 1002:1638 temp: 50.0 C
  Display: x11 server: X.Org v: 21.1.13 with: Xwayland v: 24.1.2 compositor: kwin_x11 driver: X:
    loaded: amdgpu dri: radeonsi gpu: amdgpu display-ID: :0 screens: 1
  Screen-1: 0 s-res: 3440x1440 s-dpi: 96
  Monitor-1: DisplayPort-0 res: 3440x1440 dpi: 107 diag: 889mm (35")
  API: EGL v: 1.5 platforms: device: 0 drv: radeonsi device: 1 drv: radeonsi device: 2
    drv: swrast gbm: drv: kms_swrast surfaceless: drv: radeonsi x11: drv: radeonsi inactive: wayland
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 24.2.2-arch1.1 glx-v: 1.4
    direct-render: yes renderer: AMD Radeon Graphics (radeonsi renoir LLVM 18.1.8 DRM 3.57
    6.10.10-arch1-1) device-ID: 1002:1638
  API: Vulkan v: 1.3.295 surfaces: xcb,xlib device: 0 type: discrete-gpu driver: mesa radv
    device-ID: 1002:73bf device: 1 type: integrated-gpu driver: mesa radv device-ID: 1002:1638
Audio:
  Device-1: AMD Navi 21/23 HDMI/DP Audio driver: snd_hda_intel v: kernel pcie: speed: 16 GT/s
    lanes: 16 bus-ID: 03:00.1 chip-ID: 1002:ab28
  Device-2: AMD Renoir Radeon High Definition Audio driver: snd_hda_intel v: kernel pcie:
    speed: 8 GT/s lanes: 16 bus-ID: 09:00.1 chip-ID: 1002:1637
  Device-3: AMD Family 17h/19h HD Audio vendor: ASRock driver: snd_hda_intel v: kernel pcie:
    speed: 8 GT/s lanes: 16 bus-ID: 09:00.6 chip-ID: 1022:15e3
  Device-4: SteelSeries ApS Arctis Pro Wireless driver: hid-generic,snd-usb-audio,usbhid
    type: USB rev: 1.1 speed: 12 Mb/s lanes: 1 bus-ID: 3-2.3:5 chip-ID: 1038:1294
  API: ALSA v: k6.10.10-arch1-1 status: kernel-api
  Server-1: PipeWire v: 1.2.3 status: active with: 1: pipewire-pulse status: active
    2: wireplumber status: active 3: pipewire-alsa type: plugin 4: pw-jack type: plugin
Network:
  Device-1: Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet vendor: ASRock
    driver: r8169 v: kernel pcie: speed: 2.5 GT/s lanes: 1 port: e000 bus-ID: 06:00.0
    chip-ID: 10ec:8168
  IF: enp6s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
  Device-2: Intel Dual Band Wireless-AC 3168NGW [Stone Peak] driver: iwlwifi v: kernel pcie:
    speed: 2.5 GT/s lanes: 1 bus-ID: 07:00.0 chip-ID: 8086:24fb

I’m wanting to say its the k10temp but I am not positive I have always used this command to check my cpu temp and it appears fairly accurate
inxi -s | grep "System" | awk {'print $3, $4, $5'}

Reading the driver description gives a good explanation on how and why:
https://www.kernel.org/doc/html/latest/hwmon/k10temp.html

1 Like

This gives a completely different readout from the “Tctl sensor”, like 20 degrees less. :sweat_smile:

HWMonitor in BIOS shows really high temps too. I’m starting to believe that my water pump is dying. Wish I had a spare stock cooler right now, but no, silly me ordered the non-boxed processor. :sweat_smile:

1 Like

I switched from the tctl sensor/driver to zenpower-dkms, since that’s what was suggested on a Linux gaming forum. That does seem to display a more accurate temperature reading, hopefully a correct one. Testing in Guild Wars 2, CPU is drawing 8-30 watts and temps are climbing over 90 C. Normal temps should be around 60-70 C.

Now I need to go back to BIOS and change some things there, cause those settings seem to still override my fan curves set in the OS. If that doesn’t work, I’m checking if the water pump is clogged. If it is, then I’ll just go ahead and buy an aircooler. :expressionless:

1 Like

Found a solution to my initial problem, which was high temps. Did this by opening up my AIO, which had accumulated like a fingerprint size area worth of gunk in the copper plate area inside the loop. Explains the high temps. :smiley:

But, if anybody else wonders about which temp readout is correct on a Ryzen CPU, I highly recommend installing zenpower-dkms. It will show you a more realistic temperature, the same one which MangoHUD also shows by default.

Also, clean your AIOs every couple years if you know how. I already ordered an aircooler too, because I don’t want to be disassembling my AIO every couple years, plus NZXT AIO pumps are notorious for breaking down within 3 years. Air cooling is always more reliable and easier to deal with.

At the end of the day, had to do some software tuning and manual cleaning, but now my system runs whisper quiet at idle and still very quiet under load.

Thanks for the help everybody. Marking this as solved.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.