[RESPONDED] Sensors Availability Linux vs Windows

Hi,

yesterday i booted a windows for the first time on my shiny new framework 16. Just out of curiosity i started HWInfo and was blown to pieces how much sensor information is available on windows.

Does anyone know why we barely have any information for our hardware on linux? I just dont get it. Maybe someone from the framework linux team knows something?

Best regards

2 Likes

The same sensors are available on linux, naturally, but I’ve yet to find a package that puts them all in one place like how HWInfo64 does it.

3 Likes

As other comment said, same sensors available to the OS.
Perhaps use lm-sensors.
Which of these sensors do you truly want though? Only ones I end up looking at is battery wattage and CPU temp, which are both easy to find on Linux.

1 Like

htop, nvtop, and btop have been able to get me all the things I use personally.

1 Like

Hi :slight_smile:

Yeah, that is defintly a problem. Sadly I’m cant programm good enough or have the time for such a project.

Do you have information supporting this claim? I would really like to know this - I’m activly searching for the information.

Also please take a look at my comparison from the mentioned tools - I think its not even close to HWINFO.

Thats really nice and I’m happy for you - Sadly I need more information.


Linux

lm-sensors

amdgpu-pci-c100
Adapter: PCI adapter
vddgfx:      905.00 mV 
vddnb:       668.00 mV 
edge:         +28.0°C  
PPT:           5.02 W  (avg =   4.25 W)

BAT1-acpi-0
Adapter: ACPI interface
in0:          15.31 V  
curr1:       954.00 mA 


k10temp-pci-00c3
Adapter: PCI adapter
Tctl:         +31.4°C  


acpitz-acpi-0
Adapter: ACPI interface
temp1:        +31.8°C  
temp2:        +31.8°C  
temp3:        +32.8°C  
temp4:        +30.8°C  

htop

Core Clock
Core Temperature

nvtop

GPU Core Clock
GPU Memory Clock
GPU Temp (not specified which one)
GPU Power
GPU Utilization %
GPU Memory Utilization

turbostat

Core Number
CPU Number
Avg_MHz
Busy%
Bzy_MHz
TSC_MHz
IPC
IRQ
POLL
C1
C2
C3
POLL%
C1%
C2%
C3%
CorWatt
PkgWatt

Windows
hwinfo

Virtual Memory assigned [MB]
Virtual Memory available [MB]
Auslastung des virtuellen Speichers [%]
Physical Memory assigned [MB]
Physical Memory available [MB]
Utilization of physical memory [%]
Utilization of swap file [%]

Core VIDs - Voltage (avg) [V]
Core 0 VID - Voltage [V]
Core 1 VID - Voltage [V]
Core 2 VID - Voltage [V]
Core 3 VID - Voltage [V]
Core 4 VID - Voltage [V]
Core 5 VID - Voltage [V]
Core 6 VID - Voltage [V]
Core 7 VID - Voltage [V]

