[RESPONDED] Linux deep sleep

Arch linux derivative, 5.18 kernel, s2idle in use, nvme.noacpi set, P31 ssd, my i5-11th just slept for ~33 hours while using about ~28% battery.

3 Likes

With s2idle & nvme.noacpi set, lost just under 1% over the past 10 hours.

1 Like

…How’s that possible? The best we’ve seen is about draining 0.7% per hour. (approx 0.35W)

Well, I dropped it into hybrid sleep fully charged at 80% when I left at 9am this morning, and it was at 79% when I woke it up this evening.

(My hybrid sleep is configured to hibernate after 10 minutes of sleep.)

2 Likes

Ah…so that 10 hours really doesn’t mean much then. (Unless you were trying to test out battery drain in the off state)

3 Likes

Means a lot to me. I means I can travel with my laptop and know I’ll have plenty of juice when I need it.

2 Likes

Were you expecting the possibility of a different finding?

1 Like

I bought the Framework because I like what the company’s trying to do, and I like the idea of a repairable laptop. It’s a new company with a new product, so I didn’t have much else in the way of expectations.

I’m pleased that I can use the laptop the way I do. Really, how many of these laptops are routinely trudging to rainforests, hanging around in chocolate factories, getting jammed by airline seatbacks, and getting kicked around as much as mine does? I expect the Thinkpad to handle it, but it’s great that the Framework’s doing just fine.

4 Likes

It’s locked up once since I’ve made the change from deep to s2idle. It goes into hybrid sleep at least three or four times each day, and it was previously locking up every two or three days.

It appears that the change has helped with the lockups.

1 Like

On 11th gen laptop, resuming from deep sleep is not faster than resuming from hibernation. I prefer s2idle and sleep-then-hibernate for the best experience. I set the system to sleep of 60mins then switch to hibernation, which costs only 2% battery drain at most.

4 Likes

I’m set up the same way and can verify the same behavior. I see about 2% drain under hibernation.

And haven’t had a mouse lockup during resume in in a few months, so I expect something fixed that one.

2 Likes

I decided to clone my ssd to an Intel 660p and now deep sleep works properly. There is definitely some kind of problem with Sabrent Rocket ssds and Linux.

2 Likes

Fedora 37, kernel 6.1.5-200, battery drained from 98% to 75% (23% diff) for 12h of sleep (deep sleep enabled).
No SSD or other hardware issues

2 Likes

How long was this in suspend for by chance?

1 Like

For 12 hours, sharp

1 Like

So 12 hours suspended (deep sleep, not hibernate), that sounds about right. We’re measuring power drain to improve upon it (expansion cards, etc). However, there will be some power drain as it’s not in a proper hibernation state.

1 Like

If you want to join the fun here:

https://community.frame.work/t/test-results-for-standby-battery-use-of-expansion-cards

2 Likes

I wonder if you would have less battery drain with s2idle sleep.

I’ve used deep sleep in the past, but since a few months ago, with the 6.x kernel series, I have less battery drain, and faster resume latency, when using s2idle sleep instead of deep sleep.

To use s2idle until the next reboot (as this doesn’t change the kernel command line on disk), write s2idle to /sys/power/mem_sleep. This should work on most distros:

sudo su -c "echo s2idle > /sys/power/mem_sleep"

I should mention that I have a 12th gen Intel Core i7-1260P, if there any differences in terms of sleep with the 11th generation. Confirmed on Linux kernel versions 6.0.6-arch1-1 and 6.1.5-arch2-1.

2 Likes

Let’s keep this on one thread for tracking please.

https://community.frame.work/t/test-results-for-standby-battery-use-of-expansion-cards

1 Like

Thank you. However, your use of ‘a’ and ‘b’, and your omission of code formatting, makes your post a little hard to read. So, to aid clarity, let me list (/reformulate) the code and settings at issue - thusly.

The string to be added to one’s boot string is mem_sleep_default=deep.

The command to update-grub is: sudo update-grub.

(Incidentally, one can use the program grub-customizer for this stuff. One will need to find a way to install that program. On Ubuntu 24, and distros based on Ubuntu 24, there is a PPA advertised on the 'net.)

The verification command is cat /sys/power/mem_sleep.

Also/but: on my AMD Framework-13, the verification fails, i.e., deep sleep appears to be unavailable (even after telling the ‘tlp’ program to use deep sleep). EDIT: ah, this thread says deep sleep is not supported on Framework’s AMD laptops.