LinuxCommandLibrary

steamos-session-select

Switch between SteamOS sessions (GameScope/Desktop)

TLDR

Change to desktop mode

$ steamos-session-select plasma
copy

Change to gamemode (sets the system to boot into gamemode if -persistent options were selected previously)
$ steamos-session-select
copy

Change to Wayland desktop mode
$ steamos-session-select plasma-wayland
copy

Change to Wayland desktop mode and have the device boot to desktop
$ steamos-session-select plasma-wayland-persistent
copy

Change to X11 desktop mode and have the device boot to desktop
$ steamos-session-select plasma-x11-persistent
copy

SYNOPSIS

steamos-session-select session_type

PARAMETERS

session_type
    The type of session to select. Common values include gaming (to launch Steam Big Picture/GameScope) or desktop (to launch a full desktop environment).

DESCRIPTION

steamos-session-select is a utility specific to Valve's SteamOS, designed to manage the default graphical session for the system. It allows users to easily switch between the "Gaming Mode" (which typically launches Steam's Big Picture interface or GameScope for a gaming-optimized experience) and the "Desktop Mode" (which provides a full traditional desktop environment like KDE Plasma on Steam Deck or older Gnome/KDE on SteamOS 2.0).

The command primarily modifies system configuration to specify which session should be loaded upon the next graphical login or sometimes immediately switch the session. While it can be used from the command line, its functionality is frequently integrated into the SteamOS user interface for convenient session switching. This utility is crucial for users who need to alternate between a gaming-centric experience and a general-purpose desktop environment on their SteamOS device.

CAVEATS

  • SteamOS Specific: This command is designed for and primarily functions within SteamOS environments (including Steam Deck's SteamOS Holo). Its functionality is not generally available or relevant on standard Linux distributions.
  • Permissions: It often requires elevated privileges (e.g., sudo) to modify system-wide display manager configurations.
  • Display Manager Interaction: It relies on the underlying display manager (e.g., LightDM, SDDM) being configured to recognize and launch the specified sessions.
  • Reboot/Logout Recommended: Changes typically take full effect on the next login or reboot, although some SteamOS versions might apply changes dynamically.

SESSION TYPES

The primary session types supported are gaming (which launches Steam's Big Picture Mode or Gamescope for a dedicated gaming experience) and desktop (which loads a full desktop environment, typically KDE Plasma on Steam Deck). These options allow users to toggle between the two main modes of interaction with their SteamOS device.

UNDERLYING MECHANISM

On older SteamOS versions, this command often manipulated configuration files for the LightDM display manager (e.g., /etc/lightdm/lightdm.conf) to set the user-session variable. On Steam Deck's SteamOS Holo, it likely interacts with the SDDM display manager's configuration or systemd targets and services to facilitate the session switch, integrating with Valve's bespoke session management layer for Gamescope.

HISTORY

steamos-session-select emerged with the initial release of SteamOS (based on Debian) as a way to provide a seamless transition between the gaming-optimized Big Picture Mode and a standard desktop environment. As SteamOS evolved, particularly with the advent of Steam Deck and SteamOS Holo (based on Arch Linux), the command's underlying implementation might have changed to integrate with new display managers (like SDDM) and session management systems (like Gamescope). Despite these internal shifts, its core purpose of switching between "gaming" and "desktop" modes has remained consistent, reflecting Valve's commitment to offering both dedicated gaming and general computing experiences on their hardware.

SEE ALSO

systemctl(1), loginctl(1), lightdm(1), sdm(1)

Copied to clipboard