Ubuntu nemělo ovladač pro senzory a výkonové režimy Lenovo Legion
Firmware, tedy interní software notebooku, už poskytoval údaje senzorů i výkonové režimy. V používaném linuxovém jádře ale chyběl funkční ovladač, který by tyto funkce zpřístupnil Ubuntu.
Při stisku Fn+Q se na mém Lenovo Legion změnila barva diody a notebook přepnul výkonový režim. V nabídce Ubuntu ale zůstávala „Rovnováha“. Z pracovní plochy jsem tak nepoznal, jaký režim používám, a chtěl jsem ho měnit také ze systémové nabídky.
Chyběly mi i otáčky obou ventilátorů. V Conky, přehledu stavu počítače na ploše, sleduji provozní údaje při práci. Potřeboval jsem do něj dostat také hodnoty, podle kterých vidím, co se děje s chlazením.
S komunitním ovladačem jsem měl zkušenost už dříve. Po změně linuxového jádra přestal fungovat a jeho automatické sestavení zkomplikovalo aktualizaci systému. Při nové instalaci jsem proto řešil i další údržbu.
LenovoLegionLinux: ovladač, který zpřístupní funkce notebooku Linuxu
LenovoLegionLinux od johnfanv2 je komunitní projekt pro podporované notebooky Legion. Obsahuje ovladač do linuxového jádra a doprovodné nástroje. Projekt nabízí linuxovou alternativu k části funkcí Lenovo Vantage.
Kromě senzorů a výkonových profilů nabízí LenovoLegionLinux na podporovaných modelech také úpravu ventilátorové křivky, vybraných limitů CPU/GPU, rychlé nabíjení a režim ochrany baterie. Dostupnost jednotlivých funkcí se liší podle notebooku a BIOSu.
Prověřil jsem podporu svého zařízení, sestavil modul legion_laptop pro používané jádro a propojil ho s Ubuntu. Zdrojový kód ovladače jsem ponechal beze změn. Moje práce spočívala v diagnostice a integraci existujícího open-source řešení.
Lenovo Legion Pro 7 16ARX8H / 82WS s BIOSem LPCN65WW
Řešení jsem ověřil na vlastním notebooku v této konfiguraci. Přesný model, BIOS a jádro pomáhají odlišit zkušenost od jiných variant řady Legion:
- Notebook: Lenovo Legion Pro 7 16ARX8H, označení DMI 82WS.
- Procesor a grafika: AMD Ryzen 9 7945HX a NVIDIA GeForce RTX 4080 Laptop.
- BIOS: LPCN65WW, datum 25. března 2026.
- Systém: Ubuntu 24.04.5, jádro 6.7.9-060709-generic.
- Instalace: modul legion_laptop sestavený ručně 8. října 2026, bez DKMS.
Jak ovladač v linuxovém jádře komunikuje s firmwarem
Linuxové jádro je základ systému Ubuntu. Spravuje procesor, paměť a přístup k zařízením. Ovladač v jádře zná konkrétní rozhraní hardwaru a převádí jeho údaje do podoby, se kterou umějí pracovat aplikace.
V této instalaci jsem použil externí modul: doplněk, který se načte přímo do běžícího jádra. Firmware zůstává v notebooku a obsluhuje jeho vlastní funkce. Proto může Fn+Q přepnout režim zařízení i v situaci, kdy se o změně Ubuntu nedozví.
Při čtení otáček vede cesta na tomto modelu přes rozhraní výrobce WMI. Ovladač poskytne data prostřednictvím standardního rozhraní hwmon, které Linux používá pro hardwarové senzory:
sensors požádá přes rozhraní hwmon o údaj ventilátoru.Jak zobrazit otáčky ventilátorů Lenovo Legion v Ubuntu a Conky
Po načtení modulu jsem ověřil otáčky obou ventilátorů i teploty příkazem sensors legion_hwmon-isa-0000. Pro opakovaný výpis v terminálu používám watch -n 1 'sensors legion_hwmon-isa-0000'.
Jakmile ovladač zpřístupní hodnoty systému, lze je využít také v monitoru na pracovní ploše. Conky je v mém nastavení zobrazuje spolu s dalšími údaji počítače. Samotná instalace Conky by chybějící hardwarové rozhraní nevyřešila.
Propojení Fn+Q s výkonovými profily Ubuntu
Ovladač zpřístupnil výkonový profil přes platform_profile. Na toto rozhraní jádra navazuje služba power-profiles-daemon, kterou používá systémové ovládání Ubuntu. Po načtení modulu jsem restartoval služby správy napájení, aby nové rozhraní začaly využívat.
Ověřil jsem změnu profilu z Ubuntu i opačný směr: při stisku Fn+Q se mění také stav zobrazený v systému. Dostupné profily lze zkontrolovat příkazem powerprofilesctl list; při ověření služba uváděla PlatformDriver: platform_profile.
Používám standardní úsporný, vyvážený a výkonný profil. Podle pravidel firmwaru mohou změnit spotřebu, výkon i chlazení. Název „Výkon“ sám o sobě není měřením vyšších FPS ani zárukou konkrétního příkonu.
Co se stane s ovladačem po aktualizaci linuxového jádra
Externí modul se sestavuje pro konkrétní jádro s odpovídajícími podklady pro sestavení, včetně hlaviček. Při přechodu na další jádro je potřeba ověřit jeho kompatibilitu a připravit modul pro novou verzi. Tento princip popisuje také dokumentace sestavení externích modulů.
DKMS umí sestavování po změně jádra automatizovat. Pokud ale zdroj ovladače novému jádru neodpovídá, sestavení může selhat. Pro svoji instalaci jsem zvolil ruční postup bez registrace LenovoLegionLinux v DKMS: nejprve dokončím aktualizaci Ubuntu a teprve potom sestavím, ověřím a nainstaluji modul.
Aktualizace balíčků tak nespouští kompilaci tohoto ovladače. Za toto oddělení platím ruční údržbou: po změně jádra nemusí být jeho funkce dostupné, dokud nepřipravím odpovídající modul. Pro současné jádro jsem nastavil načítání při startu.
Otáčky na ploše a výkonový režim, který odpovídá stavu notebooku
Otáčky obou ventilátorů vidím v Conky při běžné práci. Výkonový profil měním z nabídky Ubuntu i pomocí Fn+Q a systém ukazuje odpovídající stav. Kvůli těmto funkcím nemusím otevírat další aplikaci.
Zkušenost ukazuje praktické využití ovladače jádra: údaje a nastavení, které notebook už má, mohu používat ve svém pracovním prostředí. Stejný typ integrační práce pomáhá i u jiných zařízení, jejichž data potřebujete dostat do vlastního softwaru.
Kompatibilita a instalace LenovoLegionLinux v praxi
Musím kvůli ovladači přeložit celé linuxové jádro?
V této instalaci stačilo sestavit externí modul pro používané jádro a načíst ho. Vlastní distribuci ani nové jádro jsem kvůli této integraci nevytvářel.
Funguje to i na jiném modelu Lenovo Legion?
Ověření v tomto článku platí pro uvedenou konfiguraci. Seznam projektu uvádí 16ARX8H s BIOSem LPCN47WW. Moje kombinace Pro 7 / LPCN65WW je vlastní otestovaná instalace, nikoli potvrzení všech verzí BIOSu nebo modelů.
Umí LenovoLegionLinux také ovládat otáčky ventilátorů?
Na podporovaných modelech ano, pomocí ventilátorové křivky. Ovladač použitý na mém notebooku umožňuje měnit rychlostní body křivky, tedy nastavené otáčky v jejích jednotlivých bodech. Kompletní úpravu teplotních prahů a dalších parametrů křivky nepodporuje. V této instalaci jsem ověřil čtení senzorů a standardní výkonové profily. Vlastní ventilátorovou křivku jsem nenastavoval.


