Skip to content

Update the Frame install with --update, or from an Updates tab in the game - #12

Merged
mitch030504 merged 1 commit into
openxr-workfrom
claude/install-update-mode-wm4qyu
Oct 5, 2026
Merged

mitch030504 merged 1 commit into
openxr-workfrom
claude/install-update-mode-wm4qyu

Conversation

@mitch030504

Copy link
Copy Markdown
Owner

Requested by Mitch · project thread

Before: updating meant running the whole install command again with every option repeated, and it started the build container even when nothing had changed. The game had no way to tell you whether a newer release existed.

After: steam-frame-install.sh --update repeats the install with its saved options and builds nothing when the Frame already has the newest release and Retro Rewind pack. --check only reports. An install built on the Frame itself (--frame local) gets an Updates tab in the settings panel: it checks for a new release and builds it in the background while the game stays open, showing each step and the build percentage, then tells you to restart. If you close the game meanwhile, the update carries on and reopens the game when it's done.

How: each install saves its options to install.conf in the work dir and stamps the release as .release-tag beside the game on the Frame, so the check compares the Frame itself against GitHub releases and Retro Rewind's server. For --frame local installs, the script writes update.conf next to Config.toml and a wiicompiled-update.service systemd user service (Nice 19, idle IO). The new runtime/src/update_check.cpp runs the script's --check, starts the service, and reads a status file the script writes at every step and every percent of the ninja build. The game doesn't carry its own HTTPS client: the existing mbed TLS code is the guest Wii SSL layer.

Progress is not sent as Steam notifications. That was tried on a Frame: SteamOS's steam_notif_daemon hands notifications to an x86 Steam binary that can't run on ARM64, and Steam doesn't display them even when given the notification URL directly (its own log shows ExecuteSteamURL and nothing appears). The README, docs/releases/frame-beta-3.md and a comment in the script record this.

Testing: script paths (up to date, update available, unknown release, missing install, relaunch only when the game is closed, build-progress parsing) were run against the real releases feed with stand-in commands. update_check.cpp was exercised through a small harness driving the real script. The ImGui tab could not be compiled here (imgui and SDL are fetched at build time), so it needs a real build.

🤖 Generated with Claude Code

https://claude.ai/code/session_01UyuWx5hNrMpf9R78FZFcbA


Generated by Claude Code

… the game

--update reuses the options an install was made with (saved to install.conf in the work dir) and
builds nothing when the Frame already has the newest release and Retro Rewind pack; --check only
reports. The installed release is stamped as .release-tag beside the game on the Frame.

An install built on the Frame itself (--frame local) also gets a systemd user service the game's
new Updates tab starts: the update runs in the background at low priority, writes each step and
the build percentage to a status file the tab shows, and reopens the game at the end if it was
closed. Progress does not go through Steam notifications: on the Frame, Steam receives them from
steam_notif_daemon but does not display them.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UyuWx5hNrMpf9R78FZFcbA
@mitch030504 mitch030504 self-assigned this Oct 5, 2026
@mitch030504
mitch030504 merged commit b352432 into openxr-work Oct 5, 2026
2 checks passed
@mitch030504
mitch030504 deleted the claude/install-update-mode-wm4qyu branch October 5, 2026 16:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants