Natalie Vock, a graphics engineer working on Valve’s Linux graphics stack and the RADV Vulkan driver team, has created a set of kernel patches and user-space tools to improve VRAM prioritization on Linux. These updates ensure that foreground games get priority access to fast local GPU memory, while background applications are pushed to slower system RAM instead.
Without this fix, Linux systems do not reliably treat a full-screen game as a higher priority than a browser tab or desktop process when VRAM becomes full. As memory pressure increases, game data may be evicted into the GTT, which is system RAM accessed by the GPU over PCIe. This slower access speed can lead to hitching and frame-time spikes, a problem that is especially common on 8GB graphics cards.
How the Linux VRAM Prioritization Fix Works
Vock’s solution integrates modifications to the Linux kernel for DRM device memory cgroup support and TTM memory management, along with two user-space utilities: dmemcg-booster and plasma-foreground-booster. The first manages memory control, while the second allows KDE Plasma to detect the active full-screen application and prioritize its VRAM usage. Users not using KDE can achieve similar results with newer versions of Gamescope.
In Vock’s testing with Cyberpunk 2077 on an 8GB GPU, the game initially used around 6GB of VRAM and spilled 1.37GB into GTT. After applying the patches, VRAM usage increased to nearly 7.4GB, and GTT spillover decreased to 650MB, marking approximately a 53% reduction.
GPU Compatibility and How to Try the VRAM Fix Now
The patches are aimed at AMD’s open Linux graphics stack. Some of the work is reported to also improve Intel Xe GPUs, and an upstream patch has been submitted for Nouveau, the open-source driver for Nvidia graphics cards.
The simplest way to test the fix at the moment is on CachyOS with KDE Plasma, where the necessary kernel updates are being integrated starting with version 7.0rc7-2. These patches have not yet been included in mainstream Linux distributions, and it has not been confirmed whether they will be accepted into the upstream kernel.
