mirror of
https://github.com/bryanthaboi/gen1recomp.git
synced 2026-08-27 08:51:27 +02:00
0e8c93ec75
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.
2.4 KiB
2.4 KiB
Linux AppImage packaging
Releases ship raw AppImages (no zip wrapper):
gen1recomp-<version>-linux-x86_64.AppImagegen1recomp-<version>-linux-arm64.AppImage
chmod +x gen1recomp-*-linux-x86_64.AppImage
./gen1recomp-*-linux-x86_64.AppImage
Flatpak users should prefer the .flatpak bundle (see
linux-flatpak.md); it avoids host glibc / FUSE / curl
mismatches on immutable desktops.
Common failure modes
| Symptom | Cause | Fix |
|---|---|---|
Won't start / libfuse.so.2 |
No FUSE | sudo apt install libfuse2 (or libfuse2t64) or ./app.AppImage --appimage-extract-and-run |
| Update check / mods / save sync fail | Host curl missing or broken by AppImage LD_LIBRARY_PATH |
Install curl; current builds scrub LD_LIBRARY_PATH for host curl and keep it for a bundled AppDir curl |
| Settings / sync reset after quit | Portable mode next to a read-only AppImage parent (/opt, system dir) |
Remove portable.txt or move the AppImage to a writable folder; the game falls back to the XDG save dir when the probe write fails |
| "Download AppImage update" | Shell/minShell gate needs a full native package |
Download the new .AppImage, chmod +x, replace the old file |
| Steam / Game Mode weirdness after update | Overlay LD_PRELOAD / PID change |
HostShell unsets LD_PRELOAD for children and execvs $APPIMAGE on restart |
Network transport (HostShell)
Desktop Linux fetches go through host or bundled curl:
- Flatpak
/app/bin/curl(bundled, keep sandbox libs) $APPDIR/usr/bin/curlor$APPDIR/bin/curl(keep$APPDIRonLD_LIBRARY_PATH)- Host
curl(env -u LD_LIBRARY_PATH, and always-u LD_PRELOAD)
Portable mode
Drop portable.txt beside the .AppImage to keep saves next to the binary.
The launcher probes writability with a unique .write_probe_<time>_<rand>.tmp
file. Read-only parents fail soft and use love.filesystem XDG saves instead.
Flatpak ignores portable.txt.
Auto-update
In-place updates download gen1recomp-X.Y.Z.love into the save directory.
Full shell bumps open the matching AppImage (or Flatpak) download URL — there
is no silent in-place AppImage replace yet.
Building
# x86_64 (macOS or Linux host with squashfs-tools)
scripts/build.sh linux --version X.Y.Z
# arm64 (aarch64 host + docker/podman)
scripts/build_linux_arm64.sh --version X.Y.Z
See linux-arm64-build.md for the arm64 builder.