spoopyghosty0 dfb4fc4ffd Share working configs and diagnostics bundles via GitHub issues
- "Share working config…" (game menu, `frameport share-recipe`): saves the recipe as known-good and opens a
  prefilled working-config issue form; labelling it `catalog-accepted` runs catalog-from-issue.yml, which
  validates the YAML (scripts/catalog_from_issue.py) and opens a PR adding catalog/games/<pkg>.yaml
- "Collect logs" / "Report a problem…" (game menu, Settings, failure pop-up, `frameport diag collect|report`):
  redacted diagnostics zip (app + job logs, library entry, recipe, launch logs + re-triage, APK/ELF/PE listings
  instead of game files, Frame launcher/settings/Lepton/logcat/XRService logs via agent v21 `collect_diag`) and
  a prefilled bug-report issue to attach it to; `frameport diag inspect <zip>` re-triages a bundle offline
- diag/redact.py scrubs IPs, MACs, host/user names, home dirs, Steam ids, data and dump folders
- App log (<data>/logs/app.log) and saved GUI job logs (<data>/logs/jobs/)
- catalog.entry_from_library shared by "Save as known-good" and sharing; docs/DIAGNOSTICS.md
2026-09-30 14:14:00 -04:00

FramePort

Play your Meta Quest standalone games on the Valve Steam Frame. FramePort patches a Quest APK so it runs in the Frame's Lepton Android runtime, validates the result, installs it over Wi-Fi and adds it to your Steam library with artwork. Think Morphe/ReVanced Manager, for Quest → Steam Frame:

  1. Connect your Frame once: the app shows one command to paste into the Frame's desktop terminal (it turns on SSH, trusts the app, and installs Lepton). After that the app finds the Frame on your network by itself.
  2. Add games: scan a folder of Quest dumps (APK + OBB) or add an APK.
  3. Review patches: every game gets suggested patches (overport's plus Steam Frame fixes), each with a reason. 34 games have verified recipes; unknown games get heuristics.
  4. Patch, validate, install: signature/alignment/dependency checks, upload (resumable, skips data already on the Frame), Steam shortcut + artwork, and a headless launch test with log triage that suggests fixes.

FramePort downloads and manages its own tools (Java runtime, overport CLI, apksigner). Nothing is installed system-wide, and no Android SDK/NDK is needed.

Install

  • App bundles: download from Releases (Windows x64, macOS Apple Silicon, Linux x64); see docs/INSTALL.md for the first-launch warning (self-signed / ad-hoc signed) and how to verify a download. Built by CI (.github/workflows/build.yml, flet build).
  • From source: uv sync && uv run frameport-gui (CLI: uv run frameport --help).

Status of tested games

See catalog/games/ (and the Library screen): 23 work, 5 work with issues, 6 can't run on the Frame (3 are 32-bit only; PC VR alternatives are listed). Details and how problems were solved: docs/PLAYBOOK.md. All 34 recipes were verified by rebuilding from the original dumps (docs/parity-report.md: 34/34 match the hand-made known-good builds) and reinstalling + launch-testing on a Frame (docs/parity-device-report.md: 0 regressions).

Use only with games you own. FramePort does not download games. It is GPL-3.0-only because it bundles code derived from GPL-3.0 projects (Quest2Frame's hook technique in the adapter, the Android-XR-Bridge/OVRPort VrApi bridge). overport is downloaded from its official releases and is not redistributed.

Development

See CLAUDE.md (architecture, commands, findings) and docs/ARCHITECTURE.md.

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.1%
C 17.8%
C++ 6.5%
Assembly 1.2%
Shell 0.3%