LinuxCommandLibrary

steamos-devmode

Enable SteamOS developer mode

TLDR

Enable developer mode

$ sudo steamos-devmode enable
copy

Enable developer mode without confirmation prompt
$ sudo steamos-devmode enable --no-prompt
copy

Check if developer mode is currently enabled
$ sudo steamos-devmode status
copy

SYNOPSIS

steamos-devmode <action>

PARAMETERS

enable
    Activates Developer Mode, unlocking advanced system features like SSH access and root filesystem write capabilities. This action typically requires a reboot for changes to take full effect.

disable
    Deactivates Developer Mode, reverting the system to its default, more secure, and locked-down state. This action also typically requires a reboot.

DESCRIPTION

The steamos-devmode command is a specialized utility designed for SteamOS, particularly prominent on devices like the Steam Deck. Its primary function is to toggle the system's "Developer Mode" on or off. When Developer Mode is enabled, it unlocks critical functionalities essential for advanced users, system administrators, and developers. These functionalities often include enabling SSH access to the device, allowing modifications to the otherwise read-only root filesystem, and potentially granting more granular control over various system services and settings.

This command abstracts the complex underlying system changes required to switch between these states. It's indispensable for users looking to install non-Steam software, debug system issues, perform deep system customizations, or experiment with the device's Linux environment beyond the standard gaming interface. Conversely, disabling Developer Mode reverts the system to its default, more secure, and locked-down state, which is typical for a consumer-oriented gaming device. It helps maintain system integrity and prevents accidental or malicious modifications by average users.

CAVEATS

Enabling Developer Mode significantly reduces the system's default security posture and can expose it to potential vulnerabilities. Modifying the root filesystem, while allowed in developer mode, can lead to system instability, prevent future system updates, or even brick the device if done improperly. Use with caution and only if you understand the implications of system-level modifications.

SECURITY IMPLICATIONS

Activating Developer Mode removes several layers of security intended for a consumer device. This includes potentially exposing services like SSH to the network and allowing unrestricted modifications to critical system files. It is strongly advised to use this mode only when necessary and to understand the associated risks.

ROOT FILESYSTEM

One of the key features unlocked by Developer Mode is the ability to remount the root filesystem as writable. SteamOS normally uses an immutable root filesystem (A/B partitioning with read-only root) to ensure system stability and seamless updates. Modifying this can interfere with Valve's update mechanism and potentially lead to an unbootable system if not handled carefully.

REBOOT REQUIREMENT

Both enabling and disabling Developer Mode typically require a system reboot for the changes to take full effect. The command will often prompt the user to confirm the reboot or perform it automatically after executing the desired action.

HISTORY

The steamos-devmode utility became particularly relevant and widely used with the advent of the Steam Deck. As a portable gaming PC running a specialized version of Arch Linux (SteamOS), the Steam Deck's operating system is designed for robustness and ease of updates, utilizing an immutable root filesystem. For users and developers who wished to extend the device's capabilities beyond its intended gaming purpose, enabling developer mode became a crucial first step. Its introduction facilitated a vibrant community around customization, emulation, and software development for the Steam Deck, allowing users to unlock the full potential of the underlying Linux system.

SEE ALSO

ssh(1), systemctl(1), sudo(8), passwd(1)

Copied to clipboard