Earlier this year, Natalie Vock made a splash with a set of patches to the Linux kernel that greatly increased performance on AMD GPUs with lower amounts of VRAM. With that work now accepted by upstream, Vock decided to turn their attention to another interesting problem: what if you run out of VRAM, and how can we improve performance when we do?
Regardless, what I hope this blogpost can demonstrate is that even if you end up with some memory evicted to system RAM, the slowdown can be manageable. There’s measures that drivers (particularly, the kernel driver) can take to make overcommit work as fast as possible, and even applications can do their part in coordinating with the driver stack to mitigate the effects of their memory being evicted. With everything in place, VRAM overcommit isn’t really as big of a deal as one may think it is at first sight.
↫ Natalie Vock
The work Vock has done has already been in SteamOS for a while, and they’re currently in the process of upstreaming it to the vanilla kernel as well. Since this is a complex set of patches and changes, this may take a while, and as such, they’ve prepared custom kernel and Mesa branches for adventurous users. Do note that these branches won’t be maintained much, and are entirely experimental, not as well-tested as the SteamOS kernel, and probably won’t yield the same performance improvements.
Still, this is the kind of work that has a material impact for users. Not everyone has a 16GB monster GPU, especially not today with supply chains ravaged and ruined by slopmakers, so it’s great to see the Linux world working to improve performance for everyone, not just the wealthy few.

While this is definitely useful, the expectations should be held in check.
According to the article, they allowed the recent Indiana Jones and the Great Circle from Microsoft to overcommit by 1GB. In other words, the game is using 9GB of 8GB VRAM in the system.
And their patch allows this to run reliably with about 60 fps output
When they cranked up the overcommit by 100%, in other words 10GB of 8GB, the latency spiked jump to over 30ms, making the gameplay unenjoyable.
Why does this work in the first place?
Apparently the game itself is not properly allocating its memory, and pins a larger working set than necessary. But changing the streaming patterns, hence amortizing cache miss, that additional 1GB can be automated by the OS.
But unfortunately, even if we all want it, this is not a generic solution to “double your VRAM” for all games. Physics is still a hard barrier.