Suspend button and Automatic Suspend ignore systemd config.
Gnome 43 ignores HandleSuspendKey / LidSwitch config when suspending the system after idle, or handling user click of the soft-suspend button.
I've followed a few guides to end the plague of, waking up to / coming home to, a dead laptop. HibernateThenSuspend is the magic bullet that ChromeOS and MacOS use to fix this.
- https://mitchellroe.dev/auto-hibernate.html
- https://wiki.archlinux.org/title/Power_management/Suspend_and_hibernate#Hibernation
Proposed solution
The HandleSuspendKey action should be used instead of directly suspending to RAM. The current behavior inadvertently bricks laptops and reduces their battery health by leaving them at zero charge over the winter.
Steps to reproduce
- Configure Hibernation, make sure it works even when plugged in.
- Configure the power button to suspend instead of Shutdown
- Configure /etc/systemd/sleep.conf
HibernateDelaySec=15
, for testing - Push the power button. Your computer should go to sleep for 15 seconds and wake up to ~S2 to hibernate.
- Wake up from hibernation
- Manually click Gnomes suspend button (FAIL)
- This will suspend to ram, not STH
- Set Gnome's Auto Suspend to 15 Minutes and wait (FAIL)
- This will suspend to ram, not STH
So closing the lid, clicking the power button will suspend properly... but using the Gnome suspend features will burn the battery to zero and cause your friends to switch to Macbooks.