Shuzhengz / TPFanCtrl2

ThinkPad Fan Control 2 (Dual Fan) for Windows 10 and 11
The Unlicense
264 stars 23 forks source link

Set different thresholds for different sensors (and ideally separately control the speed of different fans) #64

Open Paruccone opened 3 months ago

Paruccone commented 3 months ago

Problem : conflicting algorithm between CPU and GPU

Personal scenario : I own a P16 Gen 1 with i7-12850HX CPU + nvidia A3000 GPU. The CPU can easily go to 100°. The GPU will never go further 70° and gets (thermal) throttled earlier.

This forces me to choose between 2 options:

  1. optimize parameters for CPU: Level=56 0, Level=65 1, Level=75 2, Level=80 3, Level=85 4, Level=90 5, Level=95 6, Level=97 7 which means GPU will constantly thermal throttle as fan(s) will never go above 1based on GPU temp (unless the CPU as well gets warm)
  2. optimize parameters for GPU meaning that even when the CPU is not working/heating, fans will turn uselessly (unless the GPU is under heavy load) fast: Level=45 0, Level=50 1, Level=53 2, Level=57 3, Level=60 4, Level=63 5, Level=65 6, Level=67 7 meaning that as soon as the CPU does something, fans will spin up at highest speed

Proposed solution: define levels by (at least 2) sensor with Level CPU GPU speed syntax: Level=56 45 0 Level=65 60 1 Level=75 53 2 [...] Level=97 67 7

or even better to independently set fans' speeds based on separate sensors: CPU_Level=56 0, CPU_Level=65 1, CPU_Level=75 2, CPU_Level=80 3, CPU_Level=85 4, CPU_Level=90 5, CPU_Level=95 6, CPU_Level=97 7 GPU_Level=45 0, GPU_Level=50 1, GPU_Level=53 2, GPU_Level=57 3, GPU_Level=60 4, GPU_Level=63 5, GPU_Level=65 6, GPU_Level=67 7

Thx!