The sleeping is so broken on all the laptops these days that I'm seriously considering buying an old laptop because all the nice things you get with a modern powerful laptop aren't worth it if the battery is randomly empty and you can't turn it off.
It's astonishingly inexplicably broken and the industry completely ignores it.
It is very hardware dependent. So you have to get ~lucky with your machine and then you're set, basically. (Though it's a weighted distribution; ex. ThinkPads have better than average odds)
For me, that has technically been the case on Linux, too, including on the laptop I was referring to. On Windows, it happens that the screen will be garbled on wake, but I don't use Windows that much to care.
The only issue is that s2idle drains the battery like crazy compared to S3. But I guess "it's not a bug / works as intended".
> The only issue is that s2idle drains the battery like crazy compared to S3.
Properly working s2idle should use as little power as S3, but it seems to be much more common with s2idle that some piece of hardware is left enabled while it should have been disabled to save power.
Well it seems that in theory it should exist, amd_s2idle script that tests various things. I can get the machine into what seems to be sleep, but if you listen careful on the fan you will hear that it's constantly restarting. The script then reports that most of the time is actually spent in user space, when what it should really do is spend over 90% in actual idle. Unfortunately no one seems to have a good answer on how I can find out what causes the user space sleep inhibitions. It's not a wakeup.
This is interesting. On my HPs, both Intel and AMD, the fan-on-while-it-should-be-sleeping thing only happens with Windows. Under Linux, the fan will turn off even if it was spinning, say if I put it to sleep during a compile and the laptop is hot.
On Linux, the fan never turns on and the pc never gets warm while asleep. Windows sometimes does something that requires the fan to spin like crazy, and the PC is usually somewhat warm to the touch.
You can just hibernate though. With fast SSD/NVMe storage it's nearly as quick as S3 standby was. (The one pitfall is that hibernation might require you to disable Secure Boot if you're on a recent version of Linux, due to lockdown-mode shenanigans.)
It depends on other things. For me, waking from S3 has always been nearly instant. Booting from hibernation is nowhere near that. Just the freaking UEFI takes ages to initialize.
If I'm putting my laptop in a laptop bag hibernation is just fine. I couldn't care less that it will have to go through UEFI and OS boot again, I just want it to be off. And for short pauses the CPU idling suspend is okay.
But there's no denying that my quality of life took a hit by this "improvement": I now have to go out of my way to choose hibernation or standby, depending on how long I expect to need it to sleep, instead of just closing the lid.
Under Windows, there's also the fact that you have to go out of your way to enable hibernation.
It's astonishingly inexplicably broken and the industry completely ignores it.
I have 0 idea why.