Патч для ядра Linux на 31,8% улучшил провалы кадровой частоты на Steam Deck — благодаря умному управлению тактовой частотой AMD
Разработчик ядра Linux из Meta* предложил патч, который динамически переключает ядра AMD в режим максимальной производительности только в нужный момент — и это даёт прирост 1% low кадровой частоты более чем на 30%.
Даже небольшая оптимизация управления частотой способна устранить те микрофризы, которые портят впечатление от игры, — и при этом не съесть лишний заряд батареи.
Проблема, о которой мало кто задумывается
Когда игра на Steam Deck ненадолго «задумывается» — например, ждёт, пока GPU отрисует кадр, — драйвер AMD P-State воспринимает эту паузу как снижение нагрузки на процессор. И начинает понижать частоту ядра. Проблема в том, что к моменту, когда поток снова просыпается, частота уже упала ниже нужного уровня. Результат — микрофризы и просадки кадровой частоты, которые видны по показателям 1% low.
В настольных системах это не критично: запас мощности и энергопотребления большие. Но на портативном Steam Deck, где процессор и графика делят общий энергобюджет, проблема ощутимее. При этом просто перевести все ядра в режим максимальной производительности нельзя — это убьёт энергоэффективность EPP-режима, ради которой он и существует.
Что предлагает патч epp_boost
Решение придумал Дэвид Вернет — разработчик ядра Linux, работающий в Meta*. Его патч называется epp_boost, и он работает по-умному.
Патч мониторит загрузку каждого ядра каждые 10 миллисекунд. Если ядро загружено хотя бы на 50%, оно временно переключается в режим производительности (performance mode). Когда активность падает и держится на низком уровне 300 миллисекунд — ядро возвращается в обычный EPP-режим.
Ключевой принцип: изменение затрагивает только конкретное ядро в конкретный момент. Нет глобальных переключений, нет компромисса между производительностью и энергопотреблением. Патч просто не даёт частоте упасть слишком низко в критические моменты.
Что показали тесты
На Steam Deck с Civilization VI патч дал следующие результаты:
- 1% low кадровая частота выросла на 31,8% — то есть провалы стали заметно меньше.
- 99-й процентиль времени генерации кадра улучшился на 4,1% — крайние выбросы времени кадра тоже сгладились.
- Средняя кадровая частота не изменилась — прирост идёт исключительно за счёт устранения просадок, а не за счёт разгона.
- Медианная частота основного ядра под нагрузкой (98% загрузки) выросла с 2,43 ГГц до 3,5 ГГц — ядро просто не тормозило, когда этого не требовалось.
Цифры впечатляющие, но есть важные оговорки.
Оговорки и статус патча
Во-первых, тесты проводились на одной игре — Civilization VI. Это не репрезентативный набор, и поведение патча может отличаться в других сценариях. Стрелялки с высоким FPS или тяжёлые AAA-проекты могут реагировать иначе.
Во-вторых, инженеры AMD по ядру Linux пока не рецензировали патч. Он не прошёл код-ревью и не включён ни в один официальный релиз ядра. Вероятность того, что финальная версия (если она появится) будет выглядеть именно так, есть, но не стопроцентная.
В-третьих, автор патча работает в Meta, что вызывает лёгкую иронию: компания, известная своими сервисами, вносит вклад в оптимизацию игровой платформы Valve. Впрочем, инженеры Meta активно работают с ядром Linux (в том числе для серверной инфраструктуры и AR/VR-проектов), так что это не случайность.
Что это значит для владельцев Steam Deck
В текущем виде патч — это пока эксперимент, а не готовое решение. Но он демонстрирует важную вещь: значительный прирост плавности игры возможен не через апгрейд железа и не через перекомпиляцию шейдеров, а через тонкую настройку того, как драйвер управляет частотами процессора.
Если патч пройдёт рецензирование и попадёт в основную ветку ядра Linux, это станет хорошей новостью не только для Steam Deck, но и для любых портативных устройств на AMD с драйвером P-State. Для SteamOS это означает потенциальное улучшение плавности «из коробки» — без ручных твиков и оверклокинга.
Пока же стоит просто понимать: часть проблем с фризами на Steam Deck связана не с оптимизацией самих игр и не с железом, а с тем, как ядро Linux управляет частотами процессора AMD в игровых сценариях. И инженеры это осознают.
✴ Meta* — входит в перечень общественных объединений и религиозных организаций, в отношении которых судом принято вступившее в законную силу решение о ликвидации или запрете деятельности по основаниям, предусмотренным Федеральным законом от 25.07.2002 № 114-ФЗ «О противодействии экстремистской деятельности».