🌐
UbuntuHandbook
ubuntuhandbook.org › home › howtos › control gpu/cpu fan speed with coolercontrol in ubuntu 24.04
Control GPU/CPU Fan Speed with CoolerControl in Ubuntu 24.04 | UbuntuHandbook
This tutorial shows how to install and use CoolerControl to control your CPU or graphics card fan speed in Ubuntu desktop computer or laptop.
🌐
Zarino
zarino.co.uk › post › amd-gpu-fan-curve-pop-os-ubuntu
Controlling the fan curve of an AMD GPU on Pop!_OS (or other Ubuntu-like operating systems)
April 23, 2020 - One of the things CoreCtrl lets you do is set a custom fan curve for your GPU, on a nice point-and-click line graph. Awesome! The downside, however, is that CoreCtrl has to be running to control that curve. I spent a while with CoreCtrl set as a startup application, but it was annoying having ...
🌐
Linux Mint Forums
forums.linuxmint.com › board index › main edition support › software & applications
Configuring Corectrl help please. Want to add fan info.[SOLVED] - Linux Mint Forums
I have that resolved, Koentje clued ... wanted, not the % of max speed like Corectrl displayed. The documentation states CoreCtl takes over control of your fan when you install CoreCtl....
🌐
LinuxReviews
linuxreviews.org › CoreCtrl
CoreCtrl - LinuxReviews
There is no way to prevent CoreCtrl from taking control of the GPU fan and it does not appear that developer Juan Palacios is willing to fix this bug[2]. And it is a bug, not a feature.
🌐
openSUSE Forums
forums.opensuse.org › english › applications
CoreCTRL, no application can control my gpu fans & temps - Applications - openSUSE Forums
November 9, 2024 - As title. Hi all, I have literally been going crazy for days without finding a solution. I premise that I am completely new to the world of linux, and as a pc gamer, from windows 11 I decided to move to a more ethical OS. And precisely, being a pc gamer, I have an interest in controlling the fans and temperatures of my gpu.
🌐
Linux.org
linux.org › home › forums › general linux forums › distribution specific › suse / opensuse
Gpu fan manual control | Linux.org
December 1, 2024 - It would then use that fan speed after you rebooted. There was no real granularity beyond that. Click to expand... ... You can also try this. Click to expand... Am using AMD rx7600xt gpu ... From what I have seen something like that should be possible with core-ctrl, under "Full AMD GPU controls".
Find elsewhere
🌐
Reddit
reddit.com › r/linux_gaming › corectrl fan on rx6750xt never spins up
r/linux_gaming on Reddit: CoreCtrl fan on rx6750xt never spins up
October 18, 2022 -

