Shop our hardware preflashed OpenPuck dongles and Steam Machine gear, 15% below Etsy Shop now →

SteamOS · Bazzite · CachyOS · Steam Deck · Windows (beta)

Run your gaming PC from the couch.

Couchside puts a remote and a controller for your living-room Linux gaming PC on your phone, with a live dashboard of the box beside them. When the TV goes black, your phone is the screen: see whether the box is alive, read the logs, restart the display, or pick up a virtual controller. None of it leaves your Wi-Fi.

steamdeck  ● online   os SteamOS 3.6  service 2.9.117  tls pinned  mode Game
cpu 47.0°C   batt 100% charging   mem 6.1 / 15.6 GB   /home 118 / 512 GB
display 1920×1080 @ 60 Hz · HDMI · docked   audio HDMI   uptime 9h 12m

Free for a week, then a one-time $7.99 unlock.

one payment · no subscription · no accounts · no ads · or build it yourself

● LIVE the real app, running in your browser against a mocked box

app 2.9.60 · web build · nothing here talks to a real machine

Settle in. Take control.

An easier first setup, clearer wake progress, and lighting that follows your timing.

new in 2.9.74
welcome

Feel at home from the start

A welcome guide helps you connect your first box and discover optional integrations. Live vitals and box settings now share one place.

wake

See your box coming back

Wake Box shows progress and confirms reconnection, with better Ethernet detection and faster relay handling on supported networks.

personalize

Make it feel like yours

Smoother optional animations, swipe navigation, and custom lighting sequences with more accurate timing and real strobe effects.

Release notes and store availability →

Install the service on the box.

One command. It installs a small stdlib-only Python service with no dependencies, prints a PIN and a QR, and stays running. Re-run it any time; it keeps your token and pairings.

01 · setup

Linux SteamOS · Bazzite · CachyOS · Steam Deck

$ curl -fsSL https://couchside.tv/install.sh | bash

Read the script first → New Steam Deck? Run passwd once in Desktop Mode so the installer can ask for permission. With Decky Loader installed, the same command adds a Couchside panel to the Quick Access Menu.

Windows 10 / 11 beta

> irm https://couchside.tv/install.ps1 | iex

PowerShell; it asks for admin via UAC. Read the script first → Linux came first and is the more polished of the two; the Windows service is newer, so file anything you hit. Unprivileged service, fixed allowlist, no root daemon.

pair

Scan for your box, type the PIN

Open Couchside and tap Scan for boxes. The box shows a short PIN on its own screen; type it in and you are paired. No IP addresses or tokens to copy. The QR the installer prints works too.

use

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.

opt-ins

Extra powers stay off by default

couchside allow-system-updates on, allow-updates, allow-launchers. Each is enabled only on the box, never from the phone, and each grants one fixed root-owned wrapper rather than a blank sudo. Details in the README →

What it does.

Vitals, rescue and input for the machine under the TV. The parts you reach for from the couch, one line each.

02 · spec sheet
CapabilityDetailWhere
Live dashboardCPU temperature (Linux; on Windows it depends on the motherboard), load, memory, per-disk usage, uptime, every GPU, the Display / Audio signal actually going to the TV, and the health of every service you watch. Refreshed every few seconds.linux · windows
Rescue actionsRestart the display session (the wedged gamescope black screen), reboot, power off. Grouped by danger, double confirm on the destructive ones.linux · windows
Desktop ⇄ Game ModeOne tap either way, no keyboard or mouse. Optionally hold the Guide button on a controller to trigger the handoff without the phone.steamos · bazzite
Virtual controllerA standard Xbox pad the box cannot tell from plastic: sticks, D-pad, ABXY, triggers, haptics. Landscape full-screen mode, a one-handed MOVE mode, and controller themes.linux (uinput) · windows (ViGEmBus)
Swipe, trackpad, keyboardAn Apple-TV-style swipe surface for Kodi and Big Picture, a relative-mouse trackpad, and a keyboard that types straight into the box. Combos panel for copy, paste, undo and media keys.linux · windows
What to play nextA Play tab with suggestions from your box’s game history, a now-playing card, and another pick when you want something different. Optional demo mode lets you explore with sample games.app · supported gaming boxes
Your Steam libraryBrowse installed games and launch them on the box. Connect your Steam account on the box to add profile stats, playtime and achievement progress.linux · account features opt-in
Wishlist and dealsSee Steam specials and discounted wishlist games. Optional Steam and IsThereAnyDeal integrations add price-drop alerts and historical-low comparisons; these features contact their respective online services.linux · opt-in
Log viewerRecent error logs for any watched service, from your phone, without an SSH session.journald · event log
PairingPIN shown on the box's screen, or the QR the installer prints. No IP addresses, no tokens to copy.all
TV and powerA real remote for a smart TV on your network: D-pad, OK/Back/Home, power, volume, input, an on-screen keyboard. LG webOS, Roku, Android / Google TV, Hisense; Samsung in beta. HDMI-CEC and RS-232 where the box has them; a spare Raspberry Pi adds CEC via the Pi bridge. Box-side volume, mute, sleep and wake.linux (roku on windows)
Remote desktopSee and drive the whole desktop. Hardware-decoded H.264 where the box can encode, still frames where it cannot. Tap where you want to click.linux / wayland · opt-in
Audio outputMove sound between HDMI, a Bluetooth speaker and the built-in output in one tap, including whatever is already playing.pipewire / pulseaudio
Front-panel lightColour, brightness, off. Light-bar sequences on hardware that has them.where supported
Decky LoaderInstall, repair, update or remove Decky and its plugins from Setup. Opt in once on the box; a box without Decky is left untouched.steamos · bazzite
Skins and colour packsSix skins with a live preview, colour packs (OLED Black, Steam, Nord, Dracula), accents, an optional alarm pulse for a hot vital.app
Three phone screens side by side: Actions, Console and Launch
actions · console · launch — shot against a real box

