Frame Control
Free and open source · macOS · Windows · Linux

Your Steam Frame, managed from your desk.

See what the headset sees, install games and Android apps, move files and text across, and keep an eye on battery and status. Install Frame Control on your computer, then connect to your headset over SSH. This website provides downloads and instructions; it does not control the headset in your browser.

All platforms · MIT licence · Not affiliated with Valve

Frame Control's Home tab: a live view of the headset beside battery, storage, temperature and Wi-Fi.
Trailer

Sixty-six seconds of Frame Control

Recorded against a real Steam Frame. Turn the sound on.

Features

Everything the headset needs, one window away

Frame Control uses what SteamOS already ships. It only changes what you click.

Headset view

Live video of what the lenses show at about 30 fps, or a still of both eyes. Zoom, pan, full screen, save as PNG.

Battery and status

Charge, charging watts and time left, storage, memory, temperature, Wi-Fi, and what's running.

Steam games

Everything you own with its Steam Frame rating. Install onto the headset with live progress, and search the store.

Android apps

About 4,500 F-Droid apps rated for the Frame. One click installs each as its own app in your Steam library.

Files, games and clipboard

Drag files onto the window to send them. Drop a game's .zip, folder or .exe to add it to the Steam library. Send your clipboard to the headset's desktop.

Screenshots

Browse the shots you take in the headset and save them straight to your Pictures folder.

Flatpaks and display

Install desktop apps like Moonlight or VLC, and set each Android app's resolution and text size.

One-click tools

SSH, SFTP, Steam Link, remote desktop, volume, sleep, restart and shut down.

Games

Your Steam library, rated for the Frame

See every game you own with how well it runs on the Frame, then install it onto the headset without putting it on.

  • Live download progress, straight from the Steam client on the headset
  • Search the Steam store from your computer
  • Sideload your own Linux or Windows games, with Proton or the Linux runtime picked for you
The Games tab: owned games with Steam Frame ratings and install buttons.
Android

Android apps, one click each

A catalogue of about 4,500 F-Droid apps, each tested and rated on a real Frame. Every app gets its own Lepton instance and its own tile in your Steam library.

  • Filter by what works on the Frame
  • Install any APK you have, no Android SDK needed
  • Set resolution and text size per app
The Android tab: installed apps and the rated F-Droid catalogue.
Tools

The fiddly bits, done for you

Open an SSH session or SFTP, start Steam Link or remote desktop, change the volume, or put the headset to sleep, all from one tab.

The Tools tab: SSH, SFTP, Steam Link, remote desktop and power controls.
iPhone and iPad

Also in your pocket

The same features on iPhone and iPad, served from the Frame itself, so there's nothing to run on a computer. There is no App Store, TestFlight or iOS download in the current release. Building it requires a Mac, Xcode and your own signing team. iPhone build and pairing instructions.

Frame Control on iPhone: headset view and device status. Frame Control on iPhone: the Games tab.
Setup

Connect your computer to the Frame

First install and open the desktop app. Keep the headset awake, on the same trusted network as your computer. Guest Wi-Fi or client isolation can block the connection.

Prepare the headset

On the Frame: Steam Settings → System → Enable Developer Mode, then Developer → Set User Password. Choose a password that isn't easy to guess; it also protects remote desktop and sudo.

Run connection setup

In the desktop app, choose Set Up Connection…. If you skipped the first prompt, use Frame → Set Up Connection…. A terminal opens. If discovery fails, find the Frame's IP in Quick Settings or Steam Settings → Internet. Windows/Linux setup prompts for it. On macOS, return to the app → Devices & connection → + Add a headset…, use SSH alias frame for the default headset, enter the IP in Address and choose Set Up….

Pair, with a password fallback

Setup tries Valve's pairing first: open Developer → Pair new host in the headset and approve only your request. If it fails or times out, enter the Developer Mode password in the computer's terminal (typing may be invisible), then press Enter.

The devkit service and pairing-mode step were checked on a Frame; approval and key installation through that flow remain unverified. Pairing details. After setup succeeds, return to the app; future connections use SSH keys. Still offline? Check Developer Mode, the IP and network isolation, then rerun setup. For use away from home, see Tailscale.

