The Problem:
On many AMD Ryzen mobile systems (like my 4700U), hibernation intermittently freezes. Logs show a recurring hardware/firmware stumble:
amdgpu: suspend of IP block <psp> failed -22
Standard KDE hibernation fails because the desktop environment’s “graceful” power-down sequence deadlocks when it hits this error.
I tried on both wayland and xlibre.
The kde hibernate button works.
The manual command also works:
loginctl hibernate
Somehow, hibernate via the power management freezes the GUI while all background services work and even running applications are still responsive (WhatsApp sounds notifications).
The Fix:
Instead of using KDE’s broken internal hibernate logic, configured KDE to run the raw system command directly when idle.
- KDE Plasma 6 Configuration:
-
System Settings > Power Management.
-
Set “When inactive” to Do nothing for all profiles (AC/Battery/ On Low Battery). This prevents KDE from messing up.
-
In Other Settings in “Run command or script” drop down select “Choose run conditions”.
-
In When inactive set your desired idle time.
-
In the command input box, simply enter:
/usr/bin/loginctl hibernate
-
Why it works:
This bypasses the “polite” but fragile PowerDevil/KWin handshake. loginctl issues a direct order to the kernel. While the kernel still logs the PSP -22 error, it is resilient enough to ignore the stumble and complete the hibernation anyway.