spoopyghosty0 bc40325c2d Updater: start the Windows swap script in a hidden console and check it runs; Linux bundle built on Ubuntu 22.04
Found in the end-to-end test (0.3.1 -> 0.3.2): PowerShell started with DETACHED_PROCESS from the packaged app exits
without running the script, so the app quit and nothing was updated. apply() now waits until the script logs that it
runs and raises otherwise. The smoke test uses the same non-waiting launch as the app. The Linux bundle built on
24.04 needed GLib 2.80.
2026-10-02 01:01:37 -04:00

FramePort

FramePort installs Meta Quest standalone games and Oculus Rift PC VR games on the Valve Steam Frame. It patches a game so it runs on the Frame's runtimes, copies it to the headset over Wi-Fi and adds it to the Frame's Steam library with artwork.

Library

Purpose

FramePort is a proof of concept: it shows that VR software built for other platforms (Meta Quest, Oculus Rift) can run on the Steam Frame with a translation layer and a few targeted fixes. Most of the work is done by the projects FramePort wraps (see Built on); FramePort selects and applies their fixes per game, adds Steam Frame-specific patches, and handles installing, testing and launching.

FramePort is not a piracy tool. It does not download, share or unlock games, and it does not remove DRM, licence or entitlement checks. Use it only with games you own. Games that check their licence through the Oculus Platform SDK are marked as not runnable on the Frame.

Getting started

  1. Download the archive for your computer from the latest release and extract it anywhere:

    Computer File Start
    Windows 10/11 (x64) FramePort-windows-x64.zip FramePort.exe
    macOS (Apple Silicon) FramePort-macos-arm64.zip FramePort.app
    Linux (x64) FramePort-linux-x64.tar.gz FramePort/FramePort

    The builds are self-signed, so the first start shows a warning: Windows → More info → Run anyway; macOS → right-click the app → Open. Details: docs/INSTALL.md.

  2. Get the tools: on first start FramePort downloads what it needs (Java runtime, OVRPort, apksigner) into its own folder. Nothing is installed system-wide.

  3. Connect the Frame: turn on Developer Mode on the Frame (Settings → System → Developer). In FramePort open Steam Frame; if the Frame isn't listed, switch it to Desktop mode, open Konsole and paste the one command FramePort shows. This is needed once.

  4. Add games: Add games → Scan a folder with your Quest game backups (APK + OBB) or Rift game folders. FramePort identifies each game and fetches its artwork and store details.

  5. Install: open a game and click Install on Frame. FramePort patches, checks, uploads and adds the game to the Frame's Steam library, then runs a short launch test.

  6. Play: put the headset on and start the game from the Steam library (or click Play on Frame).

Game page

FramePort updates itself: when a new version is released, the Library shows Update now.

What works

The built-in catalog has tested settings for 38 games (27 work, 5 work with known issues, 6 can't run on the Frame). Other games get suggested patches from detection rules; each suggestion states its reason, and every patch can be switched on or off under Customize.

Patches

  • Quest games run in Valve's Android runtime (Lepton). 32-bit-only Quest games can't run (the Frame has no 32-bit ARM support).
  • Rift games run through Proton on the Frame (experimental) or on a Windows PC with SteamVR, streamed to the Frame. Games that use the Oculus Platform SDK need the Oculus app and a licence, so they run on the PC only.
  • Automated launch tests confirm a game starts; visuals can only be checked in the headset.

Steam Frame

Built on

FramePort is a front end for other projects; most of the functionality comes from them:

Project Used for
OVRPort (overport, originally ovrport/app) Converts Quest games to OpenXR: its CLI applies the game patches and supplies the OpenXR loader; FramePort also includes its VrApi→OpenXR adapter
Valve Lepton, Proton and SteamVR Run Android games, Windows games and OpenXR on the Frame
Revive (LibreVR) Runs Oculus Rift games on OpenXR / SteamVR
Mesa (Zink) OpenGL ES on Vulkan on the Frame
Khronos OpenXR SDK OpenXR headers for the native layers
Eclipse Temurin, Android apksigner, Android NDK Java runtime, APK signing, building the native layers
Flet The desktop app
OculusDB, Steam store Game descriptions, genres and artwork

FramePort's own parts: game detection and recipes, the Steam Frame OpenXR adapter (FrameBridge) and the other native fixes in native/, the installer agent that runs on the Frame, and the desktop/command-line app.

Command line

The same functions are available as frameport (included in the source tree; also released as a Python wheel): frameport scan, frameport build, frameport install, frameport test, frameport update. Run frameport --help for the full list.

Documentation

Development

uv sync --extra dev
uv run frameport-gui        # the app
uv run pytest               # tests

See CLAUDE.md for project notes and native/README.md for the native components.

License

GPL-3.0-only (it includes GPL-3.0 code from OVRPort). Not affiliated with Valve or Meta.

S
Description
GitHub pull mirror of spoopyghosty0/frameport. GitHub repository ID: 1400913845. Gitea import mode: github-full.
https://github.com/spoopyghosty0/frameport Readme GPL-3.0
10 MiB
0 Stars 1 Watchers 0 Forks
2026-10-06 06:21:39 +02:00
Languages
Python 74.4%
C 17.3%
C++ 6.6%
Assembly 1.3%
Shell 0.3%