8 ms·
This is amazing work! If folks have ever wondered why suspend is so difficult to get working on linux and why debugging it is equally difficult, this is a singl
by sabujp 2y ago
This is amazing work! If folks have ever wondered why suspend is so difficult to get working on linux and why debugging it is equally difficult, this is a single datapoint with lots of information about all the things that can go wrong. Even now I have a thinkpad P1G4 where the fans won't turn off automatically unless I turn them off before going into suspend. Recently I also started having crackling issues with my bluetooth headphones after resuming from suspend and had to disable node suspension there also (https://wiki.archlinux.org/title/PipeWire#Noticeable_audio_delay_or_audible_pop/crack_when_starting_playback https://wiki.archlinux.org/title/PipeWire#Noticeable_audio_d...).
- Apofis 2y agoRemarkable that it's 2025 and laptop sleep/suspend still doesn't work right on linux. I think the first time I encountered this was probably 15 years ago now?
- bongodongobob 2y agoIt doesn't work right on Windows either to be fair. With a mixed laptop fleet at work, we've just disabled sleep/hibernate company wide because it causes way too many problems.
- larrik 2y agoThat seems like a good way to cook your laptop when you throw it into a bag with the CPU pegged.
- bongodongobob 2y agoNot if you turn it off first.
- Joker_vD 2y agoFor some reason, people really insist on being able to put their machines to sleep, I honestly don't know why. Long boot times, maybe?
- bongodongobob 2y agoI mean I totally get it. At the end of the day I have a billion tabs open and 14 instances of notepad. But after getting burned by sleep failing enough times, you gotta change your habits.
- Joker_vD 2y agoFirefox preserves opened tabs on close/re-open, and so does Notepad++/Sublime (and for those, it works even for tabs you've never saved as files). And let's be honest, losing most of those browser is inconsequential. So while I get the "I just want sleep to work, dangit" attitude (it really should just work, to be honest) the fact is that it barely does work. Seriously, it took this long to realize that VRAM contents may not fit into RAM entirely, so powering down the drives that hold the swap should probably be postponed to the last moment.
- bongodongobob 2y agoI know, I'm agreeing. Leaving everything "running" is just the ideal path of least resistance. So we have sleep mode.
- fc417fc802 2y agoThat won't restore my 3+ neovim instances, including loaded buffers, associated undo trees, tabs, and splits. Neither will it restore the various PDFs I have open, the file browser instances pointed at specific locations, nor the containing window and desktop layouts for all of that. It's pretty unbelievable when you think about it. The majority of mainstream progress on application state management has taken place in mobile operating systems and essentially amounts to the expectation that you won't lose data if and when your process is unexpectedly forced to terminate without user interaction. Forget actually picking up exactly where you left off. And as long as I'm complaining. All of my sshfs mounts tend to break if I sleep-wake as well. Remounting them generally doesn't fix programs that were using them (for obvious reasons) - I usually have to manually close and reopen all of that.
- xondono 2y agoSleep & suspend doesn’t work on Windows either. Power control is the kind of stuff that benefits from very tight integration, and PCs just don’t have that. Firmware is seen by most vendors as a pure cost to minimize, so you get a fragmented market full of subcontractors delivering the bare minimum that is considered “working”. Manufacturers also know most people aren’t going to use a big part of the functions they’re supposed to provide to OSes, and no one is really checking them, so it’s very common for devices to have only partial support for things they supposedly do.
- bachmeier 2y ago> Sleep & suspend doesn’t work on Windows either. What's strange is that it never used to be a problem. There are five Windows laptops floating around our house at various times (mixture of work and personal) and suspend works properly on none of them. Oddly, it works on my personal laptop with Debian Stable almost every time, failing maybe 1/25 times. Other distros are about the same as Windows.
- _cenw 2y agoModern Standby. Windows wanted to do the Apple "power nap" stuff, but never realized how painful it'd be if you don't control all the hardware and have millions of different hardware permutations (with a lot of terrible drivers) instead of just a few. Not that it would've helped, half the time my machine is either overheating or off it seems to be wake timers doing windows updates (which yes, you can disable, but most wouldn't). I don't get why S3 sleep had to die for this, but it did.
- lillecarl 2y agoI'm super happy with S0 on Linux. The implementation is all about doing as little as possible but effectively remain "on".
- vladvasiliu 2y agoWhat's the point, though? If it doesn't actually do anything, why keep it on?
- washadjeffmad 2y agoThis space is problematic enough that you could reliably segfault 2017-2019 Intel MacBooks by closing the lid before unplugging HID peripherals, preventing suspend (and cooking it in your bag on the commute home). It also plagues Windows on custom PC builds, even when there are vendor drivers. Not every component plays nicely with suspend states, ASPM, C-sates, load line calibration, etc. And while often the capability exists natively to address issues (in BIOS, Linux, etc), how many people know how to start looking?
- janderson215 2y agoHmm I thought that was a feature, not a bug. I used to leave everything plugged and close the lid if I wanted big downloads to keep going or wanted an even quicker start up.
- c-hendricks 2y agoThe computer staying awake when there's a monitor / keyboard/ other HID connected is one thing The computer locking up when said devices are removed and not properly going to sleep then is a different (much worse) issue
- burnte 2y agoMy custom-build desktop had an issue with the previous AM4 motherboard I had where if you told Windows to hibernate, the entire machine would shut down as normal, but then a few seconds later it'd wake back up by itself and unhibernate. I had to turn off the PSU power switch during those few moments to keep it in hibernate mode. New mobo and that's gone now. BIOS updates never helped. Really odd.
- iamtedd 2y agoProbably no help to you now, but if someone has a Windows machine that keeps waking up by itself, you can see what triggered the wake by running powercfg /lastwake in a command window as admin.
- caycep 2y agoit's arguably not great on windows either... (see Gigabyte Aorus comment above)
- lillecarl 2y agoIf you have a modern machine with S0 sleep, which is "modern standby" it's very much solved. What it does is it pauses all userspace processes, disables all cores but one and keeps it running on the lowest frequency. The system stays "on" but all devices go in power-saving state which is good enough for days. So it's not really a problem unless you really wanna do deeper sleeps.
- grayhatter 2y ago> so it's not really a problem unless you really wanna do deeper sleeps. the way I parsed this was; so it's not really a problem unless you want to use your computer the way you want to use it. I get things are complicated, and hardware support is a mixed bag. But it doesn't have to be this way.
- lillecarl 2y agoMy honest experience is that S0 is a godsend, when you use a device on a weekly basis S0 is good enough and it just works, no messing and fiddling and tweaking, just running. Chasing "real sleep" gives me nothing but pain. Also Android devices "sleep" fully awake so it's really "what people are doing".
- makeitdouble 2y agoAnother way to put it: nobody solved this problem, so the next move was to embrace never sleeping and market it as a feature. Microsoft also went that route with the Surface line, it just never sleeps.
- rikthevik 2y agoAfter my (closed) gaming laptop started making annoying Windows noises earlier today, I'm led to believe that it doesn't work properly on Windows either. It seems like it's basically hardware whack-a-mole at this point. The only reason Apple does it reasonably well is they control more of the stack and they support less hardware. The only reason Windows does it better than Linux is they have more eyes on it.
- sour-taste 2y agoThe reason it works better on Mac and windows is because they're designed to be desktop OSs. On Linux the funding goes to things cloud services and Android use, which decidedly does not include suspension or other desktop features
- heavyset_go 2y agoThe article we're replying under has the author working with Mario Limonciello, an AMD employee and kernel developer. I've interacted with him countless times on the kernel mailing list and bug tracker, he's literally paid by AMD to work on Linux support for AMD's consumer desktop hardware.
- ycui1986 2y agothey don’t work on Windows either. Multiple of my laptops crash when wake up 30% of the times.
- xtracto 2y agoEven hibernate has problems. The power features are some of the things I wish worked better in Linux in general :(
- dismalaf 2y agoRecent Windows laptops have even more issues. My wife literally never suspends her Windows laptop for this reason. Meanwhile my Intel/Nvidia laptop running Debian works flawlessly (albeit with Nouveau drivers, gave up on the proprietary ones for reasons unrelated to suspend).
- trelane 2y agoThis is highly hardware dependent. Modern hardware is complex enough that it pretty much has to explicitly support Linux or it won't work well. I have been buying System76 for about twenty years now, and this is has not been an issue for me either.
- jamesdutc 2y agoIt can be really hit-or-miss, and it can be really hard to debug errors like in the post. A lot of workarounds that are suggested for various issues are also not really viable. Some of the workarounds involve turning off different power-saving modes; however, the point of enabling sleep is often to increase the amount of usable time between charges, and turning off these power-saving modes can often dramatically shorten battery life. But getting sleep to work (even S0ix!) is not impossible. I have a bunch of handheld AMD 7840U and AMD 8840U devices that I have installed Arch Linux on: GPD Win Max 2, GPD Win Mini, GPD Win 4, Minisforum V3, OneXPlayer X1 Ryzen. These devices were not designed with Linux support in mind. I would be very surprised if the companies that made them ever tested them with Linux. Yet with just a small amount of work (generally fiddling with `/proc/acpi/wakeup` and `/sys/devices/*/*/*/power/wakeup` to disable sources of spurious wakeups,) I have gotten essentially flawless S0ix support (… on all but the newest OneXPlayer X1 Ryzen.) (In general, out-of-the-box stock Linux kernel support on these devices is fantastic. Touchscreens work, pen input works, wifi and Bluetooth work well. The only gap I've seen is fingerprint reader support.) I suspect that given how small these manufacturers are (and how small their production batches must be,) there's much less extreme-customization and tight-integration of components. This is visibly evident in the form-factors of these devices, which many millimeters thicker than they might otherwise be. (Of course, these devices are primarily advertised to a gaming audience who are eager to avoid the thermal-throttling that happens with ultra-thin devices like Surface Pro…) I partially suspect that the lack of extreme-customization, the lack of tight-integration, and the smaller production batches means that the manufacturers make much more conservative choices in components. Maybe this explains the exceptional Linux support?
- hasperdi 2y agoHi, do you have these tweaks published somewhere? I'm particularly interested in knowing your GPD Win Mini tweaks. Thanks
- fulafel 2y agoTo add: for the end user, the way to easily get working suspend is to buy known-good compatible hardware. It's been solid on every business Thinkpad for a long long time for me and consistently seems people on Windows with the same models have more sleep problems.