Most very recent laptops no longer support S3 sleep which used to be the default for a long time. On my old laptop it allowed me to just close the lid in the evening and open it again in the morning, and it would only loose a negligible amount of charge during that time.
My new laptop (Dell Inspiron 14 Plus, Alder Lake) uses s2idle by default on Linux (Fedora in my case), which depletes the battery very quickly. I tend to shut down my computer every evening now, but even when I just put my laptop in my bag for 2 hours it will have lost 10-15% when I get it out. It’s not terrible and I have gotten used to using my laptop like that but there’s got to be a better way right?
I know hibernation / suspend-to-disk is an option in theory, but I use secure boot (and also disk encryption), and that makes it a lot more complicated, involving compiling your own patched kernel, so no thanks.
The way sleep on modern laptops is supposed to work is apparently called S0iX but it is not used by default and I don’t know if or how I could make use of it on my laptop, and a guide that is linked everywhere on 01.org now just redirects to some generic intel site.
If you have a recent laptop without S3 sleep support, how are you dealing with this? Do you just live with the poor battery life, or is there some secret to getting more power saving sleep on modern machines?
Edit for mare clarification:
- The laptop does enter s2idle correctly, it just doesn’t get down to a very low power state at all and consumes ~5% an hour
cat /sys/power/mem_sleep
only returns[
, no deep sleep is supported. ]echo deep | sudo tee /sys/power/mem_sleep
doesn’t work (tee: /sys/power/mem_sleep: Invalid argument
)- There’s no option in the BIOS to enable other sleep modes
- I’ve even tried patching the ACPI table myself to enable S3 sleep and it didn’t work. I have no idea if I did it correctly although according to dmesg it did seem to load my patch
Thank you all for your input but it looks like on this Dell laptop I’m stuck with horrible s2idle sleep :/
Hibernate on lid shut, and I hate it
My new Asus laptop didnt support S3 sleep.
Turns out it does indeed support it but the BIOS claims it isnt.
I found a patch for Linux ACPI that would make it enable S3 anyway and lived happily ever after
I have this same issue on my 11th Gen Intel Framework and I never found a solution after a lot of research. I’m upgrading from Intel to an AMD board so I hope it will make a difference.
My Steam Deck (AMD) gets amazing sleep performance and barely loses any charge so I hope I can match that with my new AMD board when I get it
my laptop is comparatively old (t480s, 8th gen) but had the same issues with battery drain on F38. I’ve switched to debian and the situation is way better, overnight drain percentage-wise is in the single digits range. still nowhere close to my old macbook, but workable.
not important for this use case. I’m referring to the fact that I can close it shut and leave it for a week. I open it and it’s ready to go and the battery has barely lost a percentage point. that’s 2010 tech and something completely unattainable to me 13 years later. I’ve moved on from macOS but can’t help being envious.
They are on the higher-end of capacity but (especially Apple silicon) are much more power-efficient.
deleted by creator
I have a Framework Laptop 13 (i5-1240P) and run Fedora Workstation. It uses s2idle (another name for s0ix, afaik) by default and the battery depletion is OK imo.
If it’s low on battery and I can’t charge it instantly though, I tend to make the next sleep state use ACPI sleep state S3 by running
echo deep | sudo tee /sys/power/mem_sleep
. You can check if that’s available on your platform (and the current mode) by runningcat /sys/power/mem_sleep
afaik.s2idle is unfortunately the only supported state on my system apparently, no deep sleep :(
Took article from arhieve https://web.archive.org/web/20230418052803/https://01.org/blogs/qwang59/2018/how-achieve-s0ix-states-linux .Also from what i understood ,scrolling the net on amd cpu,it’s works properly okay
Manually hibernate and then shut the lid, else it will wake itself up.
I have an older Mid 2012 MBP that sleeps properly though.
You arent supposed to shut down your laptop when you dont use it for more than 10 minutes?
That’s actually exactly what I do with my old Macbook Pro - its the only laptop I have, but I think there must be an issue with the battery since if I let it suspend for a bit, when I come back to it I have to hard reset it in order for it to come back on…
I normally run Fedora 38 on it, but I still keep macOS on it for firmware updates (well, that was the original intent, I don’t think Apple will be updating mine for much longer if they still even are), but it occurs there too.
I have a newish Dell XPS and I got to where I just hibernate all the time (automatic when I close the lid) because otherwise it would easily die in less than a day.
It barely holds 3hrs of charge anyway (thanks jetbrains), meh
@Sh1nyM3t4l4ss
Doessystemctl suspend
/systemctl hibernate
not do what your looking for?Alas that would be a luxury for me. I got an Asus Strix Scar 17 2022 with NVidia 3060. I game with it, use Wayland, everything is fine.
Except suspending/hibernating. When it wakes up the Plasma panel is pink, desktop is missing and the mouse is drawing trails. I have the NVidia suspend/hibernate scripts enabled, have a swap partition bigger than RAM, but everything still looks weird on wakeup. So I shut it down in the evening and boot it fully in the morning, no biggie I guess…
Not sure what distro you’re using but try the liquirox kernel. I did that one time on a really stubborn laptop and managed to get both the HDMI and the suspend feature working.
Using mainline or something to ensure I’m up to date on the latest kernel has never solved a single issue in my entire history of trying but using liquirox worked one time.
12th gen alder lake seems much better at s0 sleep than my 8th gen one. Less battery drain.
For some reason, sleep mode doesn’t even work on my laptop cause it’ll never resume, it seems to treat any call to sleep as a call to shutdown. I’ve always had to just save my work and poweroff if i was going anywhere without a charger. I had a little bit of luck with TLP until I had a microcode update and that somehow broke it even worse.