An exciting post-Christmas patch series out on the Linux kernel mailing list this morning is proposing a new runtime standby ABI that is similar in nature to the “Modern Standby” functionality found with Microsoft Windows.
Antheas Kapenekakis sent out the patch series today proposing this new runtime standby ABI for Linux. Antheas Kapenekakis is one of the developers heavily involved in the Linux gaming handheld space with working on the OneXPlayer driver, ASUS ROG Ally improvements, MSI handheld improvements, and more.
Today’s patches are a more comprehensive solution over prior patches out of Collabora for working on a “/sys/power/lps0_screen_off” for allowing user-space control over ACPI LPS0 display off/on notifications as part of the Microsoft Windows Modern Standby specification. Modern Standby is a low-power mode on Windows 11 for letting systems remain connected to the network and appear “sleeping” but will allow for instant wake-up for notifications, music playback, and other functionality. The display is off, the network remains online, and background tasks can wake-up the ystem if needed with Microsoft Modern Standby.
The RFC patches sent out today by Kapenekakis are summed up as:
“This series introduces a new runtime standby ABI to allow firing Modern Standby firmware notifications that modify hardware appearance from userspace without suspending the kernel. This allows userspace to set the inactivity state of the device so that it looks like it is asleep (e.g., flashing the power button) while still being able to perform basic computations.
The first part of this series implements the plumbing that moves the existing DSMs from being called at the end of the suspend sequence to the beginning, where they are called through a transition function. Then, the last patch exposes this transition function through /sys/power/standby to allow userspace to interact with it.
In this way, the core series can be tested while not exposing the new ABI to userspace until ensured to be stable.”
Those interested can see the RFC patch series for the work in its current form, in particular the documentation patch outlines the proposed /sys/power/standby interface.
