Basically every laptop I've owned I've had to disable sleep when the lid is closed as I often leave them plugged in and want background tasks like downloads or updates to be able to run while I'm not using the machine. However, I don't think PC laptops have a way to switch to a super low power state and just run background tasks like downloads, alarms and notifications or running scheduled tasks without just being left on in regular power mode. Why is this not just a default feature of laptops, given that phones and tablets have been doing this kind of thing for the last decade or more?
Does anyone know if there are plans to make power management for laptops allow for running certain tasks in Windows or Linux in the future? My smug Apple using friend tells me his Macbook already does this, but is the lack of this feature on PCs software related or something innate to x86 vs ARM architecture?
This feels like more of an operating system issue than a hardware issue. What you’re looking for is a way to reduce the power it sips while still allowing downloads to happen. Leaving aside the edge cases like OS updates others have mentioned, the major issue is that applications aren’t structured like that.
If I have Firefox open with one tab displaying a website that runs 1,102 javascript routines all the time in an attempt negotiate a really good advertising deal for each of the banner ads it’s showing - you know, the type you visit and your machine starts crawling and the fans start blowing almost immediately - and another open on Ubuntu.com where I’ve just clicked on the “Download Ubuntu desktop ISO” button, only Firefox knows which of those tasks can be backgrounded and right now (as far as I can see) there’s no API in any of the major OSes where it can say “Send me this signal and I’ll only do the thing that can’t be interrupted.” nor “I’ve put the stuff that can’t be interrupted in this thread, so only run this when you’re trying to save power and nobody’s using the computer anyway”)
Would it be a good idea? Well, that would depend on whether developers actually use that API if it ever comes into existence. I’d like it, I just see it being one of these well meaning things that devs would avoid using because it complicates their code and probably makes it easier to break.