Геймърската общност на Linux има причина за празнуване. Нов пач за ядрото на Linux, разработен от инженера Дейвид Вернет, обещава да намали досадните заеквания и микрозамръзвания , които понякога развалят игровото изживяване в Steam Deck и на всеки компютър с AMD процесор. Пачът, наречен epp_boost , адресира проблем с управлението на честотата, който засяга особено заглавия, изискващи голямо натоварване на процесора.
Пачът не променя графичната карта или софтуера на играта; вместо това, той настройва начина, по който драйверът AMD P-State управлява захранването на всяко процесорно ядро . Според първоначалните тестове, подобрението в най-ниската честота на кадрите (т. нар. „нисък FPS“ 1%) достига до 31,8% в бенчмарка Civilization VI, заглавие, силно зависимо от процесора. Това се изразява в по-стабилно изживяване, без досадните пикове на забавяне по време на игра.
Какъв проблем решава този пластир?

За да разберете важността на epp_boost , трябва да знаете как работи драйверът AMD P-State в режим Energy Performance Preference (EPP). По време на игра, основната нишка на процесора спира за кратко на всеки кадър, докато чака графичният процесор да обработи сцената . Драйверът интерпретира тези много кратки паузи като ниско натоварване и автоматично намалява честотата на ядрото. Когато нишката се възобнови, процесорът се нуждае от време, за да възстанови скоростта си, което води до латентност на кадрите и досадно усещане за „заекване“.
Дейвид Вернет, инженер на ядрото на Linux, работещ върху Meta, обяснява, че проблемът се изостря, защото сигналът за производителност на хардуера постоянно намалява , което кара всеки работен цикъл да започва от по-ниска честота от необходимата. В Steam Deck, където процесорът и графичният процесор споделят ограничен енергиен бюджет, това поведение е особено критично.
Решението: epp_boost, интелигентна корекция

Вернет изключи най-очевидните решения, като например глобалното налагане на режим на максимална производителност, тъй като това би увеличило драстично консумацията на енергия във всички ядра и би се отразило негативно на живота на батерията. Окончателното решение е опционална система, която следи всяко ядро поотделно на всеки 10 милисекунди . Ако дадено ядро е било заето поне 50% от времето, то временно се превключва в режим на максимална производителност. Когато натоварването намалее и остане ниско в продължение на 300 милисекунди, ядрото автоматично се връща към нормалната си политика за пестене на енергия.
Този хирургичен подход позволява Избягвайте спадовете на честотата точно когато са най-необходими, без да губите енергия по време на периоди на неактивност.Пачът се активира от параметъра amd_pstate.epp_boost=1които могат да бъдат преглеждани или променяни в реално време чрез /sys/module/amd_pstate/parameters/epp_boost.
Резултати в Civilization VI и други игри

Тестовете, проведени на Steam Deck с Civilization VI, най-добре илюстрират въздействието на пача. Без промяната, основното ядро на процесора работеше със средна честота само 2,43 GHz, въпреки че беше натоварено с 98% . След прилагане на epp_boost , средната скорост скочи до 3,5 GHz. В резултат на това времето за рендиране на кадрите на 99-ия персентил се подобри с 4,1%, докато средната честота на кадрите остана непроменена.
Най-подходящият индикатор за възприемана плавност е ниският FPS от 1%, който измерва най-лошите моменти в играта. В Civilization VI тази стойност се е увеличила с 31,8% с пача , което означава, че случайното заекване е значително намалено. Въпреки че бенчмаркът се фокусира върху това заглавие поради лекотата на възпроизвеждане на резултатите, разработчиците очакват подобрението да бъде забележимо в по-широк спектър от игри, особено тези с високо натоварване на процесора.
Кога ще бъде наличен?
В момента пачът е в процес на преглед. Инженерите на AMD, отговорни за поддръжката на ядрото на Linux, трябва да оценят промяната и да решат дали да я включат в официално издание . Този процес може да отнеме няколко версии на ядрото и няма конкретна дата за пристигането му в SteamOS . Фактът обаче, че имплементацията вече е преминала първоначалните тестове, прави интеграцията ѝ въпрос на време, а не възможност.
След като е наличен, Всеки потребител на Linux с процесор AMD Ryzen ще може да се възползва от това подобрение.Това важи не само за собствениците на Steam Deck, но и за лаптопи, настолни компютри и други устройства, които използват драйвера AMD P-State. За да го активирате, просто добавете параметъра. amd_pstate.epp_boost=1 за стартиране на ядрото или за модифициране, докато е горещо.
Този пач не е единственото ново допълнение към екосистемата на игрите на Linux, но със сигурност е един от най-очакваните, защото адресира реален проблем, засягащ производителността в взискателни заглавия. Комбинацията от интелигентна настройка, контролирана консумация на енергия и осезаемо подобрение в ниските честоти на кадрите го прави многообещаваща актуализация за геймърите на Linux, особено за тези, които използват Steam Deck-ове и AMD хардуер.

