fan_target_temperature(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 fan_target_temperature 🌸

okay bestie, welcome to the amdgpu corner of the kernel β€” this is the manpage fan_target_temperature(9) from the Kernel API Manual, and it's literally the sysfs API for checking and adjusting the target tempeature in Celsius degree for fan control. (yes i said "tempeature", that's how it's spelled in the source, we don't fix, we don't judge, we slay πŸ’…)


πŸŽ€ how to actually use it

  • Reading back the file shows you the current setting and the permitted ranges β€” but only if they're changable. iykyk, vibe check first, always.
  • Writing an integer to the file changes the setting accordingly. just an integer. that's the whole assignment. periodt.
  • When you have finished the editing, write "c" (commit) to the file to commit your changes. no commit, no glory 🫢
  • If you want to reset to the default value, write "r" (reset) to the file to reset them. the undo button, but make it sysfs ✨
ngl bestie, the "write c when you're done" part is not optional-optional. it's the whole commit step. don't leave your changes hanging like an unsent text 😭

πŸ¦‹ the important caveats (read these fr fr)

This setting works under auto fan control mode only. It can co-exist with other settings which can work also under auto mode.

Paring with the acoustic_target_rpm_threshold setting, they define the maximum speed in RPM the fan can spin when ASIC temperature is not greater than target temperature. iconic duo behaviour honestly πŸ‘‘

Setting via this interface will switch the fan control to auto mode implicitly β€” so like, surprise, you're in auto mode now. lowkey important to know 🧚


✨ SEE ALSO ✨

Kernel file ./drivers/gpu/drm/amd/pm/amdgpu_pm.c β€” go read the source, it's giving main character energy:

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), hwmon(9), fan_curve(9), acoustic_limit_rpm_threshold(9), acoustic_target_rpm_threshold(9), fan_minimum_pwm(9), fan_zero_rpm_enable(9), fan_zero_rpm_stop_temperature(9)


okay that's the whole page, you ate that πŸ’– this cutie lives in ./drivers/gpu/drm/amd/pm and the version/date on the tin is October 2026 β€” screenshot it, cite it, cite me, whatever, mwah πŸ“

πŸ“¦ where this page comes from