3 ms·
It took a while for Framework and the community to figure it out, but the s2idle problem is fixed with the nvme.noacpi=1 kernel argument. You get instant wake a
by warner25 4y ago
It took a while for Framework and the community to figure it out, but the s2idle problem is fixed with the nvme.noacpi=1 kernel argument. You get instant wake and no more battery drain than deep. This is in the official Framework installation guide for Fedora and other distros now.
grubby --update-kernel=ALL --args="nvme.noacpi=1"
The drain with USB-A and HDMI cards is real, though. I see 2-3% per hour (as compared to <1% with only USB-C cards), and there seems to be no fix on the horizon. Not a huge deal for my usage pattern either, as I'll power off or put it on the charger if I'm not going to use it again for more than a couple hours.
- burntsushi 4y agoInteresting. I had ruled out s2idle completely because I just figured it would have much higher battery drain. From the Linux kernel docs[1]: State: Suspend-To-Idle ACPI state: S0 Label: "s2idle" ("freeze") This state is a generic, pure software, light-weight, system sleep state. It allows more energy to be saved relative to runtime idle by freezing user space and putting all I/O devices into low-power states (possibly lower-power than available at run time), such that the processors can spend more time in their idle states. This state can be used for platforms without Power-On Suspend/Suspend-to-RAM support, or it can be used in addition to Suspend-to-RAM to provide reduced resume latency. It is always supported. And notice that for 'deep' mode, the same docs say: State: Suspend-to-RAM ACPI State: S3 Label: "deep" This state, if supported, offers significant power savings as everything in the system is put into a low-power state, except for memory, which should be placed into the self-refresh mode to retain its contents. I do already have 'nvme.noacpi=1' set, so I guess I'll try out 's2idle'. Thanks for the tip. I do note that the installation guide doesn't say anything about s2idle vs deep suspend: https://guides.frame.work/Guide/Fedora+36+Installation+on+the+Framework+Laptop/108 https://guides.frame.work/Guide/Fedora+36+Installation+on+th... [1]: https://www.kernel.org/doc/Documentation/power/states.txt https://www.kernel.org/doc/Documentation/power/states.txt
- warner25 4y agoYes, in the installation guide, because s2idle is the default setting, it just advises adding the kernel argument under "Step 4" where it talks about SSDs. On that note, Western Digital apparently told Framework that this is only a problem with their older firmware, but most of us have found that the kernel argument makes a big difference despite having the latest firmware. Also, I don't understand the details, but I've read that Intel's 11th Gen CPUs don't actually (fully?) support S3, so that might explain why it doesn't provide any noticeable power savings over S0 with the kernel argument.
- burntsushi 4y agoYeah... The s2idle battery drain is awful. It lost half its charge overnight. (I only have USB-C modules connected, so I shouldn't be getting any of the battery drain associated with USB-A or HDMI.) I'm not sure which I dislike more. The obscene battery drain on s2idle or the 10-15 second delay every time I resume from suspend.
- burntsushi 4y agoFor what it's worth, the battery drain on s2idle is absolutely unbearable. It doesn't even last 24 hours before it's dead. In the past week, my laptop has died twice on me because I forgot to plug it back in. Before I switched to s2idle, it never died on me. So it looks like my choices are huge battery drain while in suspend, or 10+ second delays when resuming from suspend. Ug.
- burntsushi 4y agoAye thanks. I'll see how the battery drain is overnight. It certainly makes resuming from suspend quite snappy. Thanks for the tip. And yeah, I'm not happy with Intel. My Thinkpad T430 had flawless suspend-to-ram and probably better battery life than my Framework. They have really gone to shit.