Get started
Install and pair, in about a minute.
There is no account to create and nothing to sign up for. Install the open-source service on your box, then scan the code it prints or type the PIN.
Run one command on the box
It installs a small service with no dependencies. Pick the command for your OS:
Linux (SteamOS, Bazzite, CachyOS, Steam Deck) in a Terminal
$ curl -fsSL https://couchside.tv/install.sh | bash
Read the script first → · Not a shell person? Paste it into ChatGPT or Claude and ask what it does; it is a short, open-source script. · New Steam Deck? Run passwd once in Desktop Mode so the installer can ask for permission. · Got Decky Loader? The same one-line install drops a Couchside Game Mode panel straight into your Quick Access Menu, without going through a plugin store. · On Bazzite? These steps are also in the official Bazzite documentation →
Windows 10 / 11 (beta)
Double-click to install. It sets up the service and shows your PIN and a QR. It is unsigned for now, so Windows SmartScreen shows a one-time “More info → Run anyway”; the admin prompt after that is the normal Windows UAC.
Prefer the terminal? In PowerShell (asks for admin via UAC):
> irm https://couchside.tv/install.ps1 | iex
Windows is in beta. Linux came first and is the more polished of the two. The Windows service works today but is newer, so expect a rough edge or two and file anything you hit. Either path installs the same unprivileged service that can only run an audited allowlist of commands; there is no root daemon. Read the install script → or check the Windows agent source.
Either one takes about 15 seconds, then shows a PIN (and a QR) and leaves the service running. You can re-run it any time.
Scan for your box, type the PIN
Get Couchside on your phone, then tap Scan for boxes. It finds the box on your network, and the box shows a short PIN on its own screen. Type that in and you are paired. There are no IP addresses or tokens to copy. Prefer the QR? Scan it with the in-app scanner (Setup → Scan a pairing code) or point your phone’s regular camera at it.
Stay on the couch
Watch the vitals, restart a wedged display, tail the logs, or flip to the controller. You never have to go find a keyboard again.
Want more? A couple of one-time opt-ins
The installer adds a couchside command. A few extra powers are off by default. You turn them on only on the box, never from the phone, and each one tells you exactly what it grants first:
Update the box from your phone: Flatpak apps and the OS (SteamOS / Bazzite)
$ couchside allow-system-updates on
It grants the service passwordless sudo for one fixed command each: a root-owned wrapper that runs flatpak update or stages an OS update, and accepts nothing else. It is never a blank cheque on flatpak or rpm-ostree. An OS update stages for the next boot, so the app says “reboot to apply” rather than pretending it finished. Turn it off any time with couchside allow-system-updates off.
Also: couchside allow-updates on (let the app update Couchside itself) and couchside allow-launchers on (let the app create launchers, not just run them). The full detail, and why each grant is shaped the way it is, is in the README on GitHub →