Oprava pre Linux zlepšuje výkon na systémoch Steam Deck a AMD

  • Oprava epp_boost pre jadro Linuxu zlepšuje minimálnu snímkovú frekvenciu (1 % nízke FPS) až o 31,8 % na Steam Decku a systémoch s procesormi AMD.
  • Riešenie monitoruje každé jadro CPU každých 10 milisekúnd a núti ho k maximálnemu výkonu, ak je vyťažené aspoň na 50 %, čím zabraňuje poklesom frekvencie počas hrania hier.
  • V testoch s Civilization VI sa priemerná frekvencia jadra zvýšila z 2,43 GHz na 3,5 GHz a čas snímky na 99. percentile sa zlepšil o 4,1 %.
  • Táto záplata ešte nie je integrovaná do oficiálneho jadra; potrebuje kontrolu inžiniermi AMD a bude aktivovaná s parametrom amd_pstate.epp_boost=1.

Steam Deck s opravami pre Linux

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.

Spoločnosť Valve optimalizuje správu VRAM v systéme Linux
Súvisiaci článok:
Spoločnosť Valve optimalizuje správu VRAM v systéme Linux, aby zlepšila hranie hier so skromnými grafickými kartami

Aký problém rieši táto záplata?

Linuxová záplata pre Steam Deck

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é.

HDMI 2.1 v Linuxe
Súvisiaci článok:
HDMI 2.1 na Linuxe: Veľké odomknutie pre AMD a SteamOS

Riešenie: epp_boost, inteligentná úprava

Zlepšenie výkonu parnej paluby

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

Výkon Steam Decku s opravou

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.

Bazzite 44, distribúcia Linuxu pre hranie hier
Súvisiaci článok:
Bazzite 44, distribúcia Linuxu, ktorá je plne zameraná na hranie hier

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.

SteamOS s podporou hardvéru Intel a MSI Claw
Súvisiaci článok:
SteamOS ruší svoju exkluzivitu s AMD a pridáva podporu pre hardvér Intel a MSI Claw

Pridať ako preferovaný zdroj v Google