8956bc14de
apple / swift (push) Successful in 53s
android / android (push) Successful in 3m48s
ci / web (push) Successful in 29s
ci / docs-site (push) Successful in 34s
ci / rust (push) Successful in 2m21s
ci / bench (push) Successful in 1m36s
decky / build-publish (push) Successful in 31s
docker / build-push (--build-arg FEDORA_VERSION=44, ci, ci/fedora-rpm.Dockerfile, punktfunk-fedora44-rpm) (push) Successful in 5s
docker / build-push (., web/Dockerfile, punktfunk-web) (push) Successful in 6s
docker / build-push (ci, ci/fedora-rpm.Dockerfile, punktfunk-fedora-rpm) (push) Successful in 4s
docker / build-push (ci, ci/rust-ci.Dockerfile, punktfunk-rust-ci) (push) Successful in 5s
docker / build-push (docs-site, docs-site/Dockerfile, punktfunk-docs) (push) Successful in 3s
flatpak / build-publish (push) Failing after 4s
deb / build-publish (push) Successful in 2m38s
rpm / build-publish (bazzite, punktfunk-fedora-rpm) (push) Successful in 5m9s
rpm / build-publish (fedora-44, punktfunk-fedora44-rpm) (push) Successful in 4m42s
docker / deploy-docs (push) Successful in 16s
Ship the punktfunk Linux client to the Steam Deck as a Flatpak — the only viable
SteamOS install path, since /usr is read-only and lacks libadwaita/SDL3 — and
publish both it and the Decky plugin through Gitea. Built and validated live on a
Steam Deck (SteamOS 3.7): bundle installs user-scope, all libs resolve, libavcodec
resolves to the codecs-extra HEVC build, devices=all for DualSense hidraw.
packaging/flatpak (new):
- io.unom.Punktfunk.yml on GNOME 50 / freedesktop-sdk 25.08. rust-stable//25.08
(rustc 1.96 — the GTK4 chain needs >=1.92; the EOL GNOME-48/24.08 rust-stable at
1.89 could not build it) + llvm20 (libclang for bindgen in ffmpeg-sys-next/sdl3-sys).
HEVC libavcodec comes from the runtime's auto codecs-extra extension point (no
app-side codec declaration). Bundled SDL3 3.4.10 (matches sdl3-sys 0.6.6+SDL-3.4.10).
finish-args: wayland/fallback-x11, --device=all (GPU/VAAPI + evdev + hidraw — flatpak
cannot bind /dev/hidrawN char devices via --filesystem), pulseaudio, network,
~/.config/punktfunk.
- metainfo.xml, desktop, square SVG icon, build-flatpak.sh (offline cargo-sources;
on-Deck org.flatpak.Builder or CI), README.
clients/decky:
- add LICENSE (MIT), fix package.json license (BSD-3-Clause -> Apache-2.0 OR MIT),
add scripts/{package.sh,deploy.sh} (the plugins dir is root-owned: stage to /tmp,
sudo install, restart plugin_loader), align the launcher fallback to the real
flatpak app id io.unom.Punktfunk, rewrite the install section.
.gitea/workflows:
- flatpak.yml: privileged Fedora container builds the bundle and publishes to the
Gitea generic registry (+ release attachment on tags).
- decky.yml: pnpm build -> store-layout zip -> registry (stable latest/ URL for
Decky "install from URL").
docs: packaging/README + packaging/flatpak/README.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
69 lines
2.6 KiB
XML
69 lines
2.6 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!-- AppStream metainfo for the punktfunk Linux client flatpak. Validate with:
|
|
appstreamcli validate packaging/flatpak/io.unom.Punktfunk.metainfo.xml
|
|
The component id MUST equal the flatpak app-id; the <launchable> MUST name the installed
|
|
desktop file (io.unom.Punktfunk.desktop). -->
|
|
<component type="desktop-application">
|
|
<id>io.unom.Punktfunk</id>
|
|
<metadata_license>CC0-1.0</metadata_license>
|
|
<project_license>MIT OR Apache-2.0</project_license>
|
|
<name>Punktfunk</name>
|
|
<summary>Low-latency desktop and game streaming client</summary>
|
|
|
|
<description>
|
|
<p>
|
|
Punktfunk is the native Linux client for the punktfunk low-latency desktop and game
|
|
streaming stack. It discovers hosts on the LAN over mDNS, trusts them via certificate
|
|
pinning with a SPAKE2 PIN pairing ceremony, and streams HEVC video (GF(2^16) Leopard
|
|
FEC plus AES-GCM over UDP, with a QUIC control plane) at exactly the requested
|
|
resolution and refresh rate — no scaling.
|
|
</p>
|
|
<p>Features:</p>
|
|
<ul>
|
|
<li>Hardware-accelerated HEVC decode (VAAPI zero-copy on AMD and Intel, software fallback)</li>
|
|
<li>PipeWire audio playback and microphone uplink</li>
|
|
<li>Full gamepad support including DualSense touchpad, motion, adaptive triggers and lightbar (SDL3)</li>
|
|
<li>LAN host discovery, TOFU fingerprint pinning and PIN pairing</li>
|
|
</ul>
|
|
</description>
|
|
|
|
<launchable type="desktop-id">io.unom.Punktfunk.desktop</launchable>
|
|
|
|
<categories>
|
|
<category>Network</category>
|
|
<category>Game</category>
|
|
<category>RemoteAccess</category>
|
|
</categories>
|
|
|
|
<keywords>
|
|
<keyword>streaming</keyword>
|
|
<keyword>remote</keyword>
|
|
<keyword>game</keyword>
|
|
<keyword>moonlight</keyword>
|
|
</keywords>
|
|
|
|
<url type="homepage">https://git.unom.io/unom/punktfunk</url>
|
|
<url type="bugtracker">https://git.unom.io/unom/punktfunk/issues</url>
|
|
<url type="vcs-browser">https://git.unom.io/unom/punktfunk</url>
|
|
|
|
<developer id="io.unom">
|
|
<name>unom</name>
|
|
</developer>
|
|
|
|
<content_rating type="oars-1.1"/>
|
|
|
|
<branding>
|
|
<color type="primary" scheme_preference="light">#a79ff8</color>
|
|
<color type="primary" scheme_preference="dark">#6c5bf3</color>
|
|
</branding>
|
|
|
|
<!-- Bump on each release; the version/date should track the published bundle. -->
|
|
<releases>
|
|
<release version="0.0.1" date="2026-06-15">
|
|
<description>
|
|
<p>Initial flatpak packaging of the native Linux client for the Steam Deck and Wayland desktops.</p>
|
|
</description>
|
|
</release>
|
|
</releases>
|
|
</component>
|