hwmon(9)
πΈ hwmon πΈ
okay bestie so this one is from the Kernel API Manual, section 9, and it's literally the glow-up tour of what the amdgpu driver shows you about your GPU through hwmon. no cap, it's a lot of sensors and we're gonna go through every single one π
The amdgpu driver exposes the following sensor interfaces:
- GPU temperature (via the on-die sensor)
- GPU voltage
- Northbridge voltage (APUs only)
- GPU power
- GPU fan
- GPU gfx/compute engine clock
- GPU memory clock (dGPU only)
π‘οΈ hwmon interfaces for GPU temperature
temp[1-3]_inputβ the on-die GPU temperature, in millidegrees Celsiustemp2_inputandtemp3_inputare supported on SOC15 dGPUs onlytemp[1-3]_labelβ the label for that temperature channeltemp2_labelandtemp3_labelare supported on SOC15 dGPUs onlytemp[1-3]_critβ temperature critical max value, in millidegrees Celsiustemp2_critandtemp3_critare supported on SOC15 dGPUs onlytemp[1-3]_crit_hystβ temperature hysteresis for the critical limit, in millidegrees Celsiustemp2_crit_hystandtemp3_crit_hystare supported on SOC15 dGPUs onlytemp[1-3]_emergencyβ temperature emergency max value (asic shutdown), in millidegrees Celsius- these (the emergency ones) are supported on SOC15 dGPUs only π«Ά
β‘ hwmon interfaces for GPU voltage
in0_inputβ the voltage on the GPU, in millivoltsin1_inputβ the voltage on the Northbridge, in millivolts
π₯ hwmon interfaces for GPU power
power1_averageβ average power used by the SoC, in microWatts. On APUs this includes the CPU.power1_inputβ instantaneous power used by the SoC, in microWatts. On APUs this includes the CPU.power1_cap_minβ minimum cap supported, in microWattspower1_cap_maxβ maximum cap supported, in microWattspower1_capβ the selected power cap, in microWatts
π hwmon interfaces for GPU fan
pwm1β pulse width modulation fan level (0-255)pwm1_enableβ pulse width modulation fan control method (0: no fan speed control,1: manual fan speed control using the pwm interface,2: automatic fan speed control)pwm1_minβ pulse width modulation fan control minimum level (0)pwm1_maxβ pulse width modulation fan control maximum level (255)fan1_minβ a minimum value, Unit: revolution/min (RPM)fan1_maxβ a maximum value, Unit: revolution/max (RPM)fan1_inputβ fan speed in RPMfan[1-_targetβ desired fan speed, Unit: revolution/min (RPM)fan[1-_enableβ enable or disable the sensors.1: Enable,0: Disable
β οΈ NOTE: DO NOT set the fan speed via the"pwm1"and"fan[1-_target"interfaces at the same time. That will get the former one overridden. like, seriously bestie, pick one π
β° hwmon interfaces for GPU clocks
freq1_inputβ the gfx/compute clock, in hertzfreq2_inputβ the memory clock, in hertz
You can use hwmon tools like sensors to view this information on your system. it's giving main character energy on your terminal, fr fr π
β¨ SEE ALSO β¨
Kernel file ./drivers/gpu/drm/amd/pm/amdgpu_pm.c
amdgpu_pm_dev_state_check(9), amdgpu_pm_get_access(9), amdgpu_pm_get_access_if_active(9), amdgpu_pm_put_access(9), power_dpm_state(9), power_dpm_force_performance_level(9), pp_table(9), pp_od_clk_voltage(9), pp_features(9), pp_dpm_sclk pp_dpm_mclk pp_dpm_socclk pp_dpm_fclk pp_dpm_dcefclk pp_dpm_pcie(9), pp_power_profile_mode(9), gpu_busy_percent(9), mem_busy_percent(9), vcn_busy_percent(9), pcie_bw(9), unique_id(9), thermal_throttling_logging(9), apu_thermal_cap(9), gpu_metrics(9), smartshift_apu_power(9), smartshift_dgpu_power(9), smartshift_bias(9), board(9), baseboard_temp(9), gpuboard_temp(9), cur_node_power_limit(9), node_power(9), npm_status(9), global_ppt_resid(9), max_node_power_limit(9), baseboard_power(9), baseboard_power_limit(9), pm_policy(9), fan_curve(9), acoustic_limit_rpm_threshold(9), acoustic_target_rpm_threshold(9), fan_target_temperature(9), fan_minimum_pwm(9), fan_zero_rpm_enable(9), fan_zero_rpm_stop_temperature(9)
and that's the whole thing, bestie π this page lives at ./drivers/gpu/drm/amd/pm, dated October 2026, and it's hwmon(9) β slay, go read your sensors π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms