05 / 06 · Rust · syngui · hidraw
linux-legion
Центр управления ноутбуками Lenovo Legion для Linux — то, что в Windows делают Lenovo Vantage и Legion Space: режимы питания, лимиты мощности CPU, вентиляторы, RGB-подсветка Spectrum по клавишам, режимы батареи и аппаратные переключатели.
- Лицензия
- MIT
- Платформа
- Linux · ноутбуки Lenovo Legion
- Пакеты
- linux-legion (AUR)
- Статус
- Проверено на Legion Pro 7 16IAX10H

Что это
linux-legion написан на Rust и syngui. Он пользуется штатными драйверами ядра (lenovo-wmi-gamezone, lenovo-wmi-other, ideapad-laptop) и общается с RGB-контроллером напрямую через hidraw — без стороннего модуля ядра, без демона и без root при работе.
Правило udev даёт вошедшему пользователю доступ к RGB-контроллеру и открывает настройки в sysfs на запись группе wheel. В README описан и протокол Spectrum, включая особенности 10-го поколения, найденные на живом железе, — для тех, кто захочет перенести его куда-то ещё.
Возможности
- Главная: режим питания в один клик, живые шкалы CPU / GPU / памяти / батареи и обороты вентиляторов; видеокарта NVIDIA опрашивается, только если уже проснулась, так что панель не будит дискретную карту.
- Производительность: Quiet, Balanced, Performance, Extreme и Custom (то же, что Fn+Q); в Custom — PL1 / PL2 процессора, все остальные лимиты, которые отдаёт прошивка, и ручные обороты вентиляторов.
- Автоприменение: прошивка забывает свои лимиты после перезагрузки, поэтому необязательный пользовательский сервис возвращает их при входе, при включении Custom и после сна.
- Подсветка Spectrum: шесть аппаратных профилей, яркость, логотип LEGION на крышке и редактор слоёв на живой карте клавиш с 12 эффектами; профили хранятся в самой клавиатуре.
- Батарея: Standard, Rapid charge или Conservation (≈80 %), уровень заряда и износ.
- Устройство: Fn Lock, аппаратное отключение камеры, зарядка по USB в выключенном состоянии и сведения о системе.
- --simulate показывает весь интерфейс без железа; LEGION_TRACE=1 печатает каждый RGB-пакет.
Установка
yay -S linux-legion # or: paru -S linux-legionПакет ставит бинарник, пункт меню, иконки и правило udev. Из исходников: cargo build --release, затем положить packaging/70-linux-legion.rules в /etc/udev/rules.d/ и перезагрузить правила udev.
Требования и ограничения
- Разработан и проверен на одном ноутбуке: Legion Pro 7 16IAX10H (83F5, Core Ultra 9 275HX, RTX 5090 Laptop, контроллер Spectrum 048d:c197), Arch Linux, ядро 7.0.
- Другие модели Legion с теми же интерфейсами ядра и контроллером Spectrum (048d:c1xx / c9xx) должны работать — каждая страница подстраивается под то, что сообщает прошивка, — но не проверялись.
- Интерфейс пока только на русском.
- Неофициальный проект, с Lenovo не связан. Лимиты и обороты задаются через штатные интерфейсы прошивки, но вся ответственность — на вас.
Скриншоты
- (открыть в полном размере)

Подсветка Spectrum — живая карта клавиш - (открыть в полном размере)

Слои эффектов подсветки - (открыть в полном размере)

Режимы производительности, лимиты мощности и вентиляторы - (открыть в полном размере)

Режимы зарядки батареи - (открыть в полном размере)

Переключатели устройства и сведения о системе
Вайбкодинг в Claude Code
Как сделано
Модель пишет код, тесты и большую часть документации. Каждый формат пакета снят с моего собственного Legion и проверен на нём — живые тесты пишут слои в неактивный профиль клавиатуры, читают обратно и восстанавливают исходный байт в байт.
Всё здесь написано вайбкодингом. github.com/VitaminDB/linux-legion