Fan control in Windows

Couldn’t agree more @Trevor_Textor! I’d personally like to see a lot more BIOS settings for power users that want to have finer control over their computers but at the same time I can see why Framework might want to limit options to reduce potential for damage to hardware or tech support calls. But, I think they can give a lot more before they run into any issues like that and honestly, they might even reduce some tech support calls if they added some of these features like custom fan curves, etc. When using a laptop, you’re always playing with a tradeoff between performance and longevity so giving the end user more options to customize that experience to their exact liking would be great.

I will say I really like the graphical UEFI on this laptop. It’s very straight forward and makes things like dual booting operating systems super simple and intuitive. But, I think a lot more options could be added for fine tuning things and since the CPU and GPU both have thermal throttling built in that can’t be circumvented without crazy hacks I don’t think they need to worry about warranty issues coming from people using custom fan curves since the worst that will happen is they will lose performance which would be expected if you’re reducing the cooling of your laptop.

Heck, they could even include a little warning that says “By changing these settings you’re accepting that your performance may diminish” or something along those lines just to avoid the support calls from people that don’t understand why their laptop is running so slow when they shut the fans off complete. And we all know they will totally get those calls if they added that feature without warning people. :rofl:

I will say that I’ve never seen a BIOS quite like the one on this laptop so I’m guessing it’s bespoke and written from the ground up since it’s an open-source project. Or maybe they started from an open-source BIOS out there somewhere. I’m not quite sure but if that is the case I wonder if it would be possible to make custom BIOS for it? I know that would probably void your warranty instantly but after your warranty is expired that might be fun to play around with if nothing more than to demonstrate how flexible the hardware is. I think something like this would be useful for when you give your framework motherboard a second life as a router or media PC with a 3D printed case then you could overclock it and add a ton more cooling to it which isn’t something you can do in the laptop chassis really and I’d imagine she’s already running at the ragged edge of performance given the heat this baby puts out.

2 Likes

Hi there! I thought my ears were ringing…!

I’m just an avid fan and/or “Former Framework Firework” (which is just somewhat of a community medal, not an indication of any former or ongoing relationship with the company). I’ve also got a bunch of other stuff going on… anyway, I digress. Hi!

Truth be told, I have access to EV and WHQL driver signing services through my employer, but I would be loathe to use them on this. Apart from that, the best I have been able to determine is that WHQL will only cross-sign drivers that are already signed–and I do not possess an EV code signing certificate[1]

Alas, it does. Specifically, it needs access to LPC - ports 0x800-0x807 for the 11th-13th gen and ports 0x800-0x8fe and 0xe00-0xeff for the rest. The embedded controller does expose an i2c hid interface but it is already occupied with the rfkill and monitor brightness keys, and on the 12th+ gen Framework added second descriptor for the ambient light sensor. On the AMD Frameworks Laptop (and the Core Ultra 1), the ALS is on a second interface entirely.

It wouldn’t be unreasonable to add a custom vendor-page HID descriptor. . . which I may do anyway for the fun keyboard stuff I’ve been working on.

I suspect that nobody wants to add more SMM or even Runtime Services code, but… that’s an interesting avenue for exploration. I do have an EC driver in my Framework UEFI driver toolkit; anything that they can do during DXE we can do as well :slight_smile:


  1. purportedly offered only to companies, but I have been looking for a loophole to get signed as a d.b.a. ↩︎

7 Likes

That would be awesome!

https://www.reddit.com/r/framework/comments/1g83nno/fw16_fan_extremely_loud_when_plugged_in/

1 Like

I had a look into this tool for Windows. It’s not clear if it prevents the use of bitlocker, that would be a blocker for me. Does anyone knows?
That being said, enabling test signing is an absolute no go for me.
But yes this is a real issue, I get the fans will be loud when gaming but when running discord + a browser tab opened on foundry vtt? I gets really weird when people start wondering what’s that noise and this is your FW16 :frowning:

2 Likes

Have you looked at your CPU temps?
Maybe you’re affected by this too

2 Likes

looks really interesting. I’ll do the cinebench test as soon as I can.
interestingly enough, I’m writing this with my FW16 on battery. The laptop is dead silent. Total contrast compared when it is on DC: in that case, the laptop gets mighty loud as soon as W11 is loaded. It eventually gets silent but will run for no apparent reason and sometime very loudly especially when I’m not using it. And as I said, just using some video feeds plus some webgl is just bad (I assume foundry vtt uses webgl; if it’s not then it’s even worse than I think)
I haven’t tried to remove the 7700S and see if the behaviour changes.

2 Likes

