app-id: io.github.sivadaboi.OpenSave runtime: org.gnome.Platform # GNOME runtime ships libwebkit2gtk-4.1 — the exact webview our Linux build # links (wails -tags webkit2_41). This is what makes the app run on stock # SteamOS, which does not ship WebKitGTK at all. # # 49 (freedesktop 25.08 base) matters for new handheld silicon: the 48 # runtime's Mesa predates the ROG Ally X-class APUs, and the webview died # on GPU init there while the same app ran fine against the host's native # Mesa. CI's ldd smoke test verifies webkit2gtk-4.1 is still present on # every runtime bump. runtime-version: "49" sdk: org.gnome.Sdk command: opensave rename-desktop-file: opensave.desktop rename-icon: opensave finish-args: # LAN peers, relay, cloud providers. - --share=network - --share=ipc - --socket=wayland - --socket=fallback-x11 - --device=dri # Game saves live throughout the user profile (AppData equivalents, # Documents, Steam userdata/compatdata); SD cards and external drives # mount under /run/media on SteamOS. - --filesystem=home - --filesystem=/run/media # Tray icon (StatusNotifier — KDE Plasma is the Steam Deck desktop). # Talking to the watcher is not enough: the app must also OWN its item # name on the bus. Inside a flatpak sandbox the app's PID is 2, and # fyne/systray names its item org.kde.StatusNotifierItem--1 — # without this the tray fails with DBus ServiceUnknown (cosmetic, but # no tray icon). - --talk-name=org.kde.StatusNotifierWatcher - --own-name=org.kde.StatusNotifierItem-2-1 modules: - name: opensave buildsystem: simple build-commands: - install -Dm755 opensave /app/bin/opensave - install -Dm755 opensave-cli /app/bin/opensave-cli - install -Dm644 opensave.png /app/share/icons/hicolor/512x512/apps/opensave.png - install -Dm644 opensave.desktop /app/share/applications/opensave.desktop - install -Dm644 io.github.sivadaboi.OpenSave.metainfo.xml /app/share/metainfo/io.github.sivadaboi.OpenSave.metainfo.xml sources: # CI stages the prebuilt release binaries here (see release.yml, # "flatpak" job) — the app itself is built once, in the linux job. - type: dir path: stage