feat(image): install MAME + @sprixe/bridge as systemd service#219
Merged
privaloops merged 1 commit intomainfrom Apr 26, 2026
Merged
feat(image): install MAME + @sprixe/bridge as systemd service#219privaloops merged 1 commit intomainfrom
privaloops merged 1 commit intomainfrom
Conversation
Pi provisioner now installs the native emulator stack alongside the existing kiosk: - apt installs mame, nodejs, npm, git in addition to chromium/cage. - Shallow-clones the Sprixe repo to /opt/sprixe (override branch via SPRIXE_BRANCH env var for testing unmerged feature branches). - Builds @sprixe/bridge with npm install + run build, all under the sprixe user so nothing in /opt is root-owned. - Drops a sprixe-bridge.service unit that runs the daemon on 127.0.0.1:7777, restarts on failure, and writes ROMs to /home/sprixe/sprixe-roms before handing them to MAME. - Force-enables avahi-daemon (not just installed): socket activation has been observed to lose the race against wpa_supplicant on cold boot, leaving sprixe.local unresolvable. The kiosk Chromium boot path is untouched — when the bridge answers its /health probe, the frontend (already wired in PR 2) routes launches to native MAME instead of its TS engine. When it doesn't (web build, dev on Mac), the same frontend keeps using the embedded emulator. README updated with the new systemd surface and the bridge architecture diagram.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pi provisioner now installs the native emulator stack alongside the
existing kiosk:
SPRIXE_BRANCH env var for testing unmerged feature branches).
sprixe user so nothing in /opt is root-owned.
127.0.0.1:7777, restarts on failure, and writes ROMs to
/home/sprixe/sprixe-roms before handing them to MAME.
has been observed to lose the race against wpa_supplicant on cold
boot, leaving sprixe.local unresolvable.
The kiosk Chromium boot path is untouched — when the bridge answers
its /health probe, the frontend (already wired in PR 2) routes
launches to native MAME instead of its TS engine. When it doesn't
(web build, dev on Mac), the same frontend keeps using the embedded
emulator.
README updated with the new systemd surface and the bridge
architecture diagram.