I have Ubuntu 22.04 with oem kernel (Linux luca-desktop 5.17.0-1018-oem #19-Ubuntu SMP PREEMPT Wed Sep 21 09:54:58 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux) and Kisak mesa (OpenGL version string: 4.6 (Compatibility Profile) Mesa 22.2.0 - kisak-mesa PPA) with a Radeon rx6750xt.

I have enabled the root execution of CoreCtrl and the kernel parameter to expose the AMD settings, but in any of the 4 possible settings (Curve, Fixed, Automatic, Do not control) the fan always shows 0 rpm even if after some gaming I have 80C on Temperature and 100C on Junction.

Can you help, please?

---UPDATE---

It turns out to be a problem of:

lm-sensors values (I guess they are the same that are printed in corectrl as they seem to match). While /sys/class/drm/card0/device/hwmon/hwmon0/pwm1 shows values bigger than 0 lm-sensors reports 0% fan speed while the fans are actually spinning. The biggest value I have seen up until now is 1%.

🌐
Ask Ubuntu
askubuntu.com › questions › tagged › fancontrol
Newest 'fancontrol' Questions - Ask Ubuntu
I've stress test the laptop until cpu temperature hit 90 Celcius but the fan not spinning at all. In windows, fan working fine with Omen Utilities. fan-control and nbfc have no working configuration. ... ... I have installed Ubuntu server 22.04 on an old HP dekstop ~(10-15) years old computer.
🌐
Reddit
reddit.com › r/linux_gaming › corectrl, a new foss linux tool to help you control your pc with application profiles, fan, clock and power control
CoreCtrl, a new FOSS Linux tool to help you control your PC with application profiles, fan, clock and power control : r/linux_gaming
July 21, 2019 - This is a really much needed one. I couldn't find anything to control my 1st Gen i5 Probook's fan to kick off earlier and harder as it gets over 50°c to 70° all the time. Cleaned fan, changed heat paste ..
🌐
GamingOnLinux
gamingonlinux.com › 2024 › 03 › corectrl-adds-amd-rx-7000-series-fan-curve-controls-intel-cpu-temperature-sensors
CoreCtrl adds AMD RX 7000 series fan curve controls, Intel CPU temperature sensors | GamingOnLinux
March 19, 2024 - CoreCtrl is a useful application giving you a full GUI for adjusting your CPU and GPU profiles on Linux, and the latest release has expanded the hardware features supported. You can have it activate certain profiles when launching specific ...
Top answer
1 of 8
224

Note before starting:

This functionality depends on both your hardware and software. If your hardware doesn't support fan speed controls, or doesn't show them to the OS, it is very likely that you could not use this solution. If it does, but the software (aka kernel) doesn't know how to control it, you are without luck.


  1. Install the lm-sensors and fancontrol packages.

  2. Configure lm-sensors as follows:

    1. In terminal type sudo sensors-detect and answer YES to all YES/no questions.
      (Potentially, this can damage your system or cause system crash. For a lot of systems, it is safe. There is no guarantee that this process will not damage your system permanently, I just think that chance of such critical failure is really really low. Saving all your work for eventual crashes/freezes/restarts before handling system configuration is always good idea. If you feel unsure, read the comments and try to search a web and get some high-level overview before YES-ing everything, maybe being selective with your YES-es will still be enough)

    2. At the end of sensors-detect, a list of modules that need to be loaded will be displayed. Type "yes" to have sensors-detect insert those modules into /etc/modules, or edit /etc/modules yourself.

    3. Run sudo service kmod start This will read the changes you made to /etc/modules in step 2, and insert the new modules into the kernel.
      Note: If you're running Ubuntu 12.04 or lower, this 3rd step command should be replaced by sudo service module-init-tools restart

  3. Configure fancontrol

    1. In terminal type sudo pwmconfig . This script will stop each fan for 5 seconds to find out which fans can be controlled by which PWM handle. After script loops through all fans, you can configure which fan corresponds to which temperature.
    2. You will have to specify what sensors to use. This is a bit tricky. If you have just one fan, make sure to use a temperature sensor for your core to base the fancontrol speed on.
    3. Run through the prompts and save the changes to the default location.
    4. Make adjustments to fine-tune /etc/fancontrol and use sudo service fancontrol restart to apply your changes. (In my case I set interval to 2 seconds.)
  4. Set up fancontrol service

    1. Run sudo service fancontrol start. This will also make the fancontrol service run automatically at system startup.

In my case /etc/fancontrol for CPU I used:

Settings for hwmon0/device/pwm2:
(Depends on hwmon0/device/temp2_input) (Controls hwmon0/device/fan2_input)

INTERVAL=2
MINTEMP=40  
MAXTEMP=60  
MINSTART=150  
MINSTOP=0  
MINPWM=0  
MAXPWM=255 

and on a different system it is:

INTERVAL=10
DEVPATH=hwmon1=devices/platform/coretemp.0 hwmon2=devices/platform/nct6775.2608
DEVNAME=hwmon1=coretemp hwmon2=nct6779
FCTEMPS=hwmon2/pwm2=hwmon1/temp2_input
FCFANS=hwmon2/pwm2=hwmon2/fan2_input
MINTEMP=hwmon2/pwm2=49
MAXTEMP=hwmon2/pwm2=83
MINSTART=hwmon2/pwm2=150
MINSTOP=hwmon2/pwm2=15
MINPWM=hwmon2/pwm2=14
MAXPWM=hwmon2/pwm2=255

This man page gives some useful info on the settings and what they really do.

2 of 8
63

If you own a ThinkPad, there's a piece of software called thinkfan that does exactly this. As the name obviously suggests, it is specifically made for ThinkPads (thinkpad_acpi).

The thinkfan software is available in the standard ubuntu software repositories, but it does require a few steps to configure.

Here is an easy step-by-step guide, which is basically a translated version of this German guide.

Relevant Information from Post

  1. Install the thinkfan software and the sensors:

    sudo apt-get install thinkfan lm-sensors
    
  2. Make sure that the daemon controls the fan by editing the thinkpad.conf file:

    sudo nano /etc/modprobe.d/thinkfan.conf
    

    by adding the following line:

    options thinkpad_acpi fan_control=1
    
  3. Make the daemon load automatically at start-up by editing the file:

    sudo nano /etc/default/thinkfan
    

    making sure that the START key is set to yes, i.e., there should be a line that says:

    START=yes
    
  4. Detect your laptop's sensors:

    sudo sensors-detect
    

    and just choose the default answers whenever you're prompted by hitting Enter.

  5. Load the new modules. From Ubuntu 13.10 this done by:

    sudo service kmod start
    

    while for previous versions like 13.04 you instead will need to do:

    sudo service module-init-tools start
    
  6. Figure out which sensors are in use:

    sensors
    

    (the ones that indicate 0 degrees are not in use, I don't know why those are "detected" too). Remember which ones are in use.

  7. Find out the full paths of these sensors:

    find /sys/devices -type f -name "temp*_input"
    

    The output should be a list of paths like /sys/devices/...

  8. Copy-paste the paths to the sensors into the configuration file /etc/thinkpad.conf. To do this, first open up the file:

    sudo nano /etc/thinkfan.conf
    

    There should already be a line like

    #sensor /proc/acpi/ibm/thermal (0, 10, 15, 2, 10, 5, 0, 3, 0, 3) 
    

    (the #-symbol means that that line is commented out). Add a line starting with sensor (without the #-symbol) and copy-paste you first sensor. Repeat this if you have more than one sensor. For example, on my machine, the output in step 7 yields

    /sys/devices/virtual/hwmon/hwmon0/temp1_input
    /sys/devices/platform/thinkpad_hwmon/temp3_input
    /sys/devices/platform/thinkpad_hwmon/temp4_input
    /sys/devices/platform/thinkpad_hwmon/temp5_input
    /sys/devices/platform/thinkpad_hwmon/temp6_input
    /sys/devices/platform/thinkpad_hwmon/temp7_input
    /sys/devices/platform/thinkpad_hwmon/temp1_input
    /sys/devices/platform/thinkpad_hwmon/temp8_input
    /sys/devices/platform/thinkpad_hwmon/temp2_input
    /sys/devices/platform/coretemp.0/temp4_input
    /sys/devices/platform/coretemp.0/temp2_input 
    

    The ones that are in use in my machine are the ones in the first and the last two lines, so I added the three lines:

    sensor /sys/devices/virtual/hwmon/hwmon0/temp1_input
    sensor /sys/devices/platform/coretemp.0/temp4_input
    sensor /sys/devices/platform/coretemp.0/temp2_input 
    
  9. Finally, we can set the fan speed levels in the configuration file. Open the /etc/thinkpad.conf file if it wasn't open already.

    sudo nano /etc/thinkfan.conf
    

    The fan levels I use on my ThinkPad x201 are:

    (0, 0, 51)
    (1, 50, 52)
    (2, 51, 55)
    (3, 54, 58)
    (4, 56, 63)
    (5, 60, 70)
    (6, 66, 79)
    (7, 74, 92)
    (127, 85, 32767) 
    

    The last line ensures full fan speed (127 = "disengaged" i.e. unregulated). You can fiddle with these levels to fit your needs/wishes, but PLEASE BE CAREFUL!

  10. Reboot. Everything should work now. In order to check whether thinkpad is running correctly, use:

    sudo thinkfan -n
    

    Which starts thinkfan in verbose mode. You might want to stop the thinkfan daemon first:

    sudo /etc/init.d/thinkfan stop
    

    If you want to start the thinkfan daemon again, type:

    sudo /etc/init.d/thinkfan start
    

Just to be complete, my /etc/thinkfan.conf configuration file is:

# IMPORTANT:
#
# To keep your HD from overheating, you have to specify a correction value for
# the sensor that has the HD's temperature. You need to do this because
# thinkfan uses only the highest temperature it can find in the system, and
# that'll most likely never be your HD, as most HDs are already out of spec
# when they reach 55 °C.
# Correction values are applied from left to right in the same order as the
# temperatures are read from the file.
#
# For example:
# sensor /proc/acpi/ibm/thermal (0, 0, 10)
# will add a fixed value of 10 °C the 3rd value read from that file. Check out
# http://www.thinkwiki.org/wiki/Thermal_Sensors to find out how much you may
# want to add to certain temperatures.

# Syntax:
# (LEVEL, LOW, HIGH)
# LEVEL is the fan level to use (0-7 with thinkpad_acpi)
# LOW is the temperature at which to step down to the previous level
# HIGH is the temperature at which to step up to the next level
# All numbers are integers.
#

# I use this on my T61p:
#sensor /proc/acpi/ibm/thermal (0, 10, 15, 2, 10, 5, 0, 3, 0, 3)

#(0, 0, 55)
#(1, 48, 60)
#(2, 50, 61)
#(3, 52, 63)
#(4, 56, 65)
#(5, 59, 66)
#(7, 63, 32767)


# My settings for my ThinkPad X201: (kris)

sensor /sys/devices/virtual/hwmon/hwmon0/temp1_input
sensor /sys/devices/platform/coretemp.0/temp4_input
sensor /sys/devices/platform/coretemp.0/temp2_input

(0, 0, 51)
(1, 50, 52)
(2, 51, 55)
(3, 54, 58)
(4, 56, 63)
(5, 60, 70)
(6, 66, 79)
(7, 74, 92)
(127, 85, 32767)
🌐
AlternativeTo
alternativeto.net › software › corectrl
CoreCtrl Alternatives: Top 18 System Information Utilities & Similar Apps | AlternativeTo
CoreCTRL to adjust its parameters. Review by a new / low-activity user. Open Hardware Monitor is Free and Open SourceCoreCtrl is also Free and Open Source · Open Hardware Monitor is LightweightCoreCtrl is not according to our users ... SpeedFan is a program that monitors voltages, fan speeds and temperatures in computers and controls ...
🌐
Linux Mint Forums
forums.linuxmint.com › board index › main edition support › software & applications
(Solved) Changing my graphics card fan speed - Linux Mint Forums
September 27, 2024 - Of course what CoreCtrl can do depends on the backends it uses. There is another gui utility called Fancontrol (also in Software Manager). If you have the time and will, you can go get your hands dirty with the cli. This section of arch wiki is mostly valid even for Ubuntu-based distros.
🌐
GabMus's Dev Log
gabmus.org › posts › rdna3_fan_control_in_linux
RDNA3 Fan Control in Linux - Why are my GPU fans not spinning under load? – GabMus's Dev Log
What they do have is manual fan curve control. The funny thing is that for whatever reason the default fan curve (at least for my particular card) looks like this: $ cat /sys/class/drm/card1/device/gpu_od/fan_ctrl/fan_curve OD_FAN_CURVE: 0: 0C 0% 1: 0C 0% 2: 0C 0% 3: 0C 0% 4: 0C 0% OD_RANGE: FAN_CURVE(hotspot temp): 25C 100C FAN_CURVE(fan speed): 15% 100%