On Valve's official public GitLab, they've recently put up SteamOS Manager under the open source MIT license following the SteamOS 3.7 release for more devices.
What is it? SteamOS Manager is a "system daemon that aims to abstract Steam's interactions with the operating system". Valve's goal with it is to "have a standardized interface so that SteamOS specific features in the Steam client, e.g. TDP management, can be exposed in any linux distro that provides an implementation of this DBus API".
Some of the features it enables includes:
- GPU clock management.
- TDP management.
- BIOS/Dock updates.
- Storage device maintenance tasks.
- External storage device formatting.
- Max battery charge level.
And more.
Seems like this will be useful for other hardware vendors to hook up and test SteamOS integration. And probably other Linux distributions aimed at handhelds too (Bazzite, ChimeraOS and so on).
Here's the fun thing: in their full specification, it includes a feature named "EnterDownloadMode" which the code comments notes, "Enter a low power mode for downloads and get a handle that will keep this mode active until all obtained handles are dropped".
It's not clear if this is something used by SteamOS already, or if it's the feature that has been requested by Steam Deck owners again and again and again to download while the screen is off (sounds like it could be related). I've emailed Valve to see if they want to comment on that.
See more on their GitLab.
Here's the fun thing: in their full specification, it includes a feature named "EnterDownloadMode" which the code comments notes, "Enter a low power mode for downloads and get a handle that will keep this mode active until all obtained handles are dropped".
Thank God, we've been waiting for this feature for ages! It's interesting that they made this open source though. Maybe they want a universal API to hook into, so that future hardware support for SteamOS is much easier?
On my FW16 I have to use one tool to set cpu power profile or a cap on the clocks, a different tool if I want to adjust the cpu tdp or battery charge modes with any granularity, and a third tool to manage the dgpu power limits.
I have many more tunables than on the Deck, but my ability to control the power usage is worse as it's just too confusing.
If we had a standard application layer that could be even used by e.g. the desktop to expose just a little more control for power modes I could make it so that the different power modes affect the system in a way I find sensible.
If 'EnterDownloadMode' is what I think it is (a low-power background download state with the screen off) then this is exactly what the community has been asking for. Combined with remote wake and some lightweight automation, the Steam Deck becomes an even more powerful hybrid between console and PC.
See more from me