Herná komunita Linuxu má dôvod na oslavu. Nová záplata pre jadro Linuxu, ktorú vyvinul inžinier David Vernet, sľubuje zníženie otravného zasekávania a mikrozamrzávania , ktoré niekedy kazia herný zážitok na Steam Decku a na akomkoľvek počítači s procesorom AMD. Záplata s názvom epp_boost rieši problém so správou frekvencie, ktorý postihuje najmä tituly náročné na procesor.
Táto záplata neupravuje grafickú kartu ani herný softvér; namiesto toho upravuje spôsob, akým ovládač AMD P-State riadi napájanie každého jadra procesora . Podľa počiatočných testov dosahuje zlepšenie najnižšej snímkovej frekvencie (tzv. „nízkej FPS“ 1 %) až 31,8 % v benchmarku Civilization VI, čo je hra silne závislá od CPU. To sa premieta do stabilnejšieho herného zážitku bez otravných spomalení počas hrania.
Aký problém rieši táto záplata?

Aby ste pochopili dôležitosť epp_boost , musíte vedieť, ako ovládač AMD P-State funguje v režime Energy Performance Preference (EPP). Počas hry sa hlavné vlákno CPU krátko pozastaví na každom snímku, kým čaká na spracovanie scény grafickým procesorom . Ovládač interpretuje tieto veľmi krátke pauzy ako nízke nároky a automaticky znižuje frekvenciu jadra. Keď sa vlákno obnoví, procesor potrebuje čas na obnovenie rýchlosti, čo má za následok latenciu snímky a nepríjemný pocit „koktania“.
David Vernet, inžinier linuxového jadra pracujúci na Meta, vysvetľuje, že problém sa zhoršuje, pretože výkonnostný signál hardvéru neustále klesá , čo spôsobuje, že každý pracovný pulz začína na nižšej frekvencii, ako je potrebné. Na Steam Decku, kde CPU a GPU zdieľajú obmedzený energetický rozpočet, je toto správanie obzvlášť kritické.
Riešenie: epp_boost, inteligentná úprava

Vernet vylúčil najzrejmejšie riešenia, ako napríklad globálne vynútenie režimu maximálneho výkonu, pretože by to drasticky zvýšilo spotrebu energie vo všetkých jadrách a negatívne by ovplyvnilo výdrž batérie. Konečným riešením je voliteľný systém, ktorý monitoruje každé jadro jednotlivo každých 10 milisekúnd . Ak je jadro zaneprázdnené aspoň 50 % času, dočasne sa prepne do režimu maximálneho výkonu. Keď sa zaťaženie zníži a zostane nízke 300 milisekúnd, jadro sa automaticky vráti do svojej normálnej politiky úspory energie.
Tento chirurgický prístup umožňuje Zabráňte poklesom frekvencie presne vtedy, keď sú najviac potrebné, bez plytvania energiou počas období nečinnosti.Patch sa aktivuje parametrom amd_pstate.epp_boost=1ktoré je možné zobraziť alebo upraviť v reálnom čase prostredníctvom /sys/module/amd_pstate/parameters/epp_boost.
Výsledky v hre Civilization VI a ďalších hrách

Testy vykonané na Steam Decku s hrou Civilization VI najlepšie ilustrujú vplyv záplaty. Bez tejto úpravy bežalo hlavné jadro CPU na priemernej frekvencii iba 2,43 GHz, napriek tomu, že bolo vyťažené na 98 % . Po použití epp_boost priemerná rýchlosť vyskočila na 3,5 GHz. V dôsledku toho sa čas vykresľovania snímok na 99. percentile zlepšil o 4,1 %, zatiaľ čo priemerná snímková frekvencia zostala nezmenená.
Najrelevantnejším ukazovateľom vnímanej plynulosti je 1 % nízky FPS, ktorý meria najhoršie momenty hry. V hre Civilization VI sa táto hodnota s touto záplatou zvýšila o 31,8 % , čo znamená, že občasné zasekávanie sa výrazne znížilo. Hoci sa benchmark zameral na tento titul kvôli ľahkej reprodukcii výsledkov, vývojári očakávajú, že zlepšenie bude badateľné v širšej škále hier, najmä v tých s vysokým zaťažením CPU.
Kedy bude k dispozícii?
V súčasnosti sa oprava reviduje. Inžinieri spoločnosti AMD zodpovední za podporu jadra Linuxu musia zmenu vyhodnotiť a rozhodnúť, či ju zahrnú do oficiálneho vydania . Tento proces môže trvať niekoľko verzií jadra a neexistuje žiadny konkrétny dátum jej vydania na SteamOS . Skutočnosť, že implementácia už prešla počiatočným testovaním, však robí jej integráciu otázkou času, nie možnosti.
Keď bude k dispozícii, Každý používateľ Linuxu s procesorom AMD Ryzen bude môcť využiť toto vylepšenie.Toto platí nielen pre majiteľov konzol Steam Deck, ale aj pre notebooky, stolové počítače a ďalšie zariadenia, ktoré používajú ovládač AMD P-State. Ak ho chcete povoliť, jednoducho pridajte parameter. amd_pstate.epp_boost=1 spustiť jadro alebo ho upraviť, kým je horúce.
Táto záplata nie je jediným novým prírastkom do herného ekosystému Linuxu, ale určite je jednou z najočakávanejších, pretože rieši skutočný problém ovplyvňujúci výkon v náročných tituloch. Kombinácia inteligentného ladenia, kontrolovanej spotreby energie a hmatateľného zlepšenia nízkych snímkových frekvencií z nej robí veľmi sľubnú aktualizáciu pre hráčov Linuxu, najmä pre tých, ktorí používajú Steam Decky a hardvér AMD.

