Shuzhengz / TPFanCtrl2

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

Lower fan speed options #52

Open jkaetz opened 1 year ago

jkaetz commented 1 year ago

Hello, I have an X1 Yoga 7th Gen with the i7-1260P processor and it seems that even on its lowest setting the fan spins at around 5k RPM and is easily audible in a quiet room. Would it be possible to set lower RPM values? I believe a slower fan speed could keep the CPU cool under low loads without being audible. As it is I wait until 70C to turn the fans on and then they quickly cool the CPU back to the 40C range. Being able to spin the fans slowly and silently should stabilize the CPU temp and keep the system quiet.

Ideally maybe go for 1k RPM and then move up from there. Perhaps with more steps than 7 or have the 7 "standard" steps fall in above the slower ones.

Being able to lock the fans on speed 1 is still an improvement over Lenovo's logic. It appears to try to keep the CPU in the 40C range at all times spinning up the fans to high speed quickly.

Shuzhengz commented 1 year ago

Hi

The steps are actually defined by lenovo in their EC, which is also defined in their firmware, fan control is done by setting the address in the EC to a value that corresponds to the fan speed, so it cannot set the fan speed directly.

Maybe you could check if your BIOS firmware is up to date, or try fan level 17 (0x11 in hexadecimal), it should be equal to the lowest possible fan speed, but perhaps it will have a lower speed on your laptop.

On most ThinkPads there should also be an option in the BIOS to adjust adaptive thermal management scheme under power, maybe tweaking that will help

jkaetz commented 1 year ago

I was afraid of that. I tried 17/0x11 but it seems ~5k is the lowest speed demanded by the controller. To add to the loud fans it seems Lenovo's CPU boost logic is quite aggressive attempting to boost to > 4GHz frequently pushing temps up and requiring the fan to spin up. I've played with the BIOS settings and it only allows "Balanced" or "Performance". There is also an "Intelligent Cooling Boost" options but it does not appear to help either. I supposed it'll have to be a hardware mod at this point. I wonder if the fans are still PWM controlled. Maybe I can lower the PWM voltage to spin the fans down. Thank you anyway for a fantastic tool!

stu-carter commented 1 year ago

Just what I've been trying to do as well - the fan on the previous gen 6 with top of the range i7 has a lower minimum RPM and only comes on at 70C. it also idles around 40C which is a massive difference to the i7-1260P which idles at 55-60C

This combination of a CPU which consumes ~2x more power at the same load as the 11th Gen and emits more heat combined with poor thermal control is a step backwards for Intel and Lenovo. I have had to disable Turbo and increase the Speed Shift using ThrottleStop just to keep it from being too annoying day-to-day...

If you find anything else out, please let me know!

EDIT - looks like a re-paste of the thermal heat glue helps a significant amount. See here - https://www.reddit.com/r/thinkpad/comments/zlfqm9/thinkpad_x1_x1_yoga_with_the_i7_1260p1280p_heat/

jkaetz commented 1 year ago

Just what I've been trying to do as well - the fan on the previous gen 6 with top of the range i7 has a lower minimum RPM and only comes on at 70C. it also idles around 40C which is a massive difference to the i7-1260P which idles at 55-60C

This combination of a CPU which consumes ~2x more power at the same load as the 11th Gen and emits more heat combined with poor thermal control is a step backwards for Intel and Lenovo. I have had to disable Turbo and increase the Speed Shift using ThrottleStop just to keep it from being too annoying day-to-day...

If you find anything else out, please let me know!

EDIT - looks like a re-paste of the thermal heat glue helps a significant amount. See here - https://www.reddit.com/r/thinkpad/comments/zlfqm9/thinkpad_x1_x1_yoga_with_the_i7_1260p1280p_heat/

Replacing the existing compound with arctic silver 4 was my first attempt to quiet things down. There was good heat transfer from the CPU to the heat pipe as I could keep the fan on speed 1 with good cooling but of course you're still running the fan.

My ultimate solution is aggressive. I removed a section of the black material from the back plate over the CPU, placed a total of four 1x15x15mm copper shims with AS4 on both sides on top of the heat pipe and replaced the back plate. This allows heat to directly transfer from the heat pipe to the back cover. Then I've situated an AIO waterblock under the laptop on that area of the case also with AS4. At this point I can run the CPU at max TDP without hitting the thermal limit and without running the fan. ThrottleStop can set the TPL. By default it's 15 and 20 for pl1 and pl2. I now have it set at 28 and 65. Even doing benchmarking or stress testing will not thermal throttle the CPU. It primarily hovers between 37 and 40 C now. I'm probably going to 3D print a laptop stand that will hold the cooler and radiator in the right spot. When I do that I'll also see how the cooling is with just air flow and stock PL1/PL2 settings. Will probably also try a thermal pad instead of AS between the water block and the laptop case so I don't have to clean it when traveling. I did the AS because I had spent weeks of trying different things and just wanted a best case scenario.

Things I found that impacted the throttling profile BIOS Setting for cooling profile BIOS Setting for CPU power saving

Windows advanced power settings Processor power management -> Processor performance autonomous mode This is hidden by default and must use a registry edit to show it but it had the largest impact on the throttling profile. Where the defaults have the processor boost very aggressively and use 1.2 - 1.3 volts setting this to disabled in conjunction with the BIOS cooling profile seems to use a much more reasonable boost profile. Unfortunately none of the other clock related settings under PPM tree had any effect on the profile.

ThrottleStop I still couldn't get control of the clock multiplier or voltage but I was able to modify the Turbo Power Limits (TPL). Setting these lower will reduce the target TDP of the processor for long (PL1) and short (PL2) power usage and keep it a little cooler though I could never get it low enough for the fans to stay off. The heat pipe system simply can't dissipate heat without the fan running. Using settings of 15 & 18 respectively and setting the fan to level 1 kept the temp in the 40s until you put it under a heavy load but obviously with a performance decrease.

On the other hand if you increase these it will easily overheat the CPU so do this with caution.

stu-carter commented 1 year ago

Thanks very much for the reply & info, glad to see you found a solution!

Water cooling is a little extreme and expensive for me :), will try a re-paste and see, then perhaps the copper plates.

On my back plate, there is a 'pad' underneath the black material right above the heat sink - did you find what this was (perhaps a thermal pad?)

And presumably you disabled 'Processor performance autonomous mode'?

jkaetz commented 1 year ago

There was a foam pad stuck to the heat pipe. I was assuming that its purpose was actually to insulate the back plate from the heat pipe. I wanted the opposite so I removed it carefully. There was also a white/silver patch on the backplate that appeared to be part of the aluminum as the black material pealed up around it. I scratched at the corners and didn't feel anything that seemed like it would be removeable.

I have autonomous mode enabled on AC power now as I'm typically docked at my desk. When on battery I certainly have it disabled for heat and power purposes. Lenovo's default scaling profile really doesn't make much sense to me as it seems like the CPU is always running with a high clock/voltage.