106
In 8 hours it uses 20% of the battery. When Windows or Mac are put to sleep, the damn things can sleep for a week! This is the case with Linux on multiple laptops.
Is there some kind of manipulation going by ring -1 that detects Linux is running? Is Linux not respecting some procedure and kissing a step?
Windows definitely has lot of sleep issues. But yes Linux seems to be as bad or maybe a bit worse. I once shut down my Linux laptop and left it connected to power on my vehicle. When I returned, my vehicle was completely dead š®āšØ
On my Linux computer I just close the laptop's lid and it goes to sleep, consuming almost no battery power. I can open it hours later and have basically the same amount of battery left as before.
But some laptop manufacturers have proprietary systems in place for the sleep mode that are not supported in Linux because it would be a gargantuan effort when the laptop manufacturer refuses to coƶperate.
This is the answer.
Proprietary firmware. Fuck Intel.
Worth noting that this is also an ongoing issue with windows. Only apple has actually solved this, and they do so by owning the whole stack. Each apple product has a specific OS, CPU, and motherboard that were all specifically designed with the end-product user-experience in mind.
But for PCs, the OS, CPU, and motherboard are all designed and built by different companies, each only designed to be generically compatible with the other components. None of them are designed for a specific end-product, so features that require all of the components to play perfectly together for a specific end-user experience (like sleep state) often end up not quite aligning.
None of this helps you, but I think it's worth understanding why the problem exists and why it may just always exist. The best bet is that companies like System76 or Valve solve sleep states for specific linux-based products, and then the rest of us maybe hopefully see some benefit from that.
But IMO this is just a trade-off. It's like a pick 2 situation between Customization, Stability, and Privacy (where a reliabile sleep state is Stability). You can have stability and customization, but you'll probably pay a lot, and the company who sold it will want telemetry data to improve the experience for others. You can have stability and privacy, but the product will be very locked down to a specific use case to ensure a stable experience.
moth doesn't know what CPU you use, but newer AMD chips don't support S3. AMD removed that because they think modern suspend is better, an opinion that doesn't seem to be shared by the consumers.
moths thinks you might be experiencing an emotional breakdown. since you are in the US, you can dial 9-8-8 to reach the Suicide and Crisis Hotline. moth hopes you get well in the future.
I like moth. Moth is nice. Thank for being moth.
When I put windows to sleep it just wake up in middle of the night to install whatever update, restart and slowly empty it battery until it die.
No rest for the wicked?
No idea if this applies to a lot of laptops, but on my HP with an i5-8350U every Linux distro I've tried seems to come configured using s2idle instead of deep sleep, and battery will drain very quickly even in 'sleep' mode.
If running cat /sys/power/mem_sleep returns "[s2idle] deep" then you can add mem_sleep_default=deep to your kernel args and it will actually go to sleep properly.
On Fedora this was sudo grubby --update-kernel=ALL --args="mem_sleep_default=deep" but it varies by distro.
Why it seems like every distro I've used has this set incorrectly I do not know, it's baffling.
Interesting. "s2Idle" sounds like it's idling and wasting cycles when it's supposed to be sleeping. I'll try those commands.
Also perplexing to me that idle is chosen as a default.
I've only used windows at work in the past 10 years or so but my windows experience with sleep was far far worse.
My laptop would always wake up in my bag on my hour+ commute. The laptop would be scorching hot and the battery dead by the time I got to the office. Every time.
Never experienced that in Linux.
Recently I switched to a Linux computer at work and it's much better in every regard.
My personal desktop (runs arch (btw)), did have some trouble with sleep recently tho...I replaced my 5700G with a 5600X3D and it would refuse to wake from sleep, necessitating a hard shutdown (by PSU switch!)...but I think that was a bios bug. My bios was already very close to latest but I think upgrading that was what ultimately fixed it. Now it works fine.
Every piece of shit windows laptop since they flipped from S3 sleep to "modem standby." garbage. Thing wakes up in the bag at the slightest whiff of wifi. "Oh! Network! Want me to connect so I can install updates, delete all your pinned tabs, break a few apps, and infect notepad with AI slop vulnerabilities? No answer? That must mean you want that - doing it now, boss!" <melts in bag>
Dell, Lenovo, and Surface laptops all do the same shit. I fucking hate windows.
Dell support even told me, with a straight face, that if I didn't fully shut down my laptop before putting in my bag that I'd void the warranty.
Dell support even told me, with a straight face, that if I didn't fully shut down my laptop before putting in my bag that I'd void the warranty.
That's insane, what the fuck? BTW, the owner of Dell is a right-wing dude who supports DHH. I'm not surprised they they have such shitty customer service.
Yup. That was the last XPS I owned. Not that Lenovo is much better, morally, but their Linux support is WAY better. Should have got a framework. Next cycle.
Iāve always had this Windows issue you described with ThinkPads. Never had a problem with Dells though. Drives me absolutely crazy
Aren't Dell and Lenovo one company now?
Was the only solution to the sleeping problem on Windows to switch laptops?
I donāt think so. Havenāt seen anything about that.
Debian has worked fine on my old laptop, probably only a few days for me but the battery is a decade old or so.
Too much screentime before bed?
If only going to sleep was simple. There's a bunch of different sleep states. S3 is ram and S4 is hibernate.
Check your supported sleep states. At the command line type cat /sys/power/state
https://www.kernel.org/doc/html/v5.4/admin-guide/pm/sleep-states.html
It also doesn't help that ACPI is a badly-designed mess of a standard. I remember that in the 2010s one of Apple's selling points was that their laptops had sleep and hibernation that worked every time. Heck, MacOS X could even decide intelligently when to do which. This mostly worked because they fully controlled the hardware, firmware, and software. Other laptop manufacturers could just take their best stab at implementing ACPI power states and hope their implementation matched Microsoft's.
Microsoft tried to solve the mess by introducing the S0ix ACPI state (aka "Modern Standby"), which was defined in a way that could actually be implemented without too much guesswork. Unfortunately, this was during the Windows 8 era when Microsoft decided that laptops should be more like smartphones so S0ix is much closer to turning your screen off on a phone than to actual standby.
The system randomly waking up and deciding to do work is an explicitly intended feature because what if you get a Teams message while your laptop is in your bag? Sure, you might say that you'd either have Teams on your phone or wouldn't immediately care but that kind of thinking won't get you anywhere within Microsoft. Also, Windows actually has very little restraint about what it does when it wakes up so it might decide to install a heavy update or an application might decide it's important enough to do work right now. While the laptop is in your bag. Cue you wondering if the laptop turned off because the battery's empty or because it overheated.
And to make things worse Microsoft specified that in order to be allowed to use Modern Standby, the device must not offer S3 (sleep/suspend-to-ram). Some manufacturers still allow you to enable S3 but it's a legacy feature that's even less well supported than before.
The system randomly waking up and deciding to do work
My work macbook did this by default as well, among other dumb things like leaving bluetooth enabled on sleep so my headphones would constantly connect to the laptop when on the train trying to listen to music.
Thankfully the waking up thing is just a setting, but by default, imho, mac os's sleep is also garbage.
I've got Sony Bluetooth earbuds a few years back and I guess they have something called "multipoint" where they can connect to multiple devices at once. I had to Google why anyone would want that, but I guess it's to make switching between devices faster.
Sometimes I'll be walking down the sidewalk with my earbuds in, connected to the phone in my pocket, and they'll just randomly make the sound it makes when connecting or disconnecting. Like I'm connecting to the BT of a random house or business I walked past that I never explicitly paired with.
I can't exactly put my finger on why, but I find it very unsettling every single time and wish I could turn that feature off.
Is that true for Mac and Windows too? Why do I need to differentiate the two on Linux but not the others? Why isn't the default the better one?
suspend to RAM (aka sleep) means the computer stays powered on in a very low-power state. Everything in memory is kept as-is, and it consequently draws a little power to keep the RAM active. This makes it very quick to enter this state and to wake up from it.
suspend to disk (aka hibernate) dumps the RAM to disk, and then powers down fully. It takes a little while to dump all RAM to disk and also to restore it.
So "the better one" depends on what works best for your particular circumstances. If you don't know and want a big corporate entity to make those decisions for you, stick with Microsoft and Apple products. If you would rather take the time to find out what's best for you, then go FOSS.
"big corporate entity's decision" sounds very valid for laptop hibernation.
It would be nice for Linux to have the same as the default
Itās something to hassle with on Windows too. Less so on macOS because itās easier for them to optimize everything when they control the whole software and hardware stack.
This is the one I was going to link.
I have my laptop in s2idle mem_sleep most of the time because this boots quick and allows me to wake the computer by pressing a key on my USB keyboard plugged into a hub plugged into my dock into my laptop.
And it gets from my office and back just fine on that. But if I'm traveling or something I'll switch it to deep mode before I leave so it actually actually goes to sleep in my bag.
It takes extra time and jank to boot, and I have to wake it up by opening the lid, but if I'm traveling that's normal since I don't travel with my dock or USB keyboard anyway.
This is one of those cases where it would be nice if the tech always did what I wanted, but I do actually want different things at different times, and so I do actually benefit from the control of being able to choose.
My hardware doesn't support "shallow" sleep, for whatever reason.
The reason is, as usual, that Microsoft lobbied hard to make their way the standard way of doing sleep modes. Then, when implementing it, they strong armed all the OEM to make hardware fit their nonstandard, slightly off center, way.
So, now windows kind of work with all hardware, but open source is fucked because to make the hardware actually work requires reverse engineering whatever custom crap windows does.
The sleep stuff is part of the ACPI standard, it's all documented.
It's up to the motherboard/SoC to support it properly, and Microsoft has an "entire system view" of how Windows works and can integrate it deeply. Compare that to Linux, the companies involved mostly care about servers, and the distros are assembled by disparate groups that don't have the hardware testing capability that MS or OEMs have.
thank you for the tip!
Your system goes to sleep and wakes up? My system goes to sleep and then crashes. We are not the same
Your system and me have a lot in common (āā _ā )
Mine too! Well one of mine, and I still don't know why just this one. But hey, it's not like Linux cares if it is crashing, it always comes back.
And so it got called, the Terminaltor.
Windows doesn't sleep. Ever. Sleep is now just a nickname for Modern Standby, which is just running in low power mode doing a whole bunch of shit. The amount of times I come back to my laptop and it has gotten stuck at a reboot is just embarrassing. I dual-boot and have Grub, so whenever Windows tries to reboot itself it gets stuck.
People have gotten their laptops damaged because they thought they were sleeping and put them in a bag, when Windows decides to try to update itself while the fans are blocked inside the bad. Bam, heat damage.
Shouldn't modern laptops have temperature sensors and just deal with it in some way? I had this happen to me a few times with my old Thinkpad from 12 years ago. Threw it into the backpack in a rush and an hour later I'd pull it out, hot and doing something I didn't want it to do... But it never suffered any kind of damage from that. Was just very annoying.
You can't interrupt Windows Update either. So, rock meets hard place?
Sure š In the meantime I found a solution for all the Windows Update debacle. Bought a newer laptop, went home and just wiped the entire SSD before installing Linux. Now I don't get any dual-boot or Windows update. Also goes to standby 100% of the time. ĀÆ_(ć)_/ĀÆ
I would expect overheating protection to occur at the hardware level: first downclock the CPU and forcibly just halt if heat gets critical for too long.
Sure but the update can already have done some stuff, leaving your machine in a half-updated and maybe corrupted state. If downclocking doesn't work there really isn't a good solution here.
Edit: oh wait there is, DON'T UPDATE WHEN SLEEPING. And on top of that, just don't update without my explicit approval at all. Thankfully I run linux where, if it's not the default already, it's a config value away.
Also, the failure gets registered forever, for example, in RAID disks you'll never get a 100% healthy disk with such situation.
When Windows or Mac are put to sleep, the damn things can sleep for a week!
When I put my Windows work laptop to sleep, it damn well can sleep for a week. In fact, it sleeps so well that you could fell a tree next to it and it still wouldn't wake up.
They should really rename that button to "coma". "Sleep" implies you can wake it up.
Wait, how do you get it out of sleep then? Hard shut down by holding the power button down for a few seconds?
Yep. It's the only way to do it sometimes.
It's mostly a mix of newer laptops not supporting suspend to RAM (only suspend to idle), and faulty hardware requiring proprietary hacks to actually go idle.
I once did a deep dive on sleep mode for some problem a friend was having. I'm now convinced it might be the worst thing I've ever seen in modern computing. It's globally horrendous, poorly implemented, and causes random problems in unfathomable places. It's amazing it ever works at all.
It makes what Valve was able to do with the Steam Deck even more impressive imo. You can suspend mid game, like a Nintendo Switch, and it just works.
That's just cause its an AMD APU, and nvidia hates linux.
Which is nice and impressive, but its cause nvidia's shit, not anything valve specific
I recommend using hibernate (suspend to disk): your computer will "sleep" for 10 years without draining. The only cost is about 7 seconds to boot on modern hardware. For short interruptions with instant wakeup, you can still use light sleep states.
It combines perfectly with LUKS-encrypted root and swap partitions: your data is safe even if someone steals your computer and swakes it up.
Hibernate with an encrypted swap and systemd boot takes forever for me. How do you manage in 7 seconds? How much RAM do you have?
32 GiB. I decided against a 96 GiB model with hibernation in mind.
Hibernate doesn't work with secure boot/kernel lockdown for $REASONS, a lot of folks can't even use it. Supposedly if Linux can determine you're resuming from an encrypted partition it will work, but I was never able to get it to work with a swap file on BTRFS on LUKS
True, kernel developers should resolve the Secure Boot issue with hibernation, but the development focus is on servers, not laptop computers. Also, hibernation should probably use a dedicated hibernate image file instead of requiring a huge swap partition. That being said, it works regardless of hardware capabilities if you turn off secure boot and just configure a LUKS-encrypted SWAP partition. You should figure this out before you install the OS.
I've found full shutdown and subsequent boot up on my current Bazzite setup takes less time then hibernate used to in Windows 10 on the same PC. Haven't even felt the need to look into setting up swap (Bazzite uses zram by default).
full shutdown and subsequent boot up on my current Bazzite setup takes less time than hibernate
maybe, but a full shutdown and reboot does not restore all your apps, open documents, terminals etc exactly as they were.
And Bazzite is considered "slow" in terms of Linux distro boot times
Unfortunately, hibernate does not work on all devices. I believe, it depends on the motherboard and BIOS...
I just want the option to put my Linux laptop into S3 ACPI power State. Daim you modern W11 hardware and S0!!!
Power state? Is that what's going on?
Always wondered this. My steam deck dies in a day if put to sleep or hibernate.
if the battery dies during hibernate, it's not hibernating
incidentally I have been using linux for years and have never had a working hibernation setup. I'm convinced it's a hoax at this point
Works great with HP Elitebooks G3āG4; honestly, worked great on any HP I've used. Might've worked on the Dells I'd used but they had other problems and didn't last very long so I don't remember.
But I've largely used older laptops so I'm not sure if the hardware, specifically, may have anything to do with it.
I've been using it pretty consistently for years, I achieve uptimes upwards of 60 days like this. The downside is that it takes kinda long to enter that state and there's a chance that it fails to enter it (though it doesn't crash, just goes to the screenlock), especially on my laptop - it refuses to go into hibernation unless I kill most webbrowser windows, especially stuff like YouTube.
And you do need a pretty large swap space; with those super long uptimes, even swap size = ram size isn't always enough, because sometimes the swap space is actually used as swap and not just as hibernation image storage.
Twice your RAM is the old adage.
Using swap for hibernate was always insane to me...
Really, hibernate as well? On my linux desktop and laptops, hibernate completely cuts the power. It's definitely possible that this works differently for a handheld device, though, and I don't think I even tried using hibernate on an ARM device.
I kept losing tons of battery on my steam deck even when turned fully off. I had to disable quick boot (in the bios) and its been better but of course takes longer to boot
I rarely put my linux to sleep because I had this experience in the past, but yesterday I've had my minisforum v3 laptop in sleep for 3 hours and it stayed fully charged at 100% battery. It made me think the battery percentage readout was broken, but no, it strarted draining after using it for a while.
No clue if it's something I did back then during install (arch linux btw) or whether it was like this out of the box, but it really surprised me. And I'm gonna try using it more in the future.
Please preach us the forbidden knowledge you hold
In my experience, itās probably a hardware/driver thing. Lenovo laptops are generally really good, but the sleep still drains the battery at the usual rate that forces you to keep an eye on it every day. However, Framework seems to have a pretty amazing battery life during sleep. My guess is, Framework has done something right, and the kernel is able to handle power states way better than any laptop Iāve ever owned.
Itās clearly not about the custom tweaks either. Iām running just plain Debian KDE, and I havenāt tinkered with the power settings at all.
Windows has same problems. Its hot bag syndrome. Issue lies at hardware and firmware level. FYI my T480 configured for deep sleep looses only 1% per day sleeping.
I didn't configure hybernation though.
It must also be OS in some cases (like mine), but now I have so debugging to do.
And that T480 could be corebooted ;)
My previous laptop was fine - it lost a few percent per day. Now with s0ix, it's more like 10 or 20% per day. Is just turn it off if it weren't fit the fact that it also takes ages to boot for some reason. Sigh. And hibernate doesn't work with an encrypted disk.
Is sOix this modern "sleep" people are talking about? Idle?
Yeah... I don't exactly the relationship between S0ix, s2idle, and "modern sleep" - I'm sure there's some overlap but to me it's all the same: it's not old-fashioned S3 sleep, and it just doesn't work properly. I remember reading that with my laptop specifically, S3 was replaced with S0ix so I'm pretty sure that's the right term in this case ;)
Hibernate can work with an encrypted disk afaik
There's some combination of circumstances which prevents it. I think specifically it's encrypted swap, a kernel setting and maybe something else... I can't remember, except that when I looked at it I couldn't be fucked trying to get it sorted.
SWAP avenger here. And they said SWAP partitions were old hat.. Pah!
I have an Acer Swift 3:2 running Manjaro with a swap partition encrypted with LUKS2. I recently got a new laptop so poor old Swifty been languishing in a messenger bag.
The important distinction here being that my lid is tied to hibernate, not sleep, because fuck sleep mode.. why do I want my laptop in "low power mode"? So I can charge it as soon as I open it? No thanks!
Three months pass. Crap can't seem to connect to my VNC over SSH, hmm, what to do.. I wonder if my Acer can connect?
Pull old Swifty out of the bag, open it up, enter decryption key, it's on in moments, 95% battery.
Skill issue? (I'm joking, or am I?) šø
Hibernate is suspend to disk, power off. There is almost zero power consumption. You'll lose more just to thermodynamics.
Exactly, that's why I choose it on all of my mobile systems. It also survives power outages which is important in storm-prone geographies.
its annoying. i cope with the sleep then hibernate after 30min setting
I think my current Dell laptop is fine. It'll lose some amount of percent each day. But most of it is still there after two or three days.
Kubuntu on my laptop sleeps really well, I can leave it in my backpack for days and it will lose less than 10%, better than when it was running Windows
This, Bluetooth, WiFi, screen scaling. 2026 and Linux nuts still tell people itāll just work š¤£
I am impressed how you seem to be worse at using Linux than my 80yo parents. There is a term for this: PEBKAC.
For common hardware, yeah it does. With my new lenovo work laptop it was just that - worked fine out of the box. Even dock and multiple displays...
Exotic hardware always needs tinkering, Windows is no different there in my experience.
Only issue I've had with Bluetooth in Linux is that Microsoft made me upgrade the firmware in my Xbox controllers to use it...
