Windows PCs can't sleep properly, and Microsoft wants it that way
The Modern Standby feature in newer Windows PCs never seems to work right.
You may have noticed a difference between the way computers usually go into sleep mode and how smartphones go to sleep. Sleeping an x86-based PC or Mac would put it into a low-power state that was almost as if it was powered off completely. The screen, fans, keyboard backlight, and other hardware would turn off, any audio would stop playing, and the only thing telling you the computer wasn’t actually off would be some sort of pulsing LED somewhere.
On phones and most tablets, however, entering sleep mode means something very different. The screen turns off just like a laptop or desktop, but the device is still active. If you get an email, your phone will buzz or ring. If you get a call, the screen will wake up and tell you. And when you press the power button, the display immediately lights up to the lock screen, ready for you to do whatever you want to do. A mobile device in this sleep state isn’t just fully powered on with the screen off, though. To save battery, the OS and hardware components go into low-power states. App activity is limited and the CPU runs at lower clock speeds (or sometimes not at all), but the device is still ready to instantly return to normal operation.
The always-on nature of phones and tablets is incredibly convenient. Wouldn’t it be great if your (non-ARM) laptop or desktop could do this too? Save power when you’re not using it, but still be ready at a moment’s notice? Sure, waking from standby usually doesn’t take very long, but it’s nowhere near as fast as waking up a modern phone.
Thanks for reading The Spacebar! Subscribe for free to receive new posts and support my work.
Sleep doesn’t really mean sleeping
Microsoft certainly thought so, which is why when Windows 8 was released, it introduced a new feature called Connected Standby. If the hardware indicated support (foreshadowing), instead of telling the BIOS to enter system standby, Windows would enter Connected Standby. This mode was much closer to what phones do, where it would stay connected to the network and be able to deliver notifications, updates, and other “value-adds” as Microsoft calls them, all while theoretically saving power and, of course, being ready to wake up instantaneously.
Connected Standby lasted through Windows 8.1, and with Windows 10 build 2004, Microsoft introduced Modern Standby. Modern Standby is a superset of what Connected Standby could do, “supporting” more system configurations such as spinning hard drives. It also adds new modes like Disconnected Modern Standby.
If you read Microsoft’s technical documentation on how Modern Standby works, it sounds like a neat system: progressively ramp down activity while still allowing for certain important events to wake the system up, as long as the hardware, firmware, and drivers support those modes (more foreshadowing!). In theory, Modern Standby should be pretty similar to classic standby (also known as S3 sleep), where most of the system is powered down, except that Windows itself is in control instead of the BIOS. That should allow for a much more flexible standby that can be updated with bugfixes and new features no matter the system, while also providing the benefits of instant-wake from mobile devices.
Taking Microsoft’s documentation at face-value, you’ve got an advanced replacement for classic standby. If you actually own a modernish (2017 or later) Intel or AMD laptop, there’s a good chance you know Modern Standby isn’t all it’s cracked up to be.
I first ran into the wonders of Modern Standby on my Dell Inspiron 5482, an 8th generation Intel 2-in-1 laptop with a spinning hard drive. After a few months of owning it, I started noticing that it wasn’t sleeping properly. If I closed it, I could still sometimes hear the fans running even 15 minutes later. If I put it in my backpack, there was a good chance I’d take it out at 0% battery or to the fans running at full blast and the CPU dangerously close to overheating. Half the time the hard drive wouldn’t even spin down, which sure is nice when you’re planning to be jostling it around in a bag for a couple hours.
After spending a bunch of time googling, I learned about the existence of Modern Standby (although most people still seem to call it Connected Standby) and that I wasn’t alone in having issues. Dell had apparently enabled support for Modern Standby on all of its newer laptops without properly testing to make sure it would work correctly. As a result, plenty of customers were running into depleted batteries, incredibly hot laptops, and other issues that arise when you expect your x86 CPU to be asleep but it never got the memo.
The worst part of this all was that Dell gave you no official way to disable Modern Standby. Windows itself isn’t any help, either. If the BIOS says it supports Modern Standby, Windows takes it at its word and completely disables the ability to enter S3 sleep (classic standby). There’s no official or documented option for disabling Modern Standby through Windows, which is incredibly annoying.
Side note: for a while, there was actually a registry setting you could change to disable Modern Standby on the Windows side. Unfortunately, Microsoft removed it, and to my knowledge, has never added it back.
And this is where I think the biggest problem with Modern Standby lies. Microsoft’s documentation says the following:
Enabling the Modern Standby user experience requires all of the devices and software in the Modern Standby PC to actively and correctly participate in system power management.
For Modern Standby to work properly, the device Windows is running on needs to support it. That includes hardware like network interfaces and USB, but also support from system firmware and device drivers.
But Microsoft doesn’t seem to have any sort of certification process or runtime hardware check for Modern Standby compatibility. If a system says it can do Modern Standby, Windows just says “okay” and trusts that the vendor has properly written firmware and drivers and tested the system, which most certainly don’t do. And if you’ve changed out components with aftermarket replacements, the system will still say Modern Standby is supported, even though it can’t know for sure.
So when you close the lid on a Modern Standby “capable” laptop, Windows tells the CPU and peripherals to enter a lower-power mode, where it can manage them instead of the system itself, but there’s no guarantee the components actually support doing this.
Another issue with Modern Standby is what can trigger wakeup events, and for how long. Supposedly, only certain built-in Windows functions, like updates and telemetry can actually wake the device up, but so can apps installed through the Microsoft Store. The ability for UWP applications to wake from Modern Standby isn’t completely unrestricted, but it’s pretty lenient.
Applications can wake up the computer for notifications, data syncing, and other operations depending on if the device is plugged in or not. If a UWP application is well-written, it will responsibly use its wakeup power. But most vendor UWP apps, like Dell SupportAssist, MSI Center, and NVIDIA Control Panel, are either absolute junk or were never written with UWP guidelines in mind and were just slapped on the Store.
Rogue Microsoft Store apps can and do wake laptops from Modern Standby for no reason, and can and do prevent the lower-power idle states of Modern Standby. Sometimes even Windows processes can break and do the same.
Now, Dell may not be a great company, and I wouldn’t recommend buying their computers for a multitude of reasons, one of which being the broken Modern Standby. However, they’re far from the only vendor releasing laptops that can’t sleep properly. HP, Asus, Acer, even MSI, all “support” Modern Standby in their newer laptops, and most don’t let you turn it off.
It’s still a problem
Doing a search for something like “modern standby overheating”, or “modern standby battery drain”, or even just “modern standby”, will get you an endless list of Reddit and forum posts about how Modern Standby has caused problems. It’s even been covered in some news outlets. Companies like Dell have even come out with official FAQs about how to deal with Modern Standby, which generally amount to “power it off”.
I ran into Modern Standby’s wonders again recently when I bought a new gaming laptop. I transferred my drives from my old one to the new one, and for some reason that reset my sleep settings to automatically enter standby after 10 minutes, which I didn’t notice. What I did notice was that, after coming back to my laptop after a while, moving the mouse or pressing the keyboard would result in a blue (well, green, because it’s an Insider build) screen of death with the WIN32K_POWER_WATCHDOG_TIMEOUT stopcode.
After searching for a while and ruling out things like corrupt drivers or underclocking instability, I found some threads connecting this error to Modern Standby. Sure enough, when I ran the command to see supported sleep states, S3 was disabled because Modern Standby was supported. My consistent BSODs said otherwise, though. To make sure it truly was Modern Standby causing the issue, I tried manually putting the laptop to sleep and ran into the same issue.
Thankfully, MSI laptops do have an option to disable Modern Standby in the BIOS. It’s a hidden setting, but at least it’s there. If you’ve got an MSI laptop of your own and Modern Standby is causing you grief, here’s how you can disable it.
Reboot the machine and spam the Delete key to bring up the BIOS settings.
Press Left Control + Right Alt + Right Shift + F2 at the same time to enable hidden settings.
Go to the Advanced tab.
Scroll down to “RC ACPI Settings” and hit Enter to open the sub-menu.
Find “Low Power S0 Idle Capability” and set it to “Disabled”.
Go to the Save tab, choose “Save & Reset”, and confirm.
Once you boot into Windows, you’ll have S3 sleep back.
Modern Standby isn’t broken for everyone, even on identical systems. For some people, it works just fine, saving battery while also being immediately ready for action. Unfortunately, it’s an incredibly unstable function that relies far too heavily on trusting computer vendors at their word. If Modern Standby fails to work properly, Microsoft doesn’t provide the user with any mechanisms for troubleshooting or fixing it short of performing a clean install of Windows and hoping that does the trick.
An option to disable Modern Standby in some advanced menu in the Settings app would go a long way towards improving the user experience of Windows for a lot of people. Even better, a way to customize which “activators” (as Microsoft calls them) can actually wake the computer from sleep would let users disable problematic UWP apps or other functions. Unfortunately, Microsoft doesn’t seem to care that an x86-based PC is not an ARM-based smartphone, and is perfectly happy to let vendors release devices with half-baked Modern Standby support without any way for customers to fix it beyond hoping the manufacturer has an option to disable Modern Standby or will release a firmware update.
Microsoft probably deserves most of the blame for this mess. It created the feature and has been (allegedly) pressuring vendors to implement it and discontinue support for S3 sleep. Microsoft also doesn’t seem interested in changing how Modern Standby behaves. But it’s not as if vendors are powerless in this situation. Microsoft may sell its own branded hardware (which also doesn’t work properly with Modern Standby, by the way), but Dell, Asus, HP, even Acer, sell much better than Microsoft, and could certainly wield some of their influence and power. Unfortunately, since Microsoft seems intent on making this feature the (forced) standard on laptops, and vendors don’t seem to care enough to fight it, we’re left with insomniac laptops that die early from overheating, and no good way to know what to expect before we actually buy one.
Unless Microsoft improves compatibility detection and the actual functionality of Modern Standby, getting your Windows laptop to actually sleep will continue to be a crapshoot. It may work fine until one day it doesn’t, and your only “workaround” might be to stop using sleep mode entirely. Maybe one day it will be fixed.
Thanks for reading The Spacebar! Subscribe for free to receive new posts and support my work.