LinuxCommandLibrary
GitHubF-DroidGoogle Play Store

steamosctl

SteamOS system and hardware management tool

TLDR

Get all system properties
$ steamosctl get-all-properties
copy
Get the current fan control state
$ steamosctl get-fan-control-state
copy
Set fan control to OS-managed
$ steamosctl set-fan-control-state os
copy
Get current TDP limit
$ steamosctl get-tdp-limit
copy
Set TDP limit in watts
$ steamosctl set-tdp-limit [15]
copy
Set GPU performance level
$ steamosctl set-gpu-performance-level [auto|low|high|manual]
copy
Set max battery charge level
$ steamosctl set-max-charge-level [80]
copy
Get the device model
$ steamosctl get-device-model
copy

SYNOPSIS

steamosctl \<command\> [arguments]

DESCRIPTION

steamosctl is a command-line utility for managing SteamOS system hardware and software settings. It communicates with the steamos-manager daemon over D-Bus to control hardware features on devices running SteamOS, including the Steam Deck and other supported handhelds.The steamos-manager system consists of a user daemon on the session bus and a root daemon on the system bus for privileged operations. steamosctl provides command-line access to all exposed functionality including fan control, CPU and GPU tuning, TDP limits, Wi-Fi configuration, battery management, and firmware updates.

COMMANDS

get-fan-control-state / set-fan-control-state \<bios|os\>

Get or set the fan control mode.
get-cpu-scaling-governor / set-cpu-scaling-governor \<governor\>
Get or set the CPU scaling governor.
get-cpu-boost-state / set-cpu-boost-state \<enabled|disabled\>
Get or set CPU boost.
get-gpu-performance-level / set-gpu-performance-level \<auto|low|high|manual|profilepeak\>_
Get or set GPU performance level.
get-gpu-power-profile / set-gpu-power-profile \<profile\>
Get or set GPU power profile.
get-manual-gpu-clock / set-manual-gpu-clock \<freq\>
Get or set manual GPU clock frequency in MHz.
get-tdp-limit / set-tdp-limit \<watts\>
Get or set TDP limit.
get-tdp-limit-min / get-tdp-limit-max
Get minimum or maximum allowed TDP values.
get-performance-profile / set-performance-profile \<profile\>
Get or set performance profile.
get-wifi-backend / set-wifi-backend \<iwd|wpasupplicant\>_
Get or set Wi-Fi backend.
get-wifi-power-management-state / set-wifi-power-management-state \<enabled|disabled\>
Get or set Wi-Fi power management.
get-hdmi-cec-state / set-hdmi-cec-state \<disabled|control-only|control-and-wake\>
Get or set HDMI-CEC state.
get-max-charge-level / set-max-charge-level \<1-100|-1\>
Get or set max battery charge level. Use -1 for default.
update-bios
Update the BIOS firmware.
update-dock
Update dock firmware.
trim-devices
Trim applicable storage drives.
prepare-factory-reset \<user|os|all\>
Prepare a factory reset.
reload-config
Reload configuration from disk.
get-all-properties
Get all properties from the manager.
get-device-model
Get the model and variant of the device.

CAVEATS

Only available on SteamOS. Requires the steamos-manager daemon to be running. Some operations like firmware updates and factory resets require elevated privileges through the system D-Bus daemon. The tool has no traditional man page; documentation lives in the source code.

HISTORY

steamosctl was developed by Valve with contributions from Collabora and Igalia as part of the steamos-manager project. Written in Rust, it was open-sourced in May 2025 coinciding with the SteamOS 3.7 release. The tool provides a standardized D-Bus interface enabling third-party handheld devices to support SteamOS hardware management features.

SEE ALSO

Copied to clipboard
Kai