Valve Steam Machine Steam Frame VR Headset und Steam Controller (Bild © Valve)
VRAM-Überlauf beheben
In Standard-Linux-Konfigurationen verwaltet die Graphics Translation Table (GTT) Speicherüberläufe. Wenn einer GPU der VRAM ausgeht, verschiebt die GTT Daten in den System-RAM, um einen Absturz der Anwendung zu verhindern. Ein wesentlicher Nachteil dieses Prozesses ist, dass Linux die aktive Anwendung nicht von Natur aus gegenüber Hintergrundprozessen priorisiert. Folglich könnte das System wichtige Spieldaten in den langsameren System-RAM verschieben, um Platz für einen Webbrowser oder andere Software von Drittanbietern zu schaffen.
Um dies zu beheben, entwickelte Vock den dmemcg-booster, kurz Device Memory Control Groups. Dieser Mechanismus ermöglicht es dem System, bestimmte auf der GPU laufende Programme zu identifizieren und sicherzustellen, dass deren Daten im VRAM verbleiben, wodurch eine unnötige Verlagerung in den GTT verhindert wird.
Benchmarks und Ergebnisse
Die Wirksamkeit des dmemcg-booster wurde durch Tests mit Cyberpunk 2077 auf einer Grafikkarte mit 8 GB verfügbarem VRAM nachgewiesen. Vor der Implementierung der Patches nutzte das System nur 6 GB VRAM, während etwa 1,37 GB Daten über den GTT in den System-RAM überliefen.
Nach der Anwendung des Patches stieg die VRAM-Auslastung auf 7,4 GB, während die GTT-Zuweisung auf 650 MB sank. Indem die Abhängigkeit vom System-RAM um mehr als die Hälfte reduziert wird, kann das System eine höhere Leistung aufrechterhalten und die mit einem langsameren Speicherzugriff verbundenen Frame-Pacing-Probleme verringern.
Hardware- und Software-Integration
Während diese Verbesserungen besonders für Valves eigene Hardware relevant sind , darunter für das Steam Deck und die kommende Steam Machine, die beide über 8 GB GDDR6-Speicher verfügen, kommt das Update auch jedem Linux-Nutzer mit begrenzten GPU-Ressourcen zugute.
Die Integration ist bereits im Gange, da mehrere Linux-Distributionen diese Patches derzeit in ihre neuesten Versionen integrieren. Außerdem wurde die KDE-Desktopumgebung mit einem Patch aktualisiert, der es dem System ermöglicht, zu erkennen, welches Fenster im Vordergrund aktiv ist. Dies stellt sicher, dass der GPU-VRAM der primären Anwendung zugewiesen wird, mit der der Nutzer gerade interagiert, wodurch die Ressourcenverteilung weiter optimiert wird.

