LenovoLegionLinux
Driver and tools for controlling Lenovo Legion laptops in Linux including fan control and power mode.
Install / Use
/learn @johnfanv2/LenovoLegionLinuxREADME
</br>
</br>

Other language versions of this README file:
This project is not affiliated with Lenovo in any way
<!-- # If you have a 2022 or 2023 model, please help testing the new features [here](https://github.com/johnfanv2/LenovoLegionLinux/issues/46). # If you have a light in the lid (Y-logo) or at the IO-ports (all Legion 7), please help testing controlling it [here](https://github.com/johnfanv2/LenovoLegionLinux/issues/54). -->Lenovo Legion Linux (LLL) brings additional drivers and tools for Lenovo Legion series laptops to Linux. It is the alternative to Lenovo Vantage or Legion Zone (both Windows only).
It allows you to control features like the fan curve, power mode, power limits, rapid charging, and more. This has been achieved through reverse engineering and disassembling the ACPI firmware, as well as the firmware and memory of the embedded controller (EC).
:star: Please star this repository if this is useful or might be useful in the future.
:star2: My goal is to merge the driver into the main Linux kernel so it comes automatically with Linux and no recompilation is required after a Linux update
:boom: Starring shows that this is useful to me and the Linux community so hopefully a merge into the Kernel is possible.
:rocket: Features
<p align="center"> <img height="300" style="float: center;" src="doc/assets/fancurve_gui.jpg" alt="fancurve"> <img height="300" style="float: center;" src="doc/assets/psensor.png" alt="psensor"> <img height="300" style="float: center;" src="doc/assets/powermode.png" alt="powermode"> </p>- [X] Light on RAM and CPU and without telemetry
- [X] Fully controllable using scripts or from the command-line
- [X] Simple GUI replacement for Lenovo Vantage: Fan curve, FN Lock, Win Key, Touchpad Power, Camera Power, Battery Conservation, Rapid Charging, Charge output from always on USB, Display Overdrive, Y-Logo LED Light, IO-Port LED Light, Hybrid Mode (GSync), CPU and GPU Overclock:
- Switch battery conservation mode; keep battery at 60% when on AC to prolong battery life (https://bugs.kde.org/show_bug.cgi?id=441057)
- Toggle Fn lock; Use special function on F1-F12 keys without pressing the Fn key
- Enable or disable touchpad
- [X] Set a fully featured custom fan curve with up to 10 points:
- Set temperature points for when the fan speed (level) should change
- Use CPU, GPU and IC temperature to control the fan all at the same it
- Set the fan speed (RPM) at each level
- Even allows speed below 1600 RPM
- Set minimum temperature for each level that must be fallen below before slowing down the fans again
- Set acceleration and deceleration for each the fan when the fan speed should increase or decrease
- Save and load presets for different modes
- [X] Lock and unlock the fan controller and fan speed
- [X] Switch power mode (quiet, balanced, performance) using software
- Now you can do it using software in your system settings
- Changing with
Fn+Qis also possible - Depending on your desktop environment, you could automatically switch to quiet mode if you are on battery or performance mode when on AC power (e.g. KDE's Energy Saving settings)
- Switch between different fan profiles depending on the power profile (See: Lenovo Legion Laptop Support Daemon)
- [X] Monitor fan speeds and temperatures (CPU, GPU, IC) using the now available sensors
- [X] Enable or disable automatic switching to a "Mini Fan Curve" if temperatures are low for a long time
:mega: Overview
- it comes with a driver (kernel module) that implements the Linux standard interfaces (sysfs, debugfs, hwmon)
- using standard Linux interfaces makes it is compatible with the command line/file interface or standard GUI tools like psensor
- compared to vendor tools for Windows, it even allows to set the fan curve. This allows to keep the fans slowly and quietly running instead of constantly switching between fans off and loud fans. Perfect for quiet office work. :office:
:package: Available Packages
- Debian/Ubuntu:
- Debian repo (for now): here
- Fedora/RHEL Base Distros:
- Official Fedora COPR: here
- Arch Base Distros:
- Gentoo Base Distros:
- NixOS
[^1]: Build with latest commit every day at midnight GMT
:pushpin: Confirmed Compatible Models
If you have a 2022 or 2023 model, please help testing the new features here.
If you have a light in the lid (Y-logo) or at the IO-ports (all Legion 7), please help testing controlling it here.
Other Lenovo Legion models from 2020 to 2023 probably also work. The following models were confirmed. If you have a model with a BIOS version with the same leading letters, e.g. EFCN (like EFCN54WW) then it will probably work. If you want to confirm that your model works or if it does not work, please raise a issue.
- Lenovo Legion 5 15IMH05, 15IMH05H (BIOS EFCN54WW): sensors, fan curve, power profile
- Lenovo Legion 5 15ACH6H (BIOS GKCN58WW or GKCN57WW), Gen 6: sensors, fan curve, power profile
- Lenovo Legion R9000 (R9000K2021H) (BIOS GKCN59WW): sensors, fan curve, power profile
- Lenovo Legion 5 Pro 16ACH6H (82JQ) (BIOS GKCN58WW) x 2: sensors, fan curve, power profile
- Legion 5 Pro 16ACH6H (AMD 5800H + Nvidia RTX 3070): sensors, fan curve, power profile
- Lenovo Legion 5 15ARH05A (BIOS FSCN14WW), Gen 5: sensors, fan curve
- Lenovo Legion 5 15ARH05H (BIOS FSCN14WW or FSCN26WW), Gen 5: sensors, fan curve, power profile
- Lenovo Legion 5 15ITH6H (BIOS H1CN49WW, Intel): sensors, fan curve, power profile
- Lenovo Legion 5 15ARH7H (BIOS JUCN55WW), Gen7: sensors, fan curve, power profile
- Lenovo Legion 5 15ACH6 (BIOS HHCN31WW): sensors, fan curve, power profile
- Lenovo Legion S7 16ARHA7 (BIOS KFCN32WW): sensors, fan curve (no minifancurve), power profile
- Lenovo Legion 5 Pro 16ITH6 (BIOS H1CN52WW (there was an error in CPU temp with H1CN51WW)): sensors, fan curve, power profile
- Lenovo Legion 5 15ACH6A (BIOS G9CN30WW), all AMD variant: sensors, fan curve (with mini fan curve), power profile
- Lenovo Legion 5 17ACH6 (BIOS HHCN31WW): sensors, fan curve, power profile
- Lenovo Legion 7i 16ITHG6 (BIOS H1CN35WW): sensors, fan curve, power profile
- Lenovo Legion 7 Pro 16ARX8H (BIOS LPCN47WW): sensors, fan curve, power profile
Note: Features that are not confirmed probably also work. They were just not tested.
Currently fan control is not working for the following models. Other features, probably work:
- Legion with BIOS HACN*, e.g. S7-15ACH6: Issue
- Legion Y530 and Legion Y540: [Issue](https://github.com/johnfanv2/Len
