Ein Jahr Debugging von Sleep-Wake-Hängern unter Linux mit AMD-GPUs

2025-02-17

Der Autor stieß auf ein hartnäckiges Problem, bei dem sein Linux-System mit einer AMD RX 570 GPU nach einem Schlafversuch abstürzte oder hängen blieb, oft mit einem schwarzen Bildschirm beim Aufwachen. Nach über einem Jahr intensiver Fehlersuche, einschließlich Log-Analyse, Systemd-Konfigurationsanpassungen, einer Debug-Shell und sogar Reverse Engineering mit Ghidra, wurde die Ursache in einem Bug des amdgpu-Treibers identifiziert, der mit der VRAM-Sicherung bei hoher Speicherauslastung zusammenhing. Die schließlich implementierte Lösung nutzt die Power-Management-Notifier-API, um die VRAM proaktiv vor dem Schlaf zu sichern und so Speicherfehler zu vermeiden. Dieser Fix wird voraussichtlich im stabilen Linux-Kernel 6.14 enthalten sein.

Entwicklung GPU-Treiber