Linux is cool, I can do a lot of things with it. If i set a config file in Linux, I am damn sure that it is ran every single time. The code does what you tell it to do.
There is 1 thing that always seems to be “black magic”: 1) lid close and suspend 2) lid close and suspend and lock.
If we ignore locking for a moment and focus on suspend. I cant seem to figure out why sometimes lid close would suspend immediately, when other time it takes 5 seconds after lid closes. On some days, lid closes would not even suspend !!
Did anyone manage to get suspend work 100 %? I cant believe we have tons of great linux tools and years into kernel dev, and still suspend is a hit or miss.


Inconsistent time before sleep is likely the kernel waiting for IO to sync to disk.
Not going to sleep at all implies a serious issue that prevented the kernel from doing so. Check your logs!
Suspend reliability greatly depends on the firmware of your specific device as it controls the wakeup.
On my Framework 16 for instance, it is very reliable these days. I can’t remember the last time it woke up unexpectedly and I’m not sure whether it happened even once since the firmware update that fixed a major oversight in keyboard wakeup (waking when a key was pressed through a closed lid).