How to Disable Modern Standby in Windows?
The Modern Standby (aka S0 Lower Power Idle) is the continuation of the Connected Standby. Both are aimed to give a mobile-like feel on the Windows devices, where the display may be turned off but internal components may stay on like USB power may stay enable to charge other devices and network connections stay active to perform different background operations. The previous default, standard sleep mode (aka S3) stores the current system state to the RAM.
Although this modern standby sleep mode may feel luxurious at first, for some users, it is all hell. Their laptops drain the battery very fast in sleep and sometimes become too hot (in the bag), near to a hardware failure.
The issue is not limited to a particular brand (like Dell, HP, Lenovo, etc.). The Intel Skylake processors are the first processor-line to have this feature. The Windows OS along with other OS (macOS or Linux-distros) have adopted this new standard, so the modern standby is an industry-wide phenomenon.
Check the Sleep States of the System
Firstly, let us check the sleep states of your system. To do so, open the Command Prompt as administrator and execute the following:
powercfg /a
If it reports that the system’s firmware does not support the S3 sleep state, then check your system’s BIOS if the S3 state can be enabled there. After enabling the S3 sleep state in the BIOS, you may edit the system’ registry (as discussed later) to disable modern standby.
If your system’s BIOS does not support the S3 state, then you may have to edit the ACPI table (as discussed later in the article).
Edit the System’s Registry
Modern Standby is the default choice of the OS and for some users, can only be disabled by editing the system’s registry.
Warning: Editing the system’s registry is a skillful task and if not done properly, you may cause everlasting damage to your data/system, so, proceed at your own risk. Also, do not forget to create a backup of the system’s registry.
Delete EnableAction key
- Click Windows, search: Registry Editor, right-click on its result, and select Run as Administrator.
- Now navigate to the following path:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\ModernSleep
- Then delete the EnableAction key and other sub-keys of ModernSleep.
- Now restart your system and check if the modern Standby has been disabled.
Create the PlatformAoAcOverride Registry Key
- Open the Registry Editor as administrator (as discussed above) and head to the following path:
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power
- Now, right-click on the Power Key and select New>> DWORD (32-bit) value.
- Then name the key as PlatformAoAcOverride and let its value set to the default 0.
- Now close the editor and restart your PC.
- Upon restart, check if the Modern Standby issue is resolved.
- If that did not work, then check if adding the CsEnabled value with value 0 solves the problem.
Use PowerShell (Admin) to Add PlatformAoAcOverride
If you are not comfortable in directly editing the registry, then using the Windows PowerShell (Admin) may let you do so, without a hassle.
- Right-click Windows and select PowerShell (Admin).
- Now execute the following:
reg add HKLM\System\CurrentControlSet\Control\Power /v PlatformAoAcOverride /t REG_DWORD /d 0
- Then confirm to add the key to the registry and close the PowerShell.
- Now restart your PC and upon restart, check if the Modern Standby issue is resolved. In the future, if you want to delete the above key, then execute the following in the PowerShell (Admin):
reg delete "HKLM\System\CurrentControlSet\Control\Power" /v PlatformAoAcOverride
- If you want to confirm the Modern Standby status, then execute the following in the PowerShell (Admin):
powercfg /a
Edit the PowerSettings Key
- Execute the following in the PowerShell (Admin):
powercfg /setacvalueindex scheme_current sub_none F15576E8-98B7-4186-B944-EAFA664402D9 0
- Now navigate to the following Registry key in the Registry Editor:
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\F15576E8-98B7-4186-B944-EAFA664402D9
- Then, in the right pane, double-click on Attributes and set its value to 0.
- Now restart your device and upon restart, check if the Modern Standby issue is resolved.
Edit the BIOS ACPI Table
If your system’s BIOS does not support the S3 sleep state, you may have to edit the ACPI table of the system.
Warning:
Proceed at your own risk as the steps required to patch the ACPI table are somewhat risky and executing these steps may corrupt the OS or brick the system.
- Visit the following GitHub page:
https://github.com/ElectronicElephant/Modern-Standby-Byby
- Now download and use the tool to patch the ACPI table to enable the S3 Sleep State.
- Then edit the system’s registry (as discussed above) and hopefully, it may solve the modern standby issue.
If the above did not work, then check if using the following in the command prompt solves the heating and battery draining issue due to modern standby:
shutdown /s /f /t 0
If so, then you may create a batch file of the command and save it to your desktop. Whenever, you have to shut down the system (without modern standby kicking in), double-click the batch file.