Download

Get Frame Control

Choose your computer’s OS and processor, not the headset’s. Python is bundled; Linux needs ssh, and arm64 Linux also needs your distribution’s adb for Android apps. Release notes · What we tested

macOS

Apple Silicon (M-series) only · no Intel Mac build

Check Apple menu → About This Mac for your chip. Open the DMG, drag Frame Control to Applications, then open it there. Allow local network access and Terminal control when asked.

The app isn't notarized. macOS opening instructions.

Windows

Windows 10 or 11, x64

Check Settings → System → About → System type. No native Windows ARM build is published. Run the installer, then open Frame Control from Start. The OpenSSH Client optional feature must be installed (it normally is). For portable use, extract the entire ZIP and run Frame Control.exe.

The installer isn't code-signed. SmartScreen instructions.

Linux

x64 or arm64 · needs ssh

Run uname -m: x86_64 means x64; aarch64 means arm64. Install the matching .deb on Debian/Ubuntu and open Frame Control from your applications menu, or use AppImage on other distributions.

AppImage permissions and FUSE help. On arm64 Debian/Ubuntu, install adb with sudo apt install adb for Android apps.

FAQ

Good questions

Is it safe? How do I check my download?

Starting with v0.4.26, download Frame Control and SHA256SUMS from the same GitHub release. Earlier releases do not have this file. A matching SHA-256 means your file matches that release asset. It does not prove the app is free of malware. Compare all 64 characters with the line for your filename.

Windows PowerShell: Get-FileHash .\Frame-Control-Setup-x64.exe -Algorithm SHA256
macOS Terminal: shasum -a 256 Frame-Control-mac-arm64.dmg
Linux terminal: sha256sum Frame-Control-linux-x86_64.AppImage

The source and build workflow are public. The Windows installer is not code-signed, so SmartScreen may warn. The macOS app has only an ad hoc signature, not an Apple Developer ID signature; the DMG is unsigned and not notarized, so Gatekeeper may warn or block it. Only follow the opening steps below if you trust the download.

日本語: v0.4.26 以降は公式リリースの SHA256SUMS とファイルの SHA-256 値を照合してください。Windows は未署名、macOS は開発者 ID による署名・公証がありません。

macOS says the app is damaged or can't be checked

The app isn't notarized, because there's no paid Apple developer account behind it. Only for a download you trust from the releases linked above: drag it to Applications, then clear the download quarantine once in Terminal:

xattr -dr com.apple.quarantine "/Applications/Frame Control.app"

Windows SmartScreen says it protected my PC

The installer isn't code-signed. Choose More info → Run anyway, or use the portable .zip: unzip it anywhere and run Frame Control.exe.

How do I open the Linux AppImage?

In a terminal in your download folder, use the exact filename for your architecture. For x64:

chmod +x Frame-Control-linux-x86_64.AppImage
./Frame-Control-linux-x86_64.AppImage

If FUSE is missing, install libfuse2 (Ubuntu 24.04+: libfuse2t64), or run the same AppImage with --appimage-extract-and-run. Install your distribution’s OpenSSH client if ssh is missing.

What does it change on my headset?

Only what you click. Installs go to your user account on the Frame, and nothing needs sudo except the power buttons. On your computer it adds a Host frame entry to ~/.ssh/config and two SSH keys.

Is it safe to leave Developer Mode on?

With Developer Mode on, SSH, ADB and remote desktop are reachable on your local network. Use trusted networks, turn Developer Mode off when you don't need it, and never port-forward those ports from your router. For remote access, use Tailscale. Security notes

Is this made by Valve?

No. It's an unofficial hobby project, free and MIT-licensed. Steam, Steam Frame and SteamVR are trademarks of Valve Corporation.

Tell us what you think

Found a bug, or want something added? Reports from Windows and Linux are especially useful. No GitHub account needed.

Send feedback

Buy me a coffee

Frame Control is free and always will be. If it saves you time, a coffee keeps it going.

Support on Ko-fi