Core-Clock (avg) [MHz]
Core 0 Clock (perf #7) [MHz]
Core 1 Clock (perf #1) [MHz]
Core 2 Clock (perf #4) [MHz]
Core 3 Clock (perf #6) [MHz]
Core 4 Clock (perf #3) [MHz]
Core 5 Clock (perf #1) [MHz]
Core 6 Clock (perf #2) [MHz]
Core 7 Clock (perf #5) [MHz]

Bus clock [MHz]

Effective Core Clock (avg) [MHz]
Core 0 T0 Effective Clock [MHz]
Core 0 T1 Effective Clock [MHz]
Core 1 T0 Effective Clock [MHz]
Core 1 T1 Effective Clock [MHz]
Core 2 T0 Effective Clock [MHz]
Core 2 T1 Effective Clock [MHz]
Core 3 T0 Effective Clock [MHz]
Core 3 T1 Effective Clock [MHz]
Core 4 T0 Effective Clock [MHz]
Core 4 T1 Effective Clock [MHz]
Core 5 T0 Effective Clock [MHz]
Core 5 T1 Effective Clock [MHz]
Core 6 T0 Effective Clock [MHz]
Core 6 T1 Effective Clock [MHz]
Core 7 T0 Effective Clock [MHz]
Core 7 T1 Effective Clock [MHz]

Average effective Clock [MHz]
Core Utilization (avg) [%]
Core 0 T0 Utilization [%]
Core 0 T1 Utilization [%]
Core 1 T0 Utilization [%]
Core 1 T1 Utilization [%]
Core 2 T0 Utilization [%]
Core 2 T1 Utilization [%]
Core 3 T0 Utilization [%]
Core 3 T1 Utilization [%]
Core 4 T0 Utilization [%]
Core 4 T1 Utilization [%]
Core 5 T0 Utilization [%]
Core 5 T1 Utilization [%]
Core 6 T0 Utilization [%]
Core 6 T1 Utilization [%]
Core 7 T0 Utilization [%]
Core 7 T1 Utilization [%]

Maximum CPU/Thread Utilization [%]
Overall CPU Utilization [%]

Core Efficency (avg) [%]
Core 0 T0 Efficency [%]
Core 0 T1 Efficency [%]
Core 1 T0 Efficency [%]
Core 1 T1 Efficency [%]
Core 2 T0 Efficency [%]
Core 2 T1 Efficency [%]
Core 3 T0 Efficency [%]
Core 3 T1 Efficency [%]
Core 4 T0 Efficency [%]
Core 4 T1 Efficency [%]
Core 5 T0 Efficency [%]
Core 5 T1 Efficency [%]
Core 6 T0 Efficency [%]
Core 6 T1 Efficency [%]
Core 7 T0 Efficency [%]
Core 7 T1 Efficency [%]
Total CPU Efficency [%]

Core Clock Multiplicator (avg) [x]
Core 0 Multiplicator [x]
Core 1 Multiplicator [x]
Core 2 Multiplicator [x]
Core 3 Multiplicator [x]
Core 4 Multiplicator [x]
Core 5 Multiplicator [x]
Core 6 Multiplicator [x]
Core 7 Multiplicator [x]

Package C6 [%]
Core C0 (avg) [%]
Core 0 C0 [%]
Core 1 C0 [%]
Core 2 C0 [%]
Core 3 C0 [%]
Core 4 C0 [%]
Core 5 C0 [%]
Core 6 C0 [%]
Core 7 C0 [%]

Core C1 (avg) [%]
Core 0 C1 [%]
Core 1 C1 [%]
Core 2 C1 [%]
Core 3 C1 [%]
Core 4 C1 [%]
Core 5 C1 [%]
Core 6 C1 [%]
Core 7 C1 [%]

Core C6 (avg) [%]
Core 0 C6 [%]
Core 1 C6 [%]
Core 2 C6 [%]
Core 3 C6 [%]
Core 4 C6 [%]
Core 5 C6 [%]
Core 6 C6 [%]
Core 7 C6 [%]

Memory Clock [MHz]
Memory Clock Multiplicator [x]
Tcas [T]
Trcd [T]
Trp [T]
Tras [T]
Trc [T]
Trfc [T]
Command Rate [T]

CPU (Tctl/Tdie) [°C]
CPU Core [°C]
CPU SOC [°C]
APU GFX [°C]
CPU Skin Temperatur [°C]
Core Temperatures (avg) [°C]
Core0 [°C]
Core1 [°C]
Core2 [°C]
Core3 [°C]
Core4 [°C]
Core5 [°C]
Core6 [°C]
Core7 [°C]
L3 Cache [°C]


CPU VDDCR_VDD Voltage (SVI3 TFN) [V]
CPU VDDCR_SOC Voltage (SVI3 TFN) [V]
CPU VDDCR_SR Voltage (SVI3 TFN) [V]
CPU Core Current (SVI3 TFN) [A]
SoC Current (SVI3 TFN) [A]
CPU TDC [A]
CPU EDC [A]
SR Current (SVI3 TFN) [A]

CPU Package Power [W]
Core Power (avg) [W]
Core 0 Power [W]
Core 1 Power [W]
Core 2 Power [W]
Core 3 Power [W]
Core 4 Power [W]
Core 5 Power [W]
Core 6 Power [W]
Core 7 Power [W]
CPU Core Power (SVI3 TFN) [W]
CPU SoC Power (SVI3 TFN) [W]
Core+SoC+SR Power (SVI3 TFN) [W]
APU STAPM [W]

Infinity Fabric Clock (FCLK) [MHz]
Clock of Memory Controller (UCLK) [MHz]
L3 Cache [MHz]
Frequency Maximum - Global [MHz]
NPU Clock [MHz]

CPU TDC-Grenzwert [%]
CPU EDC-Grenzwert [%]
CPU PPT FAST Limit [%]
CPU PPT SLOW Limit [%]
APU STAPM Limit [%]
available Thermal Limit [%]
Energy Performance Preference [%]
NPU Utilization [%]

thermal throttling (HTC) [Yes/No]
thermal throttling (PROCHOT CPU) [Yes/No]
thermal throttling (PROCHOT EXT) [Yes/No]

DRAM Read Bandwidth [Gbps]
DRAM Write Bandwidth [Gbps]


SPD Hub Temperature [°C]

VDD (SWA) Voltage [V]
VDDQ (SWB) Voltage [V]
VPP (SWC) Voltage [V]
1.8V Voltage [V]
1.0V VOUT Voltage [V]
VIN Voltage [V]

PMIC high Temperature [Yes/No]
PMIC Overvoltage [Yes/No]
PMIC Undervoltage [Yes/No]

SPD Hub Temperature [°C]
VDD (SWA) Voltage [V]
VDDQ (SWB) Voltage [V]
VPP (SWC) Voltage [V]
1.8V Voltage [V]
1.0V VOUT Voltage [V]
VIN Voltage [V]
PMIC high Temperature [Yes/No]
PMIC Overvoltage [Yes/No]
PMIC Undervoltage [Yes/No]

GPU Temperature [°C]
GPU Core Voltage [V]
GPU ASIC Power [W]
GPU Clock [MHz]
GPU Clock (Effective) [MHz]
GPU Memory Clock [MHz]
GPU SoC Clock [MHz]
GPU VCN Clock [MHz]
GPU Utilization [%]
GPU D3D Utilization [%]
GPU D3D Utilization (avg) [%]
GPU Video Decode 0 Utilization [%]
GPU Computing (Compute 0) Utilization [%]
GPU Computing (Compute 1) Utilization [%]
GPU Computing (High Priority Compute) Utilization [%]
GPU D3D Memory dedicated [MB]
GPU D3D Memory dynamic [MB]
PCIe Link Speed [GT/s]
GPU Memory Usage [MB]
Throttling - Power [Yes/No]
Throttling - Thermal [Yes/No]
Throttling - Current [Yes/No]
Framerate [FPS]

Batterry Voltage [V]
Capacity [Wh]
Charge [%]
Wear Level [%]

Internal Monitor
Framerate (Presented) [FPS]
Framerate (Displayed) [FPS]
Framerate [ms]
GPU Busy [ms]

The hardware is the same, which is where sensor values come from. Software applications simply read from what sensors the hardware has support for. It’s just a matter of having the right software to utilize the hardware.

3 Likes

Yeah well… That’s Linux for you. What exactly do you even need, there’s quite literally nothing I could think of, so if you want people’s help, maybe clarify that first?

A lot of the information you’re looking for is available in the GPU metrics table that amdgpu already fetches from the hardware.

However there aren’t “sensor sysfs files” to represent every single one, just the ones that are most interesting.

If you would like to export more information available to to userspace you can write a patch to introduce additional sensors sysfs files to amdgpu that pull more information from the metrics table.

All existing sensor applications would pick them up directly then.

Getting conky (stats monitor) setup on linux here, and can’t seem to find the actual core temperatures I’m accustomed to. I do see a set of 4 thermals for the motherboard ‘near the processor’, which I have decided to use for now.

[RESOLVED] Monitoring AMD Temperature from Linux << This points to more data than I actually know about, but guy seems to know what he means. Basically the 4 sensors on the motherboard itself are as good as it gets for per-core temps. At least for linux. I’d be curious to understand how windows seems to pull that off. (haven’t tested it myself).

lm_sensors output is missing the typical core0 - core8 listings I’d expect to see.

k10temp-pci-00c3
Adapter: PCI adapter
Tctl:         +36.4°C  

ucsi_source_psy_USBC000:003-isa-0000
Adapter: ISA adapter
in0:           0.00 V  (min =  +0.00 V, max =  +0.00 V)
curr1:         0.00 A  (max =  +0.00 A)

mt7921_phy0-pci-0100
Adapter: PCI adapter
temp1:        +42.0°C  

ucsi_source_psy_USBC000:001-isa-0000
Adapter: ISA adapter
in0:           0.00 V  (min =  +0.00 V, max =  +0.00 V)
curr1:       410.00 mA (max =  +0.00 A)

BAT1-acpi-0
Adapter: ACPI interface
in0:          15.34 V  
curr1:       724.00 mA 

amdgpu-pci-c100
Adapter: PCI adapter
vddgfx:      794.00 mV 
vddnb:       664.00 mV 
edge:         +34.0°C  
PPT:           3.19 W  (avg =   4.01 W)

ucsi_source_psy_USBC000:004-isa-0000
Adapter: ISA adapter
in0:           0.00 V  (min =  +0.00 V, max =  +0.00 V)
curr1:         0.00 A  (max =  +0.00 A)

ucsi_source_psy_USBC000:002-isa-0000
Adapter: ISA adapter
in0:           0.00 V  (min =  +0.00 V, max =  +0.00 V)
curr1:         0.00 A  (max =  +0.00 A)

nvme-pci-0200
Adapter: PCI adapter
Composite:    +35.9°C  (low  = -40.1°C, high = +83.8°C)
                       (crit = +87.8°C)
Sensor 1:     +46.9°C  (low  = -273.1°C, high = +65261.8°C)
Sensor 2:     +35.9°C  (low  = -273.1°C, high = +65261.8°C)

acpitz-acpi-0
Adapter: ACPI interface
temp1:        +38.8°C  
temp2:        +38.8°C  
temp3:        +39.8°C  
temp4:        +35.8°C 

I’m searching for something like

coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +35.0°C  (crit = +105.0°C)
Core 1:       +32.0°C  (crit = +105.0°C)
1 Like

I also noticed that lm-sensors seem to report the fans as 0 RPMs even though they are clearly running. I have the 7700S so not sure if it does the same to the fan only expansion bay.

1 Like

It does.

1 Like

I see the same: fan reports 0 RPM even when I can hear that they’re spinning. 7700S

1 Like

Why btop shows battery wattage on Fedora but not on Ubuntu?

1 Like

btop installed from snap on a ubuntu 22.04 shows watt out of the box. Confirmed on 2 different machines (FW16 and a thinkpad).

1 Like

For anyone wanting to see fan speed in linux, it seems, if you are using the GPU, nvtop works:

image

2 Likes

nvtop is one way to go, yes.

Matt,

One thing I have noticed is that I am not sure if nvtop is actually updating with accurate speeds.

It seems to sit at 29 or 32% even when I am at 100% cpu and the fans are definitely going much faster.

Any ideas if this is a hardware limitation as to why the fan speeds do not report correctly?

1 Like

This is a tough one. Nvtop may not be getting the best data back. Would be interesting to see if you see different results using framework-laptop-kmod (AMD patch applied), then retest nvtop after manual changes have been made.

Matt, sounds good. Ill look into this and give it a test.

FWIW - I made a new post about another bug that seems to possibly affect Fedora users on the 6.8 kernel.

I can link it to you if you need/want.