Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

How to control your laptop fan speed


As the title suggest, this is a guide on how to control your laptop's fan speed.


First, why would you want to control your laptop fan speed? Well, because many OEMs like to throttle your cpu's and gpu frequencies under heavy load instead of cranking up the fan speed to deal with the high heat. Apple does this on their macs and so do many OEMs. Why is that you ask? well, its because at max fan speed, your laptop's cooling fan sounds like a jet engine. However, you know what's worse? Your game fps dips to the low 10s and your keyboard feels like a boiling pot whenever you touch it all because the OEM refuses to scale up the fans. 


Well, today, I am gonna show you how to ignore whatever fan scaling profile your OEM sets for you and crank up your laptop's fan speed manually. On custom built computer, this is straight forward, you just go into the bios to set the cpu fan and then use something like afterburner to set your gpu fan speed if you happen to have discrete Nvidia cards, on laptop, no such thing. Your bios is locked or lack options and your gpu doesn't come with its own fan so out of control of both the nvidia driver and application like afterburner. Luckily there is software called notebook fan control that will allow us to do this regardless.


STEP 1: Get Notebook Fan Control(NBFC) from GitHub

Download Link

If you are on Windows, just download the .exe file from the link above and run it. For Linux user such as myself, there are additional steps so read on if you are team penguin like me. 




For clarification, my guide is relevant to Ubuntu based distros like Mint and Pop OS. If you have anything else, you need to google up your distros' relevant command for its package manager since it may not use apt.

Anyways, this is build guide from the developer if you want to try it out on none Ubuntu based distros. 

Build guide


Open up your terminal and run:

cd && git clone https://github.com/hirschmann/nbfc.git 



STEP 2: Install the dependencies for compiling. 

Run the command below.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF && echo "deb https://download.mono-project.com/repo/ubuntu stable-bionic main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list && sudo apt update && sudo apt install mono-complete


wait a second until it finishes downloading mono.(yes, this app is coded in C# and targets Microsoft .net, crazy right?)


STEP 3: Build the application from source

Run the command below

cd ~/nbfc && chmod +x build.sh && ./build.sh 

Wait until it finishes.


STEP 4: Moved the binary to /opt

I personally just dump the binary into my bin folder located in my home directory but it requires more steps like editing the service script so for the sake of this guide, I will follow the steps on the github readme which installs the binary to /opt.


sudo mkdir /opt/nbfc/ && sudo cp -r ~/nbfc/Linux/bin/Release/* /opt/nbfc/


STEP 5: create the systemd service script

If your distro do not use systemd, you are on your own to figure this out. If you are on ubuntu distros, systemd should be the default init system. 

The service script is already written for us so just copy it to the systemd folder.


sudo cp ~/nbfc/Linux/nbfc.service /etc/systemd/system/ && sudo cp ~/nbfc/Linux/nbfc-sleep.service /etc/systemd/system/


STEP 6: Start the service daemon for nbfc

sudo systemctl enable nbfc --now


make sure it is up and running using this command 

systemctl status nbfc

You should see something similar to that of below 



STEP 7: set a profile nbfc

You need to select a profile depending on your specific laptop. First run this command to list the profiles available for your laptops. 


mono /opt/nbfc/nbfc.exe

note it is important to run this with mono command. If you just double click on nbfc without a terminal, your operating system may run it as windows application through WINE which soon enough you will get a warning telling you mono applications should not be run on windows. Anyways, you should see this below if done correctly, ignore the command you see in the image and use the one I post above.



My latop is E5-575G so i pick the first one but all the other ones are likely to work as well. 


 mono /opt/nbfc/nbfc.exe config -a <config name>

Replace the config with your config file enclosed in double quotes. I picked the 575G so my command would be:

mono /opt/nbfc/nbfc.exe config -a "Acer Aspire E5-575G"


STEP 8: Crank up your laptop fan speed to 100%!!!!


mono /opt/nbfc/nbfc.exe set -s 100

Now hear your fan roaring like a jet engine. It never gets this loud without manually setting it. You know why? Becuase OEM never sets fans to spin at max speed even if your laptop is crazy hot. They just throttle the performance instead. I guess my fan speed will go up to 80% max under heaviest load on the OEM presets.


To reset the fan speed back to original(which is the default set by your oem) just run

mono /opt/nbfc/nbfc.exe set -a


Left over things to do. 


Delete the project folder from github. It is useless now

rm -rf ~/nbfc


To uninstall, just delete the nbfc directory from /opt and the systemd service scripts. PM me if you want clear instructions. 


Thats it. Now you can play your favorite games and whatnots without your laptop burning up or your cpu/gpu heavily throttling. 


Happy computing and gaming. 

Sudo make me a sandwich 

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now