hwmon(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 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 Celsius
  • temp2_input and temp3_input are supported on SOC15 dGPUs only
  • temp[1-3]_label β€” the label for that temperature channel
  • temp2_label and temp3_label are supported on SOC15 dGPUs only
  • temp[1-3]_crit β€” temperature critical max value, in millidegrees Celsius
  • temp2_crit and temp3_crit are supported on SOC15 dGPUs only
  • temp[1-3]_crit_hyst β€” temperature hysteresis for the critical limit, in millidegrees Celsius
  • temp2_crit_hyst and temp3_crit_hyst are supported on SOC15 dGPUs only
  • temp[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 millivolts
  • in1_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 microWatts
  • power1_cap_max β€” maximum cap supported, in microWatts
  • power1_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 RPM
  • fan[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 hertz
  • freq2_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