3 Commits
Author SHA1 Message Date
CogentialandClaude Opus 5.5 6c27fd8fc2 Frametanium updates itself from its releases; no box art in the repo
- Frametanium is in its own list (installer mode): updating downloads the
  release bundle and runs install.sh, which now installs the headset app and
  its tile too and, when the service runs it, restarts the service from a
  timer of its own a few seconds later
- release.yml builds the headset app on an ARM64 runner and publishes
  frametanium-steam-frame-arm64.tar.gz (tools/bundle.sh); deploy.sh uses the
  same bundle and install.sh
- Built-in ports' library art is fetched at install (GitHub card + the
  project's icon) instead of shipping box art
- Built-in Banjo-Kazooie (Lighthouse), installing over the Banjo_Kazooie
  tile; a repo the user added before it became built-in isn't listed twice
- Frametanium can't remove itself

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VHDaz86aayqMULHsjByEmT
2026-10-09 21:05:01 -04:00
CogentialandClaude Opus 5.5 c6b3edf252 Rename Port Manager to Frametanium
Avoids confusion with the other Steam Frame project called FramePort. New service
frametanium.service, folders ~/.config/frametanium and ~/.local/share/frametanium
(service code in its service/ subfolder), headset app Frametanium. install.sh moves an
existing Port Manager install's settings and installed versions over and stops the old
service. Library art regenerated by the new tools/make_art.py.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VHDaz86aayqMULHsjByEmT
2026-10-07 14:28:20 -04:00
CogentialandClaude Opus 5.5 65c6ad3eaa Port Manager: install and update Steam Frame ports from GitHub releases
manager.py is a standard-library service on the Frame (port 8643). It lists
each catalog port's releases, downloads the chosen asset (zip, or an
AppImage it unpacks with --appimage-extract and gives a launcher), stages
it next to ~/devkit-game/<gameid> and swaps it in, keeping ROMs placed next
to run.sh and the previous install for rollback. It refuses while the game
runs, fixes executable bits, registers the shortcut with Steam and adds
library art. A token in the settings unlocks private repos.

app/ is the controller-driven headset front end (C + SDL2, talks to the
service over loopback with tab-separated replies); page.html is the
browser one. deploy.sh installs both over SSH.

Tested on the laptop against the real releases: install, version switch,
ROM carry-over, rollback, the running-game guard, the AppImage path (under
qemu), and both front ends.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VHDaz86aayqMULHsjByEmT
2026-10-05 13:59:43 -04:00