Hey Laurent, have you by chance opened up Task Manager to see what your GPU/GPU usage is when running just discord and browser tab? The reason I ask is because I just recently had my Framework 16 jump to 100% fan usage out of nowhere when I was literally doing nothing but sitting on the Windows 11 desktop. I opened up Task Manager and noticed my CPU was at 92% usage and it was a bunch of “Windows Module Installer” processes running that didn’t have any associated GUI. I have no idea what they were doing honestly but it reminded me of this thread so I wanted to come back and see if you noticed anything hitting the CPU/GPU hard in task manager when this happened because I think it may not be a bug but rather something in Windows 11 bashing on the CPU really hard in the background causing the sudden need to thermally evacuate heat as fast as possible to prevent thermal throttling. I let the system sit for 5-10 minutes and it eventually ramped back down to being silent and Task Manager confirmed CPU usage was down around 5-10% again.

This obviously won’t solve your problem, but it might give you some information on why the fans are jumping to 100% when you’re doing almost nothing. Next time this happens just open task manager (WIN+SHIFT+ESC) and look at CPU and GPU usage and even sort processes by CPU usage column and see which processes are causing the massive fan speed spike to occur. Because at the end of the day I think the fan speed is just responding to the thermal readings since it’s all controlled by the BIOS and not the OS hence why software like FanControl can’t change the fan curves like it can on a desktop PC or other laptops that allow direct fan control.

If this is the case at least you could then look into ways to potentially thermally throttle those processes down so they can’t use as much CPU perhaps to keep the fans from going to the moon whenever Windows 11 decides the system is idle enough to use all your CPU cycles for something else in the background. But a simple browser tab and discord shouldn’t be beating on your CPU that much. I’m not sure what Foundry VTT is so I couldn’t tell you how hard it hits the CPU since I do know that some websites will use HTML5 code that can make the CPU usage go to the moon but I’m not sure if that site is one of them. TaskManager would clearly show you though if your browser is causing the big CPU hit and even which tab specifically in the browser is causing it if you’re using something like Microsoft Edge where each browser is a separate process under the top-level process. Actually, I think even Chrome does this so either should show you which tab is gobbling up the CPU so much. If you’re able to catch it then you might be able to go into task manager and right click on the process that is beating on your CPU and limit it to a single thread or lower its priority to see if you can’t reduce how much CPU it’s using.

Another option you could try is to go into your Windows 11 Power Options menu and change the Maximum processor state from like 100% to %80 or %50 so that processes can’t hit the CPU as hard which should lower the thermals and prevent the fans from going to the moon in situations where you need quiet over performance like at the coffee shop or office. This isn’t the best solution in the world but it could help you for a while until Framework can give us some kind of option to ramp fan curves and just thermally throttle automatically based on our fan max values, etc. That would be ideal honestly, but in the mean time we might just need to a hack a bit.

If the power thing works for you and keeps the fan noise down by limiting how hard Windows processes can hit your CPU then it would be trivial to build a PowerShell scripts to change the values just by clicking a shortcut on your desktop, etc to change it on and off so you don’t have to keep going deep into these menus to change the values any time you want maximum cooling or maximum quiet options. I hope some of this information helps you on some level! I absolutely love this forum! :hugs:

Also, it’s ironic that you’re having problems with cooling noise on your Framework 16 as I’m having problems with my AC in my Nerdcave not kicking off at all no matter what temp it is in the room causing it to freeze up into a block of ice and make the room a giant refrigerator right now. Seems like we’re all having some HVAC related problems in our lives right? :rofl: I’m too cheap to buy a new AC so I think I’m just going to toss a TPLink KASA switch on the AC power and create a script to monitor the room temp using an ESP32 and send a signal to the KASA switch to turn on and off based on the room temperature with a cooldown period so it doesn’t blow up the AC turning it on and off a dozen times a minute. It’s not the perfect solution, but if it works, it works and I can come up with a better solution later! Jerry Rigged BABY! :clap:

Good luck, let me know how things go!

UPDATE:
I just noticed that you said it only seems to do this when connected to DC power in your latest post. This makes me think it’s 100% a thermal issue from your CPU running that is causing the fan speed increase making all the noise. I’d look at what your CPU usage is doing the things you normally do on battery under “task manager” and than take that and set it as your “Maximum CPU State” under the active power profile when plugged into DC and see if that solves the issues once the CPU cools down a little. I suspect if you limit the performance on DC power to the same as it would be on battery you’ll get the same exact fan noise give or take a little. Also, screen brightness shouldn’t affect this much since its heat is dissipated outside of the laptop body and shouldn’t make a difference to the fan speed except for maybe the power supply getting a touch hotter supplying the power. But, on DC you can obviously run fully bright on the screen without risking battery life so you would get to keep that perc even if you lose some CPU performance on DC power to keep the fan speed low. GOOD LUCK! :crossed_fingers::four_leaf_clover::stars:

Oh, and one more thing, thank you for not running with test signing enabled! I’ve been reading too many horror stories lately about people getting backdoored or losing all their browser cookies with session tokens allowing attackers to take their lives over. It’s just not worth it to run code that Windows is trying to protect you from even if you trust that code since you have to also trust all the other code too. It would be nice if Windows had a conditional test signing that you could enable per process based on checksum signature or something else that is unique, so you don’t have to do all or nothing approach when running test drivers or services.

