And then in another tab I ran a suspend sequence test and hit no problem.
❯ sudo ~/src/amd/scripts/amd_s2idle.py
Location of log file (default s2idle_report-2024-09-06.txt)?
Debugging script for s2idle on AMD systems
💻 Framework Laptop 13 (AMD Ryzen 7040Series) (Laptop) running BIOS 3.5 (03.05) released 03/29/2024 and EC unknown
🐧 CachyOS
🐧 Kernel 6.10.8-2-cachyos
🔋 Battery BAT1 (NVT Framewo) is operating at 100.17% of design
Checking prerequisites for s2idle
✅ Logs are provided via systemd
✅ AMD Ryzen 5 7640U w/ Radeon 760M Graphics (family 19 model 74)
✅ SMT enabled
✅ LPS0 _DSM enabled
✅ ACPI FADT supports Low-power S0 idle
✅ HSMP driver `amd_hsmp` not detected (blocked: False)
✅ PMC driver `amd_pmc` loaded (Program 0 Firmware 76.82.0)
✅ USB4 driver `thunderbolt` bound to 0000:c3:00.5
✅ USB4 driver `thunderbolt` bound to 0000:c3:00.6
✅ GPU driver `amdgpu` bound to 0000:c1:00.0
✅ System is configured for s2idle
✅ NVME Sandisk Corp WD Black SN770 / PC SN740 256GB / PC SN560 (DRAM-less) NVMe SSD is configured for s2idle in BIOS
✅ GPIO driver `pinctrl_amd` available
How long should suspend cycles last in seconds (default 10)?
How long to wait in between suspend cycles in seconds (default 4)?
How many suspend cycles to run (default 1)?
Started at 2024-09-06 23:36:00.277079 (cycle finish expected @ 2024-09-06 23:36:14.277092)
Results from last s2idle cycle
○ Suspend count: 1
○ Hardware sleep cycle count: 1
○ Wakeup triggered from IRQ 9: ACPI SCI
○ Woke up from IRQ 9: ACPI SCI
○ gpe0B increased from 146 to 160
✅ Userspace suspended for 0:00:12.503340
✅ In a hardware sleep state for 0:00:08.396301 (67.15%)
🔋 Battery BAT1 (NVT Framewo) is operating at 100.17% of design
I think this really boils down to systemd exposed a kernel bug. There will be tension for a while until the kernel is fixed or systemd withdraws this change.
This is a very annoying bug, that has plagued me for a long time, at times the suspend worked and at times it would freeze my system. I’m running VMs in Qemu using gnome-boxes and by the time I’ve noticed that that VM has something to do with the freezes… Anyway thanks to this thread I managed to apply the workaround and can now again suspend and hibernate my system. Thank you!