Vývojářka Valve vylepšila správu VRAM v Linuxu pro 8GB GPU
Vývojářka Natalie Vock z Valve představila úpravu linuxového jádra. Ta zlepšuje využití VRAM u 8GB karet tak, že upřednostní běžící hru před procesy na pozadí.
Nároky moderních her na grafickou paměť neustále rostou, což způsobuje potíže zejména majitelům grafických karet s kapacitou 8 GB a menší. Natalie Vock z týmu Valve, který se zabývá vývojem grafických ovladačů pro Linux, nyní navrhla řešení, jak v tomto operačním systému využití VRAM zefektivnit.
Doposud platilo, že pokud hra vyžadovala více grafické paměti, než bylo k dispozici, linuxové jádro začalo přesouvat část dat do pomalejší systémové paměti RAM, aby zabránilo pádům aplikací. Systém však nedokázal efektivně určit priority, takže nezřídka přesunul herní data a ve VRAM ponechal například okno internetového prohlížeče běžícího na pozadí. To vedlo k zasekávání a zhoršení plynulosti her.
Nové řešení se opírá o nástroj s názvem dmemcg-booster (Device Memory Control Groups). Ten operačnímu systému sděluje, který program má být aktuálně chráněn před přesunem dat do systémové paměti. Pokud systém potřebuje uvolnit VRAM, přesune nejprve data aplikací běžících na pozadí. Součástí sady je také nástroj plasma-foreground-booster, jenž automaticky komunikuje s grafickým prostředím KDE a hlásí mu, které okno se nachází v popředí.
V praxi byly tyto úpravy otestovány ve hře Cyberpunk 2077 na 8GB grafické kartě. Zatímco bez záplat hra využívala zhruba 6 GB VRAM a 1,37 GB dat se muselo přesunout přes GTT (Graphics Translation Table) do systémové paměti, s novými úpravami hra dokázala využít téměř 7,4 GB VRAM. Objem přesunutých dat přitom klesl na pouhých 650 MB. To umožňuje kartám s menší kapacitou paměti fungovat mnohem efektivněji.
Popsané softwarové úpravy jsou momentálně integrovány v linuxové distribuci CachyOS a čekají na schválení pro začlenění do hlavní větve linuxového jádra. Důležitým omezením však je, že vzhledem k uzavřenému kódu správy paměti u ovladačů Nvidia, funguje toto řešení v současné době výhradně na grafických kartách od společnosti AMD.