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.
Latest: · All platforms · MIT licence · Not affiliated with Valve
Sixty-six seconds of Frame Control
Recorded against a real Steam Frame. Turn the sound on.
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.
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
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 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.
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.
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.
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. Version . Release notes · What we tested
macOS
OS detectedCheck 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
OS detectedCheck 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
OS detectedssh
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.
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 feedbackBuy me a coffee
Like it? Pass it on
Frame Control is free and always will be. If it saves you time, a coffee keeps it going.
Frame Control is free and always will be. The best way to help is to star the repo and tell a friend.
Support on Ko-fi Star on GitHub