Now, I might have just been spoiled by my MacBook M1, but I just feel like the battery life in my Framework is just not good. I don’t do anything excessive with it - no video editing or photo editing or gaming or anything. My main gripe is when the laptop isn’t being used. I mean, I’m not thrilled with it when I’m using it, but it’s really annoying knowing that I can’t pick it up after a couple of days of not using it, and the battery is either gone, or very close to it. I’ve left my MacBook on, unused, for more than a week and when I came back to it there was a slight drain in the battery, but very minimal. My Framework would not be able to do that. And I do realize that a lot of other laptops might not be able to do it either, but this one seems excessive.
I saw something on Louis Rossman’s channel about a command that can be ran to help with it, but idr what it was, and I wanted to come here and see if there was anything else that might be available to try. I’m running Fedora 39 on it, and idk if it’s something with that, or if it’s affecting the laptops running Windows too.
I wanna love this laptop more than I currently do. Really like what Framework’s doing, so I don’t wanna give up. And I know that Apple is doing something with their own silicon that helps the battery somehow, as they’re beating everyone in the laptop world, so I’m not expecting to be able to achieve that kinda battery life. I just wanna be able to close the lid and come back a day or two later and not have to put it on the charger first, not right away, anyway.
Specifically, this section here on battery optimization:
You might want to temper your expectations with Linux and comparing it to Apple Silicon. Apple has decades of power savings research and experience in ARM based hardware and billions invested in long term R&D that have made their silicon platform possible. They control the hardware and software stack.
In comparison I saw about 25% battery loose over a 12 hour period on standby with Ubuntu 22.04. With hibernation, you see none, and with the NVME drives this can be a relatively fast solution. If you have a lot of RAM it will take longer, as Linux has all but abadoned hibernation development, while Windows uses fast compression to really speed things up.
12 Gen gen i7 with 64gb RAM
Ubuntu LTS - hibernate - 52 seconds, wake - 46 seconds
Windows 11 - hibernate - 13 seconds, wake - 8 seconds
Now if you get past the need to do this as quick as possible, Linux hibernation solves the problem of standby power drain while maintaining your session.
Battery life is terrible under all circumstances, even compared to a previous x86 laptop (dell XPS with 11th gen Intel).
But I also wanna like it so much, I gave up on my chance to return it. I’m confident that some power savings will come from the kernel, and I got also a thin hope that Framework themselves can optimize things further with BIOS updates, although I’m not counting on it.
hey, thanks for that guide, i’ll take a look at it. i just upgraded from 38 to 39, so it wasn’t a fresh install. but i’ll take a look at the guide and see what it says.
is there a way to enable hibernate? i’m not seeing it in my settings anywhere. just see the option to sleep or shut down.
and yes, you’re definitely correct about Apple, and i am definitely not expecting Apple Silicon level power management, it just seems like it should last somewhat longer than what it does.
yeah i am going to push forward with it for a while longer and see what kinda updates, if any, can help it out. i almost went with a Tuxedo laptop or Slimbook laptop, because i’ve kinda jumped all in on Linux and they cater to that. and they make upgradable products too, though not to the extent that Framework laptops are upgradable, mostly because their ports aren’t modular. if i ever do make the switch, it’ll be to one of those 2 companies’ products.
I kept an eye on those, but while I love the fact that they’ve been supporting Linux for a while now, they often still come with a useless barrel charging port (no-go in 202x), and as you say they are not as upgradable and repairable as FW.
Actually I was even under the impression that some yt channels they sponsor have only recently started highlighting their easy to repair/upgrade capabilities since FW disrupted the market, as if they were kind of trying to benefit from the slipstream generated by FW.
FW’s mission remains at the top of the pyramid in terms of repairability/sustainability, at least in my book, and they deserve so much credit to go all-in with this philosophy.
And it takes some real balls in a market where the soldered-RAM-and-SSDs Apples of the world have such a large piece of the cake. So that’s why my wallet voted for Framework.
There is absolutely a way to get hibernation working on Linux.
It is somewhat more complicated if you are using an encrypted drive. I believe Fedora uses a default 1gb swapfile just like Ubuntu does.
You can use the swapfile which preserves the integrity of your hibernated image, but it is a little trickier and not that easy.
On the other hand, if you can partition your storage such that you have a 16-20gb swap partition, this is much easier to setup for hibernation.
Basically hibernation will not work if you don’t have a swap file or partition at least as large as your installed RAM amount. If your swap is large enough then executing the hibernate command will work. BUT if you don’t have your grub updated to point to that drive on resume you would not be able to load that hibernation image back up when booting back up.
Basically, there is exactly how to set all this up contained on this forum. What I would recommend is that you use the swapfile. Ubuntu and Fedora use this, and most people encrypted their drive.
Follow this here to see how to do that. This is for Ubuntu specifically, but I think it works on Fedora as well. I’m talking about it there:
Sleep puts all components in low power consumption state.
Hybernat dumps the content of the current memory to disk (usually swap partition or paging file under windows - I guess …) and shuts down the computer (no power drain). When you power it back on, it read the memory dump back into memory and continues from there.
There is one challenge when it comes to hibernating a Linux instance using the command line: you will need a swap space sufficiently large to encapsulate the entire RAM size, and potentially some extra for normal concurrent swap usage by applications. Thus, if you have 8GB of RAM memory in your system, you may want to allocate a 16-20GB swap space to ensure there is plenty. If you would like to learn how to do this, see our How to Create and Enable a Swapfile At the Linux Command Line guide.