And it’s crap across the OSes. On Linux laptops don’t wake up from sleep, on Windows they keep waking up when nobody asks for it.
In our home office room there’s three laptops. My private one running Fedora, my work PC that sadly runs Windows and my wife’s laptop also running Windows.
My work laptop and my wife’s laptop keep waking up wasting electricity, and my private laptop needs a hard reset to wake it up every second time.
That feature should be stupid simple, yet it doesn’t work across the board.
Rant over.
wakes up when nobody asks for it.
Wrong. You might not have asked for it, but it is not your computer, it’s Windows’ computer. Microsoft decides when it wakes up.
Fair.
I have had no issues with sleep on macOS, so whatever they are doing we should try to copy !
The same MacBook air, that used to last over a week with the lid closed on macOS, now needs to be charged every 3 days on Asahi NixOS.
Linux is a much better operating system, even just for the sheer variety of software available, but power management isn’t quite there yet in my experience on this laptop.
This is purely anecdotally and pretty worthless as a guide or anything, but i got it working perfectly on my framework laptop running kde neon (basically Ubuntu with kde as de in rolling release mode) But its basically archeotech, past me followed a bunch of hints in the framework forum, did some unknown configuration and now it works reliable through all other updates since at least 20 month, battery holds around a week or so sleeping i think
It’s amazing how bad Linux and Windows are at sleeping on my laptops. My steam deck has a power drain issue too, even when fully powered off.
My steam deck has a power drain issue too, even when fully powered off.
Noticed this too… Does not feel very off
The problem is it’s not stupid simple, it’s actually fairly complicated. Each piece of hardware and its driver must be suspended. The GPU is a particularly tricky one. Its processor must be suspended, and the state saved. In the kernel, the driver must suspend its execution, and likewise save its state. Then on resume, each half has to reload and begin execution again. And if there’s any mismatch in the resumed states, the GPU and/or driver crash and probably take the kernel with it.
Now do that for the Wi-Fi, Bluetooth, sound card, USB, disk controller, and every other device.
This guy sleeps.
What are you talking about? This guy dies and comes back alive every time!
No, that would be hibernation
And it’s crap across the OSes.
Never had these problems with MacBooks. It’s probably one advantage of the OS and hardware being made by the same company.
I noticed the same. The old macbook that I restored to become my ‘writing’ machine can sit asleep for a week (as I found out by accident) and just pops right up when opened. My windows and linux laptops have so many sleep issues.
Agreed. For all the downsides people point out with Mac’s, they handle this and battery life quite well. My daily driver is a Mac, and everything I connect to runs some flavor of Linux. Then there’s the Windows 11 thing my work foists upon me.
Agreed, I disable sleep on all laptops other than my MacBook and my work laptop which manages to drain its battery and overheat itself on my bag semi frequently.
The MB has never had negative issues with sleep.
I never had problems with sleep. Neither with fedora nor suse nor arch
I wonder if the hardware you use is better supported for/by Linux.
That’s fair, never had one, so I can’t judge that.
Macs aren’t immune to S0 sleep options. The Apple silicon CPUs are just so efficient that when it fails to fall to sleep it doesn’t matter. Intel ones it sucks balls when it fails.
Even my Intel MacBook Pro slept like a champ. They aren’t 100% immune but 99.95% I didn’t have an issue compared to my work windows laptop which was like 25% sleep worked and woke up correctly.
Hell, why is sleep so hard for most humans?
Absolutely unfair, I tell ya!
Stop judging, at least I made it to bed. It’s not my fault sleep can’t find me.
Narrator: It was.
Sleep is easy, you just prioritized that 30 minute YouTube video
A few years ago Windows invented a new sleep state, s0ix, instead of the previous s3 state. This makes a laptop behave more like a phone, able to wake up when it receives new data.
Unfortunately this is usually implemented badly and also causing the removal or neglect of previously reliable s3 sleep.
It’s actually insane that the only company who I’ve noticed pull off s0 sleep properly is Apple with their MacBooks, which is sad. I understand they likely had already figured out how to do it properly by working on it for iOS but still, goddamn, it can’t be difficult to fix it elsewhere?
I understand Linux is a FOSS OS (and they kinda at the mercy of hardware manufacturers to upstream support for hardware) so I have no complaints there, but Microsoft that makes so much money can’t get people to fix it? I call bullshir.
MacBook seamless suspend/sleep performance is like 25% of why my personal daily driver is MacOS. Another 50% is battery life, of which their sleep/suspend management plays a part. I’ve played around with Linux on Apple hardware but it’s just never quite been there on power management or sleep/wake functionality. Which is mostly Apple’s fault for poor documentation and support for other OS’s, but it just is, and I got sick of fighting it.
I don’t think Microsoft cares
I unlocked my bios (luckily Lenovo allows that with just a “secret” key combination in the bios) and disabled modern sleep, enabled S3 and S2 and tried that, with the result that my Linux freezes every time on wake up instead of only half the time…
Don’t know what exactly they messed up there, but it’s frustrating.
What lenovo laptop do you have? I’ve had to use a special uefi tool to unlock mine
Lenovo LOQ 15ARP9.
To unlock, go to the BIOS, open advanced settings, hold FN+R+N, release, press F10 to save and reboot, head back to the BIOS and all options are unlocked.
Some Lenovo laptops have other key combinations, some need a tool, some need a modified BIOS.
my guess is because the CPU power levels are fucking trashed because of all the patches they have to run at runtime. before Intel went all “wild west” with their security practices to improve performance, sleep worked just fine for me.
keep in mind, this was before uefi too, so it might also have a hand in the problems.
Never had I problems with sleep. Neither with arch, suse, fedora nor ubuntu. Neither with Gnome nor with kde.
Not even with windows.
Must be the hardware (brand).
My system76 wont even go to sleep anymore. It just pretends, then if i put it in a backpack for a bit it is burning hot.
System76? Shouldn’t they have support for such a case?
No idea how system76 configures their builds.
I’d check awiki if nothning else helps.
https://wiki.archlinux.org/title/Power_management/Suspend_and_hibernate
Possibly, tbh I spent a few hours on it and gave up, the laptop is due for a replacement anyways. It has other problems too, the touchpad connector is very flaky. Not sure I would go with them again…
Good to know, so far their on my buy list. Maybe not anymore :D My laptop is old but still works very good
The laptops are Lenovo LOQ, HP (work laptop) and Gigabyte.
First thing I do on any OS, but especially linux, is turn off every sleep-related option permanently. I don’t care anymore. I won’t fight with it.
Yeah I don’t bother with sleep either, I just turn all my stuff off when I’m done with it. With the advent of SSDs and M.2 drives, it takes about 10 seconds for my desktop to boot from fully powered off. I can wait that long lol
In 35 years of experience I’ve never got it to work correctly on any OS except IOS. I’ve only met ONE tech who claimed it worked for them, and that was in the 2000’s. He couldn’t demonstrate how exactly.
I do the same thing, turn that shit off because it does not work.
Do you mean iOS (iPhone) or IOS (Nintendo Wii) ? Or is there a third ?
Cisco firmware is also IOS.
The DOS BIOS was also sometimes called IOS, and the Input/Output Supervisor in the IBM OS/360 was also abbreviated as IOS.
My laptop uses 0.07w sleeping, draining about 1.8% of the battery per hour. I would say that’s acceptable with 32GB RAM s2idle
Framework 16 on NixOS
Wait, are you suggesting it’s consistent and reliable on desktops?
I’m roughly 25 years into using computers daily and never turning them off and I’ve never had or used a desktop that didn’t sleep and wake reliably, either naturally or using the sleep and wake buttons on the keyboard, with both Linux and Windows
Are you talking the full set of S0-S3 sleep as well as hibernation? Or just whatever your machine did by default? Because I’ve never had one do all of them correctly without freezing up or having some other issue, across multiple motherboard brands and BIOS updates and so forth. ~30 years here, Windows mostly then the last few on Linux.
Yep I’m with you. I’ve been under the assumption the “sleep” button is some sort of joke Microsoft includes just to mess with people. Never had it work reliably on desktop or laptop since it appeared
Tbh, I don’t know. The last time I used a desktop on a daily basis was 2020, and that was just my work PC where I wouldn’t really care if it woke up while I wasn’t at work.
The last time I had a desktop PC at home was in 2009, so I really can’t say what is happening there in the meantime.
And at least to me, sleep on a laptop is much more important than on a desktop. Battery usage isn’t really a thing on a desktop (usually at least).
Interestingly, I do own a little 2010 netbook that I use as an ultra-mobile laptop when I really don’t need any kind of performance, and that one does all sleep states including hibernation perfectly out of the box. Even when just sleeping it loses maybe 1-2% of charge per day.
But all the other laptops I own suck when sleeping.
Well yeah obviously it’s way more important on anything portable. For me it’s very reliable on Steam Deck. But that’s also kind of a core feature, and it only has one type of sleep (in game mode at least). But it does still drain battery faster than I’d like.
I’m curious, what kind of netbook is that one you mention?
It’s an EEE PC 1005P. It’s an outdated piece of garbage, but sleeping works perfectly and the battery life is crazy. 8 hours on its extended battery, 5 hours on the stock battery. And these aren’t new batteries either.
With AntiX Linux performance is ok enough for what I need it for.
I researched this in (checking notes) 2009 or so… things may have slightly changed since (and my memory is fading away)
At the time there was a standard for sleeping. Microsoft was part of the standard… and then they decided to implement in a different way (classic Microsoft, of course).
Hardware producers then adjusted to windows because… well… we were dozens of us using Linux on laptops.
This created issues in Linux because there were some purist developers that wanted to follow the standards, others that were more pragmatic and wanted to implement the windows way. In the end nothing worked.
Fast forward to today, windows waking up constantly I guess it’s broken as expected because it wants to allow background processes to do stuff. Linux not waking up sounds still the issue from 2009: there are multiple levels of sleep and the deepest was the most problematic. If I have to guess your laptop wakes up just fine if the battery is full and you left closed for few minutes… while it doesn’t when the battery is low-ish and/or you left sleeping for a longer period
It’s waking up because another device on the network (probably router) is pinging it
Disable “Wake on Magic Packet” and the Windows sleep issue goes away
Yeah, but classic Windows move: it’ll work for a while and then it will randomly stop working.
This was one of the big things that pushed me to Linux. Not feeling like I was the one in control of my PC.
This kind of stuff must happen at hardware level… wake on lan is in hardware.
Ethernet cards keep in getting packets (arp at very least) even if they are not directed for them. If the OS needs to check all packages it would be always on
That said… wake on lan is also a waste of energy if you don’t need (why powering the Ethernet cards?)
The setting I am suggesting gets disabled keeps the card powered during sleep so Wake on LAN can work on a hardware level.
The OS isn’t checking the packets. The NIC gets a packet and wakes up the OS.
I am not defending it, just explaining how to stop it from happening. A lot of people who know what Wake On LAN is don’t know about Wake On Magic Packet