How to use
FrameDrop is a sideloading client for Steam Frame. You pick software on your PC; it copies it to the headset and adds a Steam shortcut. You do not need a store page.
Turn on developer mode
On the Frame, open Steam Settings → System and enable Developer Mode. Settings will then show a Developer page. Without this, the PC cannot talk to the headset.
Pair the headset to your PC
Put the Frame and your PC on the same Wi-Fi. On the headset go to Settings → Developer → Pair new host. On the PC, open FrameDrop and click Pair. Confirm the prompt on the headset.
Pairing is a one-time handshake. The next time you open FrameDrop it should find the headset and Connect on its own. If it says no headset, wake the Frame and wait — it keeps looking.
Two ways to sideload
Drop a file. In FrameDrop, drop an APK, a zip, a folder, or an exe. Check the name, then Install.
A FrameDrop button. Some developers put a FrameDrop button on their own site. That opens FrameDrop and points it at their file. You still need FrameDrop installed and a headset you have paired once.
Never install something you do not trust. If a website button opens FrameDrop, the app will ask if you are sure before anything is installed.
Application types
Android (APK) is a phone-style app. Steam Frame is ARM64, so the APK must be ARM64 or a universal build that includes it. A 32-bit or x86-only APK will not install.
Linux is a program built for the Frame, often zipped. Prefer an ARM64 build. FrameDrop unpacks zips first.
Windows (.exe) is a normal PC program. The headset runs it through Proton. ARM64 Proton has to already be installed on the Frame.
When the upload finishes, start the title from Steam on the headset.
Install to Frame button
Your site hosts the build. The button only points FrameDrop at it. Visitors need FrameDrop installed and a headset they have paired once. After that, one click downloads the file and starts the install.
1. Host the build
Put the file on HTTPS. For Android on Frame, ship arm64-v8a or a universal APK that includes it. For native Linux, zip the ARM64 client (wrapper folder is fine). GitHub Releases or any static host works.
2. Add a manifest
Recommended. Serve this JSON next to the build:
{
"schema": "framedrop.install/v1",
"name": "My Game",
"files": [
{
"url": "https://cdn.example.com/mygame-arm64.apk",
"sha256": "optional-but-better"
}
]
}
name is what shows up in Steam. sha256 is optional. A Linux zip uses the same shape with a .zip URL; FrameDrop unpacks it before upload.
3. Put this on the page
Use this button. Change the href to your manifest or file URL. It is self-contained — no FrameDrop CSS required.
If you build the href in JavaScript, encode the inner URL:
document.getElementById("install").href =
"framedrop://install?manifest=" +
encodeURIComponent("https://cdn.example.com/mygame.framedrop.json");
One file and no JSON also works:
framedrop://install?url=https://cdn.example.com/mygame-arm64.apk
Rules
HTTPS only on the public internet. HTTP is allowed from localhost for local testing. The file URL must end in a filename, not a directory. No file://, no LAN IPs, no credentials in the URL. FrameDrop must have been opened at least once on that PC so Windows knows framedrop://.
What the user sees
The browser asks to open FrameDrop. FrameDrop fetches your file, names the title, and installs to the paired headset. Keep a normal download next to the button, plus a link to get FrameDrop, for people who do not have it yet.