Files
Frametop--frametop/pack/release-notes.md
T
DeeJanuzandClaude Opus 5.5 9411148596 Releases are one file: Frametop.zip on a GitHub release, built on Depot, no registry
User decision (2026-10-07): people download one file from GitHub, installed through FrameDrop
or unpacked on the headset, holding everything, with no container registry.

Frametop.zip (framedrop/build.sh --image, about 1.1 GB) holds the image as an OCI archive
(podman save), frametop-release.json (pack/release-info.py: version, commit, the archive's
sha256, the image's ID, and the SteamOS table), the install window, and
pack/install-release.sh. That script checks this SteamOS build (against main's steamos.json
when it can fetch it, else the release's copy), checks the archive's sha256, loads it and
checks the ID, copies the release's tree out and runs its install.sh, then keeps the release
before and removes older ones. pack/release-box.sh checks the image's ID before making the
container. The install window runs install-release.sh when the zip has one (get.sh in a test
zip), and reaches systemd through the user's real bus when it's opened from a VR desktop.

get.sh --release now downloads the zip from GitHub (newest stable, --experimental,
--version V, or --zip FILE|URL), resumable and per release, and runs its installer; a
damaged download (exit status 3) is fetched again next time. The registry release list and
its writer are gone.

.github/workflows/release.yml replaces image.yml: on a v* tag or by hand only, on
depot-ubuntu-24.04-arm-4, it builds the image with podman, runs the test gate in it, checks
what a release installs, builds the zip, and makes a draft release (prerelease for a tag
with a "-") with the zip, its FrameDrop manifest, frametop-release.json, and SHA256SUMS.
pack/release-notes.md is the draft's install text.

Tested on the Frame: the release tests (24 checks), a real zip from the local image installed
with get.sh --release --zip --clone-only (sha256, load, ID, copy), a damaged archive (exit 3),
and release-box.sh refusing an image with another ID.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-07 21:34:57 -06:00

925 B

Install

On a Steam Frame (SteamOS, VR variant). Download Frametop.zip below (about 1.1 GB), then either:

  • With FrameDrop on a PC: drop Frametop.zip on your paired headset. In the headset, open Frametop in your library and press Play.
  • On the headset: unpack Frametop.zip (in the desktop's Dolphin or Konsole) and run Frametop/frametop-install.sh.
  • In a terminal on the headset: curl -fsSL https://deejanuz.github.io/frametop/get.sh | bash -s -- --release

A window asks what to install, and your SteamOS password for the two optional parts that need it (our own eye tracker and the Bluetooth fixes); the password is only used for this install. Nothing is compiled on the headset. Restart SteamVR once afterwards.

Before installing, the installer checks your SteamOS build against the builds Frametop was tested on, and stops if this release is known not to work there.