Install games that target the Meta Quest, Android, or general PCVR onto your Valve Steam Frame. FramePort handles everything from uploading game files, setting up your Frame, injecting compatibility patches, and adding shortcuts to your Steam library. FramePort aims to be as simple as possible by taking advantage of the fact that the Steam Frame runs on Linux.
Notice: FramePort explicitly does NOT download, share, or unlock games. You must provide legally obtained game executables. Core features of FramePort simply download and wrap other published tools (see Built on) with patches provided by FramePort adding a hardware compatibility layer. This enables users to use games/apps legally purchased on sites like SideQuest.
- Painless setup: one short command on the Frame. No root, no
sudo, no password. What it changes. - Type on Frame: use your computer's keyboard on the Frame: in VR apps, Android apps, Steam and the desktop. More.
- One click per game: convert, patch, sign, upload, add to Steam with artwork, launch test.
- Per-game recipes: a tested catalog plus detection rules; every patch explained in plain words.
- FrameBridge: FramePort's OpenXR adapter emulates what the Frame natively lacks (passthrough, room, controller models, curved and 360° layers); game settings as simple switches.
- Beyond Quest: Android apps as windows, PC VR via Proton or Revive, Windows (non-VR) games via Proton, a Files tab with drag and drop.
- Self-updating releases, redacted diagnostics, one-click problem reports and working-config sharing.
- Download and unzip the build for Windows, macOS (Apple Silicon) or Linux, then start FramePort.
- Connect the Frame (once):
- In FramePort click Steam Frame → Show setup command. Keep FramePort open; the Frame and your computer must be on the same Wi-Fi.
- On the Frame open the SteamVR dashboard → Launch a program → Desktop: the Linux desktop opens on a virtual screen.
- Open the app menu (bottom-left corner of that desktop) → System → Konsole (or search for Konsole).
- Type the command FramePort shows exactly as shown (on-screen keyboard or any USB/Bluetooth keyboard) and press Enter. This will run the following bash setup script.
- After a few seconds the desktop closes by itself (Steam restarts once); that's expected. If Steam asks to install Lepton, confirm it. FramePort shows the Frame as connected within a minute. No password needed.
- Add games → Scan a folder with your game backups (APK + OBB, or PC VR game folders).
- Open a game → Install on Frame, then play it from the Frame's Steam library.
Full guide, firewalls and troubleshooting: docs/INSTALL.md.
Typing in VR is painful, so FramePort turns your computer's keyboard into a keyboard for the Frame. Open Type on Frame (keyboard icon on the sidebar's Frame card, the Steam Frame page, or a game's menu), select a text field in the headset and type: searches, logins, chat, in any app, in Steam or on the desktop. Paste longer text to type it in one go. Nothing to install: FramePort adds a virtual keyboard on the Frame while the window is open, without root.
Unity apps whose text fields close the moment you select them on the Frame (no system keyboard there) get a per-game fix, so Steam's on-screen keyboard and Type on Frame work in them too. Details.
If a game has already been tested with FramePort, it will automatically use the optimal game config. Otherwise, FramePort will attempt to guess key patches. If you find a new config that works for an app you are testing, please consider submitting it to the community!
Tested something? Share it. In FramePort open the game → … → Share working config… (it fills in the recipe for you) or Report a problem… (attaches a diagnostics zip with personal data removed). Without the app: share a working config · report a problem. Shared configs become built-in recipes for everyone.
OVRPort (Quest → OpenXR, originally ovrport/app) · Valve Lepton, Proton and SteamVR · Revive · Mesa (Zink) · Khronos OpenXR SDK · Eclipse Temurin, Android apksigner and NDK · Flet · OculusDB and Steam store data. What FramePort adds itself: docs/ARCHITECTURE.md.
| INSTALL.md | Install, connect, update, PC VR, files, problem reports |
| FRAME_SETUP.md | What setup changes on the Frame, networks and firewalls, undoing it |
| COMPATIBILITY.md | What runs and how well |
| GAMES.md | Tested games and how well they run |
| PLAYBOOK.md | Symptoms and fixes per game |
| FRAME_RUNTIME.md | Steam Frame runtime facts |
| ARCHITECTURE.md | How the code is organised |
| CONTRIBUTING.md | Code, recipes, translations |
uv sync --extra dev
uv run frameport-gui # the app
uv run frameport --help # command line
uv run pytest # tests
While I would like to program everything manually, I no longer have much free time for personal projects. As a result I make use of AI tools to make it significantly quicker to debug compatibility issues.
GPL-3.0-only (includes GPL-3.0 code from OVRPort). Not affiliated with Valve or Meta.

