A downloadable tool for Linux

ExtremeCooling4Linux is a Gtk3 program to enable extreme cooling fan mode on Linux.

Extreme cooling is a special fan mode supported in Lenovo Legion laptops. This mode can increase the cooling performance of your laptop and reduces its temperature. However, this feature is only supported by Lenovo through its Windows program Lenovo Sense Nerve.

ExtremeCooling4Linux has been created to enable and support this special feature on Linux. Currently is only tested in Lenovo Legion Y520, but it should be work in other models like Lenovo Legion Y720. 

This program does not have warranty and only use at your own risk. Enable extreme cooling only in short periods of time as it can reduce the lifespan of your fans and do not use in laptops without extreme cooling support from Lenovo.

ExtremeCooling4Linux is published under GPLv3. You can download its source code from gitlab

Install instructions

Before running the AppImage, it is necessary to make it executable. You can make it executable using your file manager or from the command line with chmod u+x ExtremeCooling4Linux-v0.3-x86_64.AppImage. ExtremeCooling4Linux AppImage needs root privileges, so you have to execute the AppImage with sudo ExtremeCooling4Linux-v0.3-x86_64.AppImage

If you use an Ubuntu or Debian based distribution you can install ExtremeCooling4Linux with the extremecooling4linux_0.3-1_all.deb package using dpkg or GDebi. This package adds an entry in your desktop menu and the ec4Linux command for your command line. On the other hand if you want to execute ExtremeCooling4Linux from  a desktop panel you can install indicator-extremecooling4linux-0.1.deb package.


ExtremeCooling4Linux-v0.3-x86_64.AppImage 46 MB
extremecooling4linux_0.3-1_all.deb 195 kB
indicator-extremecooling4linux-0.1.deb 12 kB
ExtremeCooling4Linux-v0.2-x86_64.AppImage 46 MB
ExtremeCooling4Linux-v0.1.3-x86_64.AppImage 41 MB


Log in with itch.io to leave a comment.

Understood.  Thank you for your time and for creating this project!  I will use the appimage and await the day that my distro of choice is upgraded to the 20.04 line.

replied to your older comment below, see if it helps.

(1 edit)


First of all "GOOD JOB"!!!

I have a Lenovo Y700, with Ubuntu 20.04.1 LTS.

I was able to install it, but enabling "Extreme Cooling", nothing happens.

I think that it should speed up the fan speed in a similar way than the Lenono Windows Nerve app. does, right?

I am also adding the log that appears when it is executed in cmd line.

INFO:extremecooling4linux:is_extreme_cooling_activate value register 0x40
INFO:extremecooling4linux:trying to detect extreme cooling support
INFO:extremecooling4linux:system_manufacturer LENOVO
INFO:extremecooling4linux:product_name 80NV
INFO:extremecooling4linux:product_version Lenovo ideapad Y700-15ISK
INFO:extremecooling4linux:chassis_type 10
INFO:extremecooling4linux:ec_wait correct
INFO:extremecooling4linux:ec_wait correct
INFO:extremecooling4linux:ec_wait correct
INFO:extremecooling4linux:is_extreme_cooling_activate value register 0x40 
INFO:extremecooling4linux:Extreme cooling could be supported, current value in extreme cooling register is 0x40 

Please let me know if I can add some extra info.


I can't find any thing wrong in your traces. On the other hand check if you have security boot disabled, and try to use the AppImage version with sudo or root.

I am running into an issue installing extremecooling4linux_0.3-1_all.deb.

gdebi throws a dependency error stating:  Error: Dependency is not satisfiable: python3-portio

I have installed portio via pip in both python 2 and 3 with no change.

I'm sure I'm missing something obvious...Any assistance would be appreciated.


to install a deb package it needs to have its dependencies in the repositories definid in the /etc/apt/sources.list file or inside /etc/apt/sources.list.d/ directory, so Gdebi can't search dependencies from pip.

Ubuntu 20.04 has python3-portio package in the universe repository. Debian Buster also has python3-portio in its repositories. If you don't have pytho3-portio I guess that you are using a distribution older than Ubuntu 20.04 or Debian Buster. If you can't update your distribution you always can use the ExtremeCooling4Linux AppImage version that is packaged with all its dependencies.

(1 edit)

ran into same dep error, do `pip install portio`. then simply extract the deb package with whatever (i use debtap) and run the executable with python3 (python2 doesn't work obviously). 

laptop : y520

system : arch

further contact on twitter (@kkYrusobad) if u encounter more hiccups.

edit : ran into problem while starting EC, `pip` installs the module for current $USER. so run `pip install portio` as root because EC is going to ask for superuser permissions once its running and portio must be installed for user `root`. finally, working as a charm.

(2 edits)

The .deb version does not work for me anymore, it worked fine a couple of days ago but now it does not want to start. I even reinstalled ubuntu 20.10 and it's still not working. Any way to solve this?

And this is the message that pops up:

(1 edit)


I use Ubuntu Mate 20.10 and I have reinstalled the deb version but it works properly, so I can't reproduce your problem.

Could you execute ExtremeCooling4Linux from the terminal with the command ec4Linux and show me the traces?

On the other hand if you have enabled Secure boot recently, disable it because it can interfere in the correct execution of the program.

Secure boot was the problem, thank you for your help!

Sorry but it seems that does not work properly in my machine. When I run the .appimage it appears that I have to run with sudo, but when I do it,  gives me a core dump. Do you have any idea how to solve this?

The following message is shown:

--- Logging error ---
Traceback (most recent call last):
  File "/usr/lib/python3.8/logging/__init__.py", line 1081, in emit
    msg = self.format(record)
  File "/usr/lib/python3.8/logging/__init__.py", line 925, in format
    return fmt.format(record)
  File "/usr/lib/python3.8/logging/__init__.py", line 664, in format
    record.message = record.getMessage()
  File "/usr/lib/python3.8/logging/__init__.py", line 369, in getMessage
    msg = msg % self.args
TypeError: not all arguments converted during string formatting
Call stack:
  File "/usr/bin/ec4Linux.py", line 508, in <module>
  File "/usr/bin/ec4Linux.py", line 210, in inicializate
    logger.error('ioperm:', os.strerror(status))
Message: 'ioperm:'
Arguments: ('Operation not permitted',)

I have a similar reported issue in gitlab. Check the issue because can be the same problem .

Thank you. Now it works fine :)

Your work is great! Can you creat a hotkey setup for cooling?

Thank you so much for this. This is absolutely a godsend for me.

Another really unique and beneficial utility for the Linux community!

It's great that it's GTK3 compliant off the bat so theming is native.

Also my love for the minimal and portable Appimage format.

Thanks for your comment and support!!!