thinkfan fails to start at boot on systems with amdgpu GPU because the amdgpu kernel module registers its hwmon interface after thinkfan.service starts (After=sysinit.target). Error: 'Could not find a hwmon with this name' for amdgpu sensor. The hwmon device appears later at runtime (e.g. hwmon7) but thinkfan has already exited.
Two-part fix:
optional: true in /etc/thinkfan.conf so thinkfan starts with the available sensors (k10temp, thinkpad, nvme):sensors:
- hwmon: /sys/class/hwmon
name: amdgpu
indices: [1]
optional: true/etc/udev/rules.d/99-thinkfan-reload.rules that restarts thinkfan when the amdgpu hwmon appears:ACTION=="add", SUBSYSTEM=="hwmon", ATTR{name}=="amdgpu", RUN+="/bin/systemctl try-restart thinkfan.service"Boot sequence after fix: thinkfan starts with 3 sensors (optional amdgpu missing) → amdgpu driver loads → hwmon appears → udev rule fires → thinkfan restarts with all 4 sensors.
The optional flag is documented in thinkfan.conf(5) under the sensor syntax but easy to miss. It was added for exactly this class of problem (removable hardware, late-loading drivers).