Устройства Lenovo Legion используют несколько профилей питания для регулировки производительности в ноутбуках и портативных игровых системах. При установке Linux эти профили работают некорректно: драйвер неверно интерпретирует данные прошивки, что приводит к ложным показателям энергопотребления и нестабильности, особенно на портативных устройствах, где точное управление TDP критично для автономности и термоконтроля. Согласно публикации на Phoronix, независимый разработчик Дерек Кларк представил серию патчей, которые, предположительно, устраняют указанные проблемы.
Патчи добавляют режим Extreme в драйвер lenovo-wmi-gamezone и заменяют механизм deny list (запрет неподдерживаемых моделей) на allow list (разрешение только верифицированных). На момент подачи ни одна модель не включена в этот список, то есть режим Extreme будет недоступен по умолчанию, хотя пользователи сохранят возможность его активации через комбинацию Fn+Q. Это важно, поскольку Extreme поднимает PPT/SPL до максимальных значений, например до 115 Вт на Legion Go в режиме Performance+ под Windows, что превышает безопасные пределы питания от аккумулятора (обычно 45–80 Вт в Balanced/Performance).
Драйвер WMI GameZone служит интерфейсом между прошивкой Lenovo и ядром Linux. На Windows аналогичные функции реализуются через Lenovo Vantage, который фильтрует доступ к Extreme на основе данных ACPI и DSDT. В Linux такой фильтрации нет — BIOS некоторых моделей Legion ошибочно сообщает о поддержке Extreme, хотя аппаратно она отсутствует. Это приводит к цепочке ошибок: Extreme фактически запускает Performance, а выбор Performance деградирует до Balanced. Патч Кларка устраняет эту цепочку, но не решает фундаментальную проблему — отсутствие валидации на уровне ядра. Allow list — это лишь временная мера, требующая ручного обновления при выходе новых моделей.
Режим Extreme предполагает PPT выше 100 Вт, что невозможно при питании от аккумулятора ёмкостью 73 Вт·ч (Legion Go) без немедленного троттлинга или отключения. Тесты на Windows показывают падение частот CPU при переходе на батарею даже в Performance (с 4,5 ГГц до 2,8 ГГц). Под Linux без корректного PMU-драйвера риск выше: возможен неконтролируемый рост энергопотребления, приводящий к перегреву или аварийному отключению.
Отсутствие моделей в allow list — не случайность, а следствие отсутствия систематического тестирования. Проект open-source, но нет публичных бенчмарков (stress-ng, sbc-bench, powerstat) на реальных устройствах, нет данных о термопрофиле при длительной нагрузке, нет статистики по разбросу PPT между экземплярами одной модели (известно, что BIOS-вариации дают ±15 %). До интеграции в основное ядро (вероятно, Linux 6.13 или позже) и независимого аудита утверждения о стабильности остаются гипотетическими.
Пользователи уже обходят ограничения через легаси-утилиты (legion-linux, ryzenadj), но они требуют ручной настройки TDP, не интегрированы с systemd-power-profiles и не поддерживают динамическое переключение. Патч Кларка потенциально решает это, но только для WMI-совместимых моделей, исключая, например, будущие устройства на Qualcomm или Intel Lunar Lake.
Предложенные изменения технически обоснованы и устраняют известные баги в отображении профилей. Однако Extreme остаётся недоступным до верификации, риски перегрузки аккумулятора и перегрева не устранены, отсутствует независимая валидация производительности и стабильности. Пока патчи не приняты в ядро и не протестированы на выборке не менее десяти устройств с измерением PPT, температуры и автономности, их влияние на пользовательский опыт остаётся неподтверждённым. Рекомендуется отслеживать LKML и Phoronix для результатов ревью и первых отчётов с реального железа.
Оригинал
Уникальность