Putting aside the general VRAM-topics because there’s not a direct relation between this and the following topics:
- DirectX12 performance is terrible on Linux - driver and vkd3d need better integration, being worked on (but vkd3d also suffers from VRAM pressure)
- VRAM Allocation Issues - mentions GreenBoost as an alternative but it should be generally fixed within the drivers
- Non-existent shared VRAM on NVIDIA Linux drivers - is something that GreenBoost seemingly tries to fix, but this question is different because it asks for eviction management
Additionally, GreenBoost feels like it is trying to fix the problem at the wrong layer, and has been designed for other workloads but games.
There’s new work on using a cgroup controller to manage or prioritize VRAM eviction aka boost memory usage for foreground apps at the cost of evicting VRAM for background processes.
KDE Plasma will probably soon implement it, CachyOS has a first preview implementation.
Demo: https://youtu.be/zdaco79JE0o?si=2agZuHA6rQXvJODk
Blog: Fixing AMDGPU's VRAM management for low-end GPUs | pixelcluster's GPU blog
Again, the forum links above are not relevant for this because implementing dmemcg-booster and plasma-foreground-booster depends on very different kernel infrastructure: cgroups for device memory (dmemcg).
What is NVIDIA’s take on supporting dmemcg? Is driver support being worked on / planned? I’m pretty sure that previously mentioned forum posts need partial fixing first before we can even think of this because without eviction support in the NVIDIA driver at all, no dmemcg would be possible anyways, right? At least, it would be worth considering support for dmemcg while designing the fixes for the general VRAM allocation problems.
It would be really cool if NVIDIA will consider that or come up with their own solution. I’m not asking “when” but “if”. I don’t expect any implementation to appear this year, or even next year, because other driver improvements need to land first.