[TRACKING] Suspend on linux drains a lot of battery compared to other laptop

@Andreas_Tille - happy to help, it’s a puzzle to solve and will help me to get better with linux. I’ll pull down the xfce iso. In the one that I have now (gnome), after updating to the testing release, I get this output showing that systemd is still v252:

username@debiantesting:~$ systemctl --version
systemd 252 (252.6-1)
+PAM +AUDIT +SELINUX +APPARMOR +IMA +SMACK +SECCOMP +GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 -PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD -BPF_FRAMEWORK -XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified

Edit to add, the following page (assuming that it is up to date) lists systemd v253 only in the experimental release:
https://manpages.debian.org/testing/systemd/os-release.5.en.html

Argh, I should have noticed this myself. I was to sloppy checking. Sorry for the noise. Hoping even more for the new release and that systemd v253 will migrate soon to testing which I would upgrade timely.
Thanks a lot for pushing me into the right direction, Andreas.

No apology necessary! I did get things working again when I moved to v253, so hopefully you will be able to as well. Please post a follow-up once you get to that version.

Greetings! I’m looking over this thread and trying to figure out the current state of using “suspend” with Linux. I just replaced my current laptop with a Framework (hasn’t arrived yet) specifically because the old one wouldn’t effectively suspend. If this is the case with the Framework as well, it won’t work for me :frowning:

So basically, I’m wondering if someone could summarize this long thread, perhaps answering the simple question: If I have a new Framework laptop running Linux, should I expect “suspend” to work?

Thank you in advance!

1 Like

The state of suspend and its variants as always varies. Depends on distro, newness of hardware, and the kernel regression of the week. If you depend on suspend you are embarking on a mission of havinig to fix it, deploy a patch, deal with a workaround, or otherwise have to fiddle with it on a very regular basis. It has not been and likely mever will be what I would consider reliable.

Why is it so important to you? Just curious, because with the speed of booting today, and the security ramifications of essentially leaving your laptop in a vulnerable state at all times I simply don’t understand why anyone would use it.

1 Like

I’m using Pop OS on the new Ryzen 7 board with battery saver power profile and powertop enabled and it is actually pretty good comparing with 11 gen intel board, I closed the lid yesterday at 11 PM and open it today at 11 AM and it went from 30% to 29%, the other day went from 82% to 80% overnight. So it is consistent it loses from 1% to 2% overnight for me.

2 Likes

Maybe there’s a misunderstanding: suspend mostly works out of the box, even on (some) unsupported distros (Intel 12th gen with Debian here). The question is only how fast it drains the battery. I do use suspend all the time, and I just try to remember to leave the power plugged overnight if the battery is not fully charged in the evening, that’s it. (And I still didn’t patch, upgrade or apply any workaround; I just replaced the old HDMI card with a version 3.0, and avoid leaving the microSD card plugged in)

1 Like

Honestly, those are great numbers. Curious if you do anything special there.

I have a 12th gen on Fedora and I usually drain a little more than that overnight if I leave it in suspend. Better than the initial ~8 - 10% when I bought it with no additional set up, but not as good as 1 - 2%.

I use all USB-C expansion cards and recommended TLP settings.

Thank you everyone for your comments. @nadb - just to answer your question of why it is important, it’s a big convenience. This laptop is for non-work related projects and my usage cycle is usually to quickly open it up, do a little work, then put it down. It’s been a while but I recall, hibernate required me to type in my password twice, once to unlock the swap partition, then once to log into Gnome.

In any case, it looks like my mileage may vary. I’ll see how it does once I get my laptop (13" ryzen) and I’ll report back on this thread.

2 Likes

I applied all there recommended setting in the TLP for ubuntu doc.

It does seem to have helped. I now have about 10% loss when suspended for a day. My experience when on battery does not seem to have been impacted… still very responsive. I am running Mint 21.2.

I’m going to keep tracking and report back after a few days.

Cheers,
Rich

1 Like

Hey @Ricardo , by “with battery saver power profile and powertop enabled”, do you mean that you’re just using powertop to monitor the situation, or that you used it to tune any settings? If it’s the latter, do you mind sharing what you changed?

Also - I little off-topic - how’s Pop!_OS been for you, on the FW13 AMD? I’m running it on my System76, but am a little concerned that it might not have the best support for the AMD.

I meant using system 76 power profiles (Battery Life option). I installed powertop and enabled the service, also did the calibrate and auto-tune option before enabling the service. Didn’t do anything else. This morning I noticed it lost 3% overnight, not bad either. I think Pop OS does have support for AMD, they also sell laptops with AMD. I do not game on it (but tempted to try), for now I just use Firefox, 1password, visual code, terminal and discord and it works fine and get between 8 and 10 hours. I think it could be better, yesterday noticed Pop Shop uses a lot of ram and resources in the background so I’m thinking on maybe remove it.

1 Like

So, the recommended TLP tweaks seem to have helped my battery life while awake. Still seeing a 30% drain when on suspend for a full day - 6 AM - 6 PM.

Does it help to be running on battery before suspending?

Cheers,
Rich

Suspending to RAM, this sound about right. We are working to continue to drill this down to a better drain rate, however it’s still a work in progress.

2 Likes

If automatic suspend to hibernation (when the battery reaches a certain threshold) would work that would make things much better. How can I achieve that in Fedora ?

@Geert_Schuring If you used btrfs you’ll need to setup a subvol for swap set a swapfile of size ram+zram and then set the resume uuid and resume offset of the subvol and add the resume module into dracut and edit the systemd sleep config to enable hyrbid sleep.

I’ve got a reply which links to a fedora gist on how to do all the above.

1 Like

Small correction, per the article you linked to.

PPD (power-profiles-daemon) (AMD ONLY)

For Framework Laptop 13 AMD Ryzen™ 7040 Series configurations, you will absolutely want to use power-profiles-daemon for the absolute best experience. Do NOT use TLP. Without getting too detailed, there are things happening behind the scenes that require PPD for the best experience for our Linux customers.

AMD has expressly indicated we want to have users on PPD.

What is the consensus of splitting this thread by chip?
I am finding the desire to search out solutions for suspend power consumption on AMD yet there is not yet a dedicated general or suspend power consumption thread for AMD Frameworks.

Fair question - dates back to 2022, so it’s more than I have time to deal with atm.

It really boils down to:

AMD = PPD
Intel = TLP

If folks care to vary from this, testing TLP on AMD chips, great, make sure to include said data.

Hrm … So I left my fw13 last night unplugged and let it suspend with the 6.7-rc1 kernel with the cros_ec patch applied.

What is interesting is that from a ~1.6W initial suspend/idle draw - it increased linearly overnight (see pic) to around 3-4W ~ by the time I resumed it in the morning.

See PIC:

I did have an issue with baloo indexer this morning - I’ll repeat tonight and see if I get the same curve.

1 Like