{ "//":"To build:", "//":" flatpak-builder --user --install --from-git=~/quake/fteqw-code-git build-dir flatpak.json", "//":" (swap the git url for a web-based one if you're not gonna make any local changes first - note that it'll only take committed changes)", "//":"To then run:", "//":" cd ~/quake && flatpak run info.triptohell.fteqw", "//":"To then create a bundle:", "//":" flatpak build-bundle ~/.local/share/flatpak/repo fteqw.flatpak info.triptohell.fteqw", "//":"Which can then be distributed and hopefully double-clicked etc, or just 'flatpak install --user fteqw.flatpak'.", "//":"Note: If you're making a TC, add your data/fmf as an extra module somehow, and remove the filesystem=host access.", "app-id": "info.triptohell.fteqw", "runtime": "org.freedesktop.Platform", "runtime-version":"22.08", "sdk": "org.freedesktop.Sdk", "command": "fteqw", "rename-desktop-file":"fteqw.desktop", "strip":"true", "//":"dri needed for gl", "//":"ipc supposedly recommended for x11's shm stuff", "//":"flatpak doesn't seem to support alsa. anyone not using pipewire is thus fucked, nothing I can do about that", "//":"filesystem /usr/share/quake seems b0rked, we can't find standard gamedata there. still using 'host' because steam might have your game library on some other partition/device other than home.", "//":"--device=all fixes gamepad so we have usable inputs on steamdeck (apparently there's no proper way around that)", "finish-args": [ "--share=network", "--device=dri", "--share=ipc", "--socket=x11", "--socket=wayland", "--filesystem=host", "--filesystem=/run/udev:ro", "--device=all", "--device=snd", "--socket=pulseaudio" ], "modules": [ { "name": "fteqw", "buildsystem": "cmake", "//":"Using sdl to ensure game controller support eg for steamdeck etc. This may result in some clipboard issues as flatpak's sdl is a little too old (and sdl sucked in delaying proper support).", "//":"Server stuff disabled, flatpak is not a good match. commandline tools also disabled for the most part, no .desktop files for those", "//":"install to /app/bin instead of /app/games, flatpak just prefers it that way and the distinction isn't useful.", "config-opts": ["-DCMAKE_BUILD_TYPE=Release", "-DFTE_USE_SDL=true", "-DFTE_ENGINE_SERVER_ONLY=false", "-DFTE_TOOL_QTV=false", "-DFTE_TOOL_MASTER=false", "-DFTE_TOOL_HTTPSV=false", "-DFTE_TOOL_QCC=true", "-DFTE_TOOL_IQM=false", "-DFTE_TOOL_IMAGE=false", "-DCMAKE_INSTALL_PREFIX=/app", "-DCMAKE_INSTALL_FULL_LIBDIR=/app/lib", "-DCMAKE_INSTALL_DATAROOTDIR=/app/share", "-DFTE_INSTALL_BINDIR=bin"], "sources": [ { "type": "git", "path": "/home/spike/quake/fteqw-code-git", "//url": "https://github.com/fte-team/fteqw.git" } ] } ] }