You are not logged in.
Hi, I am new to arch (fleeing from windows) and choosing the Framework 13 I hoped to have an easier time. But I am stuck on something where I don't know how fix it.
System: Framework Laptop 13 AMD Ryzen 7040, Arch Linux, kernel 6.19.4, systemd 259.2, niri compositor, BIOS 3.16
Problem: After closing the lid (suspend) and reopening it, the screen stays black. I end up at the SDDM greeter, and logging in gives a new session but the old one is dead. WiFi also drops and requires systemctl restart NetworkManager.
So what I think I figured out via journalctl for now is:
1. Lid closes, system enters s2idle
2. On resume, kernel reports: amd_pmc AMDI0009:00: Last suspend didn't reach deepest state
3. systemd's watchdog (3 min limit) sees logind as unresponsive for the entire sleep duration (MONOTONIC clock doesn't pause during s2idle) and kills it with
SIGABRT
4. Niri loses DRM master → Page flip commit failed: Permission denied (os error 13) → session goes inactive → black screen
Relevant journal logs:
Mär 03 21:13:05 machine niri[1299]: laptop lid closed
Mär 03 21:13:06 machine systemd-sleep[6799]: Performing sleep operation 'suspend'...
Mär 03 21:13:06 machine kernel: PM: suspend entry (s2idle)
Mär 03 21:18:33 machine kernel: amd_pmc AMDI0009:00: Last suspend didn't reach deepest state
Mär 03 21:18:33 machine systemd[1]: systemd-logind.service: Watchdog timeout (limit 3min)!
Mär 03 21:18:33 machine systemd[1]: systemd-logind.service: Killing process 1117 (systemd-logind) with signal SIGABRT.
Mär 03 21:18:33 machine systemd-coredump[6857]: Process 1117 (systemd-logind) of user 0 dumped core.
Stack trace of thread 1117:
#0 __fstat64 (libc.so.6)
#1 chaseat (libsystemd-shared-259.2-1.so)
#2 chase (libsystemd-shared-259.2-1.so)
#3 device_set_syspath (libsystemd-shared-259.2-1.so)
#4 device_enumerator_scan_devices (libsystemd-shared-259.2-1.so)
#5 sd_device_enumerator_get_device_first (libsystemd-shared-259.2-1.so)
#6 on_ac_power (libsystemd-shared-259.2-1.so)
Mär 03 21:18:33 machine systemd[1]: systemd-logind.service: Failed with result 'watchdog'.
Mär 03 21:18:33 machine niri[1299]: Page flip commit failed: Permission denied (os error 13)
Mär 03 21:18:33 machine niri[1299]: pausing session
Mär 03 21:18:33 machine niri[1299]: skipping UdevEvent::Changed as session is inactiveThis is reproducible — happened couple of times with the same stack trace (once on BIOS 03.03, once after updating to 3.16).
So I have google around and found some relevant things:
Apparently this is not Framework specific:
https://github.com/systemd/systemd/issues/9538: CLOCK_MONOTONIC is supposed to pause during suspend, but with broken s2idle it keeps ticking. When resume takes longer than the watchdog timeout (~3 min), systemd kills logind/journald/udevd with SIGABRT.
However, because of
https://community.frame.work/t/framewor … py/66387/4, there's seems to be no way to avoid this on Framework13 AMD by switching to a deeper sleep state. ("Hw s2idle is the deepest state you can get on Phoenix.")
Question:
Is this actually something either systemd or the kernel should deal with better?
Any ideas on how to fix this?
I could disable the logind watchdog entirely (WatchdogSec=0), but hat seems like a bad workaround? I am not sure what the watchdog guards for exactly.
Last edited by domsl (2026-03-08 19:47:44)
Offline
So, I've just disabled the watchdog and sleeping worked. But in journalctl there was no more error complaining about not reaching more than s2idle. which got me suspicious. I reenabled the watchdog, still no error. Idk why, but the bios update might have fixed the issue. Even though I was sure to see the same error afterwards… Nevermind then, I hope it stays that way.
Offline