# This example configuration is creating two thermal zones, one with amdgpu/temp1_input as source, # the other one with coretemp/temp1_input as source. # Some options have additional comments for explanation. # Set target log level. If you have a problem or want to report an issue set this to DEBUG, # otherwise INFO is a good value. loglevel: DEBUG # Frequency in seconds of feeding sensors values into PID. Higher frequency (lower value) means PID can react faster. # Fans only get set every thermalzones->interval seconds, regardless of this value. # Must be lower then your lowest thermalzone interval. pid_interval: 0.2 thermalzones: - name: GPU+SYSTEM # This is your source temperature. You can add multiple sources, see thermal zone below for an example. source: amdgpu/temp1_input # This is most likely 1000 for your temp sensor as well. # If not, check what you sensor is outputting if you try to read from it. factor: 1000 # Frequency in which fan speed should be adjusted in seconds. # PyFan reads sensors values from hwmon every pid_interval, but only sets fan speeds in this interval. # Can't be lower then pid_interval. interval: 3 # Define all fans that this thermal zone is going to control. # There is no limit to how many fans one thermal zone can control. # You can have different limitations on your fans, for example: # - amdgpu/pwm1: 170 # means your GPU fan's pwm1 is never getting set higher than 170, limiting its max. rpm value. # You can specify an lower limit as well: # - it8686/pwm1: [100, 200] # means your fan's pwm is never set under 100, and never over 200. fan: - it8686/pwm2 - amdgpu/pwm1: 170 # This is your target temperature. This is one of the main control knobs. Set this to a comfortable temperature for # your equipment. Don't set this as high as its max temperature allowance, since pid is gonna allow some overshooting. target: 60 # For understanding PID please have a look at https://en.wikipedia.org/wiki/PID_controller. The aforementioned page # also explains what p, i and d stand for and what they do in detail. These are the second main control knobs. # Simplified you can view them as weights for: # p = difference in temperature (momentarily) # i = difference in temperature over time # d = rate of chance in temperature pid: p: 1 i: 1 d: 1.5 - name: CPU source: - coretemp/temp1_input - amdgpu/temp1_input factor: 1000 interval: 3 fan: - it8686/pwm1: [ 100, 200 ] target: 50 pid: p: 1 i: 1 d: 1.5