SteamOS Beta Gets Smarter VRAM Handling, Diskcrete GPU Games May Run Smoother

Author: Qoo Media

SteamOS beta 3.8.20 is drawing attention for a change that could matter most on devices with discrete GPUs. The update introduces a new memory-handling approach designed to make VRAM use more efficient on systems running SteamOS natively.

For players, the practical value is straightforward: less pressure on limited graphics memory can mean fewer stutters when a game is under heavy load. That matters because once VRAM fills up, the system can be forced to move data into slower memory areas, and performance can suffer.

Why VRAM has been a weak point

Discrete GPUs rely on dedicated VRAM, but they can also use another memory pool called the Graphics Translation Table, or GTT. GTT is managed by the operating system and remains accessible to the GPU, but access goes through PCIe, which has lower bandwidth and higher latency than VRAM.

That difference is important when a game starts pushing memory limits. Data placed in GTT is more likely to hurt performance, while the system tries to keep the most important assets inside VRAM for as long as possible.

The problem is that the operating system does not always know which data should stay in VRAM. When memory pressure rises, Linux has to decide what to evict and what to keep, and that process can create stalls if it is not handled carefully.

A cgroups-based approach changes the allocation logic

The new SteamOS beta solution is based on Linux control groups, or cgroups. This kernel feature gives more granular control over how resources are allocated and managed across defined process groups.

In the updated scheme, VRAM requests are no longer treated as if VRAM were the only available domain. The request also includes GTT as a fallback domain, allowing the kernel to prioritize VRAM without forcing other processes out of it just to make space.

The idea grew out of work by several developers, including Natalie Vock, an independent contractor for Valve on RADV. Vock had previously written about VRAM allocation and usage problems on Linux before Valve applied the concept to SteamOS.

Testing showed a clearer shift in memory use

Vock identified the issue while testing Cyberpunk 2077 on a GPU with 8 GB of dedicated memory. At that point, the system was using 1,370 MB of GTT even though the game itself was using 6,105 MB, and some VRAM was also occupied by background apps.

After the patch was applied, the numbers changed noticeably. Cyberpunk 2077’s VRAM use rose from 6,105 MB to 7,395 MB, while GTT use fell from 1,370 MB to 650 MB.

That shift matters because more of the game’s data is now kept in the place best suited for fast access. With less data bouncing between memory pools, the game is less exposed to stutter and long pauses during play.

Testing Snapshot Before Patch After Patch
Cyberpunk 2077 VRAM use 6,105 MB 7,395 MB
Cyberpunk 2077 GTT use 1,370 MB 650 MB

Best results are expected on discrete GPU systems

The biggest benefit is expected on Steam Machine-style devices and other SteamOS systems that use discrete graphics. These machines depend more heavily on the distinction between VRAM and system memory, so improved allocation can have a larger effect.

On the Steam Deck, the impact is likely to be smaller because it uses an integrated GPU. In that case, VRAM and GTT are both tied to system memory, so the advantage of separate graphics memory is limited.

Even so, there may still be a small benefit because the system does not need to move memory pointers to locations outside dedicated graphics memory. For SteamOS users on discrete GPUs, however, the new beta points to a more deliberate approach to graphics memory management that is better aligned with game workloads.

Latest