Microsoft should be held responsible for the carbon dioxide emissions from this.

When using Windows, I always shutdown my computer when AFKing since 2019

1 Like

I just want to know what the heck Microsoft is randomly using 100% of my CPU for when it doesn’t think I’ll notice. I wasn’t installing any Windows Updates, I wasn’t running any programs that would randomly use a ton of CPU power. It just will randomly do something intense and the fan noise gives it away. My fear is that with Windows CoPilot Microsoft might be doing what the crypto miners were doing back in the day and running AI training cycles using my hardware when it doesn’t think I’m using it under the guise of “Improving the user experience”… I honestly wouldn’t put it past them! :rofl:

Maybe you weren’t, but Windows may well be doing so. How else does it download megabytes in zero time when it tells you there is an update available, and you can start the update immediately?

For me it’s almost always the Windows Search indexer that’s spinning up the fans when I step away from the laptop (and it’s plugged in).

1 Like

Yep I just disable indexing. I am working on something for myself that will let you kind of control all of these windows services (the ones that allow some control over) and then you can decide yourself when to run them. On the go or when using battery is not the time for Windows to try to be incrementally better at something.

2 Likes

Please keep the discussion on topic. Any off-topic replies will be hidden or split off into another post.

2 Likes

Yeah, the Search Indexer does like to use idle cycles to index the drive. It’s 10x more aggressive when you enable “index contents of files” which isn’t on by default. But, there are other odd services that I see popping online while system is idle hitting the CPU really hard too that I have no idea what they are doing. I’m going to have to do a deep dive at some point because I want to see what MS is doing with what it considers idol cycles when it doesn’t think anyone is looking.

Don’t get me wrong, I think it’s smart to do housekeeping tasks while the user is away and not actively utilizing the system, but it would also be nice if they would dial back those services to uses only a fraction of the power so they aren’t creating a bunch of heat and noise in the process when the user is away and probably would like the laptop to be silent. I could go in and manually change the thread priority for each of the processes trying to beat the CPU into the dirt to try and slow them down a bit, but ultimately if the system is completely idol, they could still spin up all the power. I wish Windows would give you a mechanism to limit CPU percentage available to a given process instead of just which cores it can use. Giving it one core can make fan noise less if that single core can’t saturate the heating on the laptop but in many cases it can with these higher performance CPU’s.

Hi everyone, I’m trying to install (GitHub - TamtamHero/fw-fanctrl: A simple systemd service to better control Framework Laptop's fan(s)) on my windows fw13 in order to stop my laptop from overheating and being unusable.

However, I really don’t understand how to install it (relative novice when it comes to these things)

From what I understand, some of the structure to install the tool has changed and instead of a bat file there is now a shell file (.sh). I have tried git bash and cygwin, but struggle to get it properly installed (if I can even do it though there? Every time I try, it gets mad that there is no sudo command, even though I boot them w/administrator privileges).

Does anyone have any advice for the proper way to run the install.sh file? Thanks in advance!

edit: I was trying to install the linux version and needed to look at the windows branch wasnt I

1 Like

:smile: :ok_hand: :+1:

Where’s the windows version, if you found one?

GitHub - leopoldhub/fw-fanctrl at dev-windows Here I believe?

1 Like

Damn, it seems to install as clicking the install script runs something I have to physically approve. But, I can’t seem to use the commands after.

When I run the install script it seems to uninstall it?


but once I press a button after this, the window disappears.

If i try to use a command I get:

edit(so I guess does anyone potentially have any ideas what may be going wrong? Thanks in advance (for the second time))

Hi Barnacules,

Sorry for the long gap since my last post.
I did switch the power mode to Best Power Efficiency in W11 settings and finally I had some results: the laptop is now almost always silent under “trivial” load.
Note that I could not get this to work with the classic “powercfg” trick. Best power efficiency is supposed to be achievable through this: “C:\Windows\System32\powercfg.exe /setactive a1841308-3541-4fab-bc81-f71556f20b4a” but it never had any effect

now it’s not perfect. Last time I had my session of Foundry VTT (this is a software to support tabletop role playing game sessions, you can use it to play tabletop sessions remotely - it’s like Roll20 actually but decentralized. Anyway it uses HTML5+canvas and maybe some WebGL), I also had Discord opened with 6 other people video feeds. I thought the issue was solved because I did not hear a thing. But after about 2h30, I started hearing the fans. It was very soft though and I’m certain it was not audible for the participants, so in essence I can say my problem is not more. Still for this level of activity, I’m quite sure the fans should just never start so I’d guess you’re right, even in best power efficiency mode there is some heat build up issue. Next time I’ll switch to Best Performance and have a look at CPU/GPU usage