Recorded on a real box.

A phone driving Steam Big Picture over home Wi-Fi. Nothing mocked up.

03 · footage
menus and input modes
library and launch
typing into the box

What talks to what.

Tap a task to watch where the traffic goes. Then pull the internet cable and see what changes. (Spoiler: almost nothing.)

04 · wire
YOUR HOME · WI-FI INTERNET Your phonethe Couchside app Gaming PCservice · port 8787 TVHDMI App Store · Playunlock check · app updates GitHubservice source · installer Couchside clouddoesn't exist · nothing to hack

The app and the service speak plain HTTP with a bearer token, phone to box, on your Wi-Fi. Pick a task above to see exactly what moves where.

Pay once. Or don't pay at all.

The service on your box is fully open source (MIT). The app is source-available: read it, or build it onto your own phone for free for personal use. The one-time price buys the ready-made build from the stores, kept updated, and supports the work behind it.

05 · pricing

“I love opening my phone, finding my favorite game, and hitting launch, so by the time I've walked over to my gaming spot it's loaded and ready to go. Once it fits your setup, you'll get it. That's why the unlock is one payment instead of another monthly bill.”Taylor, maker of Couchside

$7.99once, after 7 free days

Try free for 7 days, then unlock once

Download it free and use every feature for a full week, no commitment. If it earns a spot in your living room, keep it forever. One payment, one time, no accounts. Everything is a subscription these days. I hate that, so Couchside isn't one. The money funds this project and supports my family.

$0build it yourself

Compile it from source

The app's full source is on GitHub: read it, compile it onto your own phone with Expo, tweak it for yourself. Source-available for personal, noncommercial use (PolyForm Noncommercial); the service and installer are MIT, so you can even build your own client. Same software, your labor instead of $7.99. All I ask is that you don't repackage and sell it.

Local control, clear boundaries.

Your phone controls the service on your own LAN without a cloud relay. Updates, purchases and optional integrations use internet services.

06 · security
  • Token auth. Control requests require the box’s credential, stored in your phone’s keychain. Discovery and pairing have separate gates; native images and uploads can use scoped tickets. couchside new-token revokes paired phones together.
  • Pinned TLS for supported controls. Paired API and WebSocket connections verify the box’s key. Legacy HTTP remains available; native image and file-transfer payloads use HTTP tickets and are not encrypted.
  • Defined controls. The service uses predefined operations and validated arguments, with specific permissions for privileged tasks. A paired phone can still type and control the box’s user session; these checks are not a sandbox around a token holder.
  • Optional online services. App stores, updates and integrations make their own network requests. Website purchases and optional email news are separate from local box control. See the transport and privacy details.
  • Auditable. The service is MIT and a single stdlib-only Python file. The app's source is public too. The security page also says what this design does not protect against.

verify it yourself, from any machine on your LAN

curl http://YOUR-BOX.local:8787/api/ping

The discovery surface: version, hostname, ports, fingerprints. No token, no control.

curl -i http://YOUR-BOX.local:8787/api/status

Returns 401 without authorization. Native file uploads can instead use a short-lived, single-use upload ticket.

Keep up with Couchside.

Occasional updates, new features, and setup tips from the maker. Completely optional.

Get email updates