Flatpak
Flatpak would be great for easy installation on Steam Deck.
Here is a working Manifest org.phoboslab.wipeout.yml
---
app-id: org.phoboslab.wipeout
runtime: org.freedesktop.Platform
runtime-version: '21.08'
sdk: org.freedesktop.Sdk
command: /app/wipegame
cleanup:
- /lib/pkgconfig
- /lib/debug
- '*.la'
- '*.a'
modules:
- shared-modules/glew/glew.json
- shared-modules/glu/glu-9.json
- name: wipeout-data
buildsystem: simple
build-commands:
- unzip -n wipeout-data-v01.zip
sources:
- type: file
url: https://phoboslab.org/files/wipeout-data-v01.zip
sha1: 16f9f188d171d2b1f891766a1e4ac2df7e70973e
post-install:
- mv wipeout $FLATPAK_DEST/wipeout
- name: wipeout-rewrite
buildsystem: simple
build-commands:
- L_FLAGS="$(pkg-config --libs glew glu) -lm" make sdl
sources:
- type: git
url: https://github.com/phoboslab/wipeout-rewrite.git
post-install:
- install -D -m 755 -t $FLATPAK_DEST wipegame
finish-args:
- --device=dri
- --share=ipc
- --share=network
- --socket=x11
- --socket=pulseaudio
- --filesystem=home
Needs Flathub git sub-module for shared-modules
[submodule "shared-modules"]
path = shared-modules
url = https://github.com/flathub/shared-modules.git
flatpak-builder --user --install inst-dir org.phoboslab.wipeout.yml
if flatpak-builder fails downloading glu with certificate errors, apply this patch in shared-modules
diff --git a/glu/glu-9.json b/glu/glu-9.json
index c054749..e0aba90 100644
--- a/glu/glu-9.json
+++ b/glu/glu-9.json
@@ -5,6 +5,9 @@
{
"type": "archive",
"url": "https://archive.mesa3d.org/glu/glu-9.0.2.tar.xz",
+ "mirror-urls": [
+ "ftp://ftp.freedesktop.org/pub/mesa/glu/glu-9.0.2.tar.xz"
+ ],
"sha256": "6e7280ff585c6a1d9dfcdf2fca489251634b3377bfc33c29e4002466a38d02d4"
}
],
work-around for the save.dat location, since /app inside the flatpak sandbox isn't writable.
post-install:
- ln -sf /tmp/save.dat /app/save.dat
wayland and access to controller is needed for Steam Deck
finish-args:
- --device=all
- --share=ipc
- --socket=wayland
- --socket=x11
- --socket=pulseaudio
build a bundle file
flatpak-builder --user --install --repo=repo inst-dir --force-clean org.phoboslab.wipeout.yml
flatpak build-bundle repo wipeout.flatpak org.phoboslab.wipeout
scp wipeout.flatpak steamdeck:~/
# on steamdeck
flatpak install --bundle --user ~/wipeout.flatpak
# create a .desktop file with
flatpak run --cwd=/app org.phoboslab.wipeout
Game does run from steam and is playable with controller
[edit] controller support
WIP https://github.com/leuc/org.phoboslab.wipeout
Build with GitHub CI
https://github.com/leuc/org.phoboslab.wipeout/releases/download/v0.1-alpha0/wipEout-rewrite-x86_64.flatpak
Build adjusted to use PATH_ASSETS. Save game state is preserved now.
https://github.com/leuc/org.phoboslab.wipeout/releases/download/v0.0.1-alpha2/wipEout-rewrite.v0.0.1-alpha2.flatpak
So, would the code be legal to submit to flathub?
No.
All content hosted on Flathub must allow legal redistribution
~ https://docs.flathub.org/docs/for-app-authors/requirements
Your app should not violate any trademarks
~ https://docs.flathub.org/docs/for-app-authors/appdata-guidelines/quality-guidelines
Hey two questions:
-
I downloaded the last flatpak, but the music doesn't sound. (which to be honest, I miss a lot)
-
To not include the data (images, music etc) in the flatpack will be able to be published, or still won't be able to be publish?
Thanks
P.D.: I love this game, and is a real pleasure to play it in a steamdeck.