Drop the pointless zip wrapper around the x86_64 AppImage, harden HostShell so bundled curl keeps APPDIR libs while host curl scrubs LD_LIBRARY_PATH / Steam LD_PRELOAD, and add a Flatpak channel with --device=all, bundled curl, and AppStream releases metadata. Portable mode now probes writability with a unique temp file and falls back soft on RO mounts / Flatpak.
1.3 KiB
Linux Flatpak
Releases may ship gen1recomp-<version>-linux.flatpak (x86_64 bundle).
Install
flatpak install --user ./gen1recomp-<version>-linux.flatpak
flatpak run com.theboisclub.gen1recomp
Or open the .flatpak in Discover / GNOME Software. AppStream metainfo
includes a <releases> entry so those UIs can show the version.
Permissions
The manifest requests:
- network (updater, mods, save sync)
- X11 / Wayland / DRI / PulseAudio
--device=all(SDL2 gamepads, rumble, gyro via evdev/hidraw)--filesystem=home(ROM import)
Curl is bundled at /app/bin/curl so the game does not need host curl.
Updates
Lua/engine payloads still use the in-app .love updater. A native shell bump
points at the new .flatpak asset (Download Flatpak update).
After a .love payload download, restart uses love.event.quit("restart")
(execv of /proc/self/exe inside bwrap). If a restart hangs after an
update, fully quit and relaunch — PhysFS can retain a lock on the previous
payload across a bad handoff.
Building
scripts/build_flatpak.sh --version X.Y.Z
# → dist/flatpak/gen1recomp-X.Y.Z-linux.flatpak
Requires flatpak + flatpak-builder and the Freedesktop 24.08 runtime from
Flathub (installed automatically on first build).
Flathub store submission is out of scope for the GitHub bundle channel.