• v0.8.3 f97b5a3783

    v0.8.3
    apple / swift (push) Successful in 1m11s
    apple / screenshots (push) Successful in 5m46s
    ci / web (push) Successful in 56s
    ci / rust (push) Successful in 3m40s
    ci / docs-site (push) Successful in 59s
    ci / bench (push) Successful in 4m59s
    android-screenshots / screenshots (push) Successful in 49s
    android / android (push) Successful in 4m25s
    arch / build-publish (push) Successful in 5m47s
    decky / build-publish (push) Successful in 15s
    docker / build-push (--build-arg FEDORA_VERSION=44, ci, ci/fedora-rpm.Dockerfile, punktfunk-fedora44-rpm) (push) Successful in 6s
    docker / build-push (., web/Dockerfile, punktfunk-web) (push) Successful in 4s
    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 4s
    deb / build-publish (push) Successful in 4m3s
    flatpak / build-publish (push) Successful in 5m3s
    release / apple (push) Successful in 17m20s
    rpm / build-publish (43, bazzite, punktfunk-fedora-rpm) (push) Successful in 10m47s
    rpm / build-publish (44, fedora-44, punktfunk-fedora44-rpm) (push) Successful in 10m41s
    docker / deploy-docs (push) Successful in 17s
    web-screenshots / screenshots (push) Successful in 2m38s
    windows-host / package (push) Successful in 16m17s
    windows-msix / package (arm64, C:\Users\Public\ffmpeg-arm64, aarch64-pc-windows-msvc, C:\t-a64) (push) Successful in 3m7s
    windows-msix / package (x64, C:\Users\Public\ffmpeg, x86_64-pc-windows-msvc, C:\t) (push) Successful in 2m58s
    linux-client-screenshots / screenshots (push) Successful in 2m7s
    Stable

    enricobuehler released this 2026-07-07 22:44:28 +00:00 | 22 commits to main since this release

    Wire-compatible with 0.8.x — existing pairings and clients keep working.

    Linux client — rebuilt on Vulkan

    The native Linux client has been re-architected from the ground up. The old GTK4 shell and its GL presenter give way to a two-binary design: a relm4/libadwaita desktop shell (host discovery, pairing, and the game library) that hands each stream off to a dedicated Vulkan session binary — an SDL3 window with an ash presenter and a Skia "console" UI (live stats overlay, capture HUD, and a gamepad-navigable coverflow library you can browse with --browse). What the rebuild unlocks:

    • Zero-copy decode into Vulkan. VAAPI-decoded frames (AMD/Intel, including the Steam Deck) are imported straight into Vulkan — no GL round-trip.
    • Vulkan Video decode on NVIDIA — hardware HEVC decode on the presenter's own device.
    • HDR10 end to end (P010).
    • An animated mesh-gradient background, matching the Apple client.
    • Along the way: the resize crash is fixed, the decoder recovers by requesting a keyframe when it produces no output, decode-stage stats now measure true GPU completion, Alt+Enter toggles fullscreen, and pointer-lock / mouse-motion input is fixed.

    Windows client

    • Stream-shortcut parity with the GTK clientCtrl+Alt+Shift+S toggles the stats overlay live and F11 toggles fullscreen, joining the release/disconnect chords. The full set is now surfaced in a Settings reference card and a brief start-of-stream banner (on both the Windows and Linux clients).

    Android

    • The low-latency pipeline is now the default — vendor low-latency decoder keys, an async decode loop, DSCP marking, the Wi-Fi low-latency lock, and pipeline thread boosts, all on by default.
    • CI now attaches the built APK to each run.

    Host

    • Keyframe-request storms are coalesced into one IDR per cooldown, so a burst of loss no longer floods the encoder with redundant keyframes.
    • The receiver now jumps to live on a standing backlog instead of ratcheting latency upward when it falls behind.

    Packaging & install

    • Steam Deck / Flatpak — the client Flatpak now ships both client binaries (the shell and the Vulkan session streamer), so streaming and the gamepad library work with the new two-binary split. The Decky plugin's install-from-URL uses the unom.io/pf-decky short link.
    • Desktop Linux (Arch / deb / RPM) — these packages now install both client binaries and pull the runtime Vulkan loader.
    • The host's management / library port (47990) is opened on the shipped LAN firewall profiles (ufw + firewalld).

    Security

    • crossbeam-epoch bumped for RUSTSEC-2026-0204, and the web console's transitive dependency tree was re-audited clean.
    Downloads