Hacker News new | ask | show | jobs
by eddiezane 1422 days ago
I've had my 11th gen Framework for ~ 5 months now and I really want to love it but I've stopped recommending it to others because of the battery issues.

The biggest problem is that it drains 1-2% per hour in deep sleep on Linux. That means if you leave it asleep in your bag after work it will be between 15-30% lower when you go to use it the next morning. People on the forums[0] are even seeing up to a 4% per hour drain. I don't know what is common with other laptops but I can't say I've ever had to think about sleep drain before.

I've just ordered the 12th gen board upgrade with fingers crossed it helps but really consider going back to a ThinkPad X1 Carbon.

0: https://community.frame.work/t/linux-battery-life-tuning/666...

5 comments

We've been able to reach <0.5%/hour on Linux with 12th Gen and recent kernels. There are also some additional firmware optimizations we're working on to resolve higher s0ix drain with different combinations of Expansion Cards inserted that keep the retimers from going into a suspend state.

On 11th Gen and 12th Gen, one of the other major drivers of s0ix drain we have seen is SSDs with firmware issues that keep them in higher power states in suspend. Updating SSD firmware is challenging on Linux, so if you are unable to do that, there is also a workaround to change a kernel parameter which we have seen result in <1%/hour drain on 11th Gen: https://guides.frame.work/Guide/Ubuntu+22.04+LTS+Installatio...

FWIW, my sleep drain issue (on 11th gen) got noticeably better once I replaced my USB-A and HDMI modules with USB-C. Now I just have 4 USB-C modules. I did try updating SSD firmware before that, but I don't believe that had an impact. I'm not sure whether it was HDMI or USB-A or both that was the issue.

I run the latest kernel (5.16.16 currently) on Arch.

Thanks for the reply! This is great to hear.

I've turned just about every knob and kernel parameter I can, only use the USB C expansion cards, kernel is 5.18.12, and my Samsung 980 Pro is on the latest firmware (5B2QGXA7) so I look forward to what the 12th Gen board can do.

Thank you so much for posting this! I'm very much happy and relieved to know that you guys acknowledge the issue and are actively working on it.
Have you tried configuring suspend-then-hibernate with a very short timer (e.g., 10 or 30 minutes)? The configuration for it is shipped with systemd these days, so all you have to do is turn it on and set the timer length. With fast SSDs, resume from hibernate is not very painful.

That should let you close your laptop and open it in a few days without any big issue, even if S0ix continues to suck.

Configuring suspend-then-hibernate is a pain on both Fedora and Ubuntu for different reasons: Fedora uses zswap by default and Ubuntu's swap partition is too small.
Last I installed it, Ubuntu actually used a swap file, so configuring hibernation required adding a kernel parameter to your boot arguments specifying what file to resume from.
I configured this recently, and it involved resizing a 1GB LUKS swap partition on Ubuntu 22.04 at least with encryption enabled.
Thanks for the suggestion! I haven't used swap for years but I am about to figure out how to set it up behind LUKS/LVM to test this out.
The deep sleep power drain is really annoying, but on the bright side those power tuning tips let me go through an entire 8 hour workday from a full charge. At least until I need to test things on an Android emulator.
I have this issue with a Dell XPS 13 (2021) with Ubuntu, I read in several places this is common problem among modern Intel based laptops, even in Windows.
Now you know why you pay more for premium (Apple) laptops. Hundreds, if not thousands of people working on reducing battery drain to a minimum.