• v0.8.2 324da666e5

    v0.8.2
    windows-msix / package (arm64, C:\Users\Public\ffmpeg-arm64, aarch64-pc-windows-msvc, C:\t-a64) (push) Has been cancelled
    windows-msix / package (x64, C:\Users\Public\ffmpeg, x86_64-pc-windows-msvc, C:\t) (push) Has been cancelled
    windows-host / package (push) Has been cancelled
    web-screenshots / screenshots (push) Has been cancelled
    rpm / build-publish (43, bazzite, punktfunk-fedora-rpm) (push) Has been cancelled
    rpm / build-publish (44, fedora-44, punktfunk-fedora44-rpm) (push) Has been cancelled
    release / apple (push) Has been cancelled
    docker / build-push (., web/Dockerfile, punktfunk-web) (push) Has been cancelled
    docker / build-push (ci, ci/fedora-rpm.Dockerfile, punktfunk-fedora-rpm) (push) Has been cancelled
    docker / build-push (ci, ci/rust-ci.Dockerfile, punktfunk-rust-ci) (push) Has been cancelled
    linux-client-screenshots / screenshots (push) Has been cancelled
    flatpak / build-publish (push) Has been cancelled
    docker / build-push (--build-arg FEDORA_VERSION=44, ci, ci/fedora-rpm.Dockerfile, punktfunk-fedora44-rpm) (push) Has been cancelled
    docker / build-push (docs-site, docs-site/Dockerfile, punktfunk-docs) (push) Has been cancelled
    docker / deploy-docs (push) Has been cancelled
    decky / build-publish (push) Has been cancelled
    deb / build-publish (push) Has been cancelled
    arch / build-publish (push) Has been cancelled
    android / android (push) Has been cancelled
    android-screenshots / screenshots (push) Has been cancelled
    Stable

    enricobuehler released this 2026-07-07 09:16:19 +00:00 | -56 commits to main since this release

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

    Windows host — AMD reconnect reliability

    A second connection to a Windows AMD host could come up black, with nothing in the logs. The native AMF encoder's teardown didn't flush before terminating, so a reconnect whose teardown overlapped the new session — a client may not signal an explicit exit, so the old session tears down late — left AMD's limited VCN encode session occupied, and the new session opened onto a wedged encoder that reported success but never produced a frame. NVIDIA/NVENC was never affected (it has no equivalent per-session limit).

    The encoder now flushes before terminating, releasing the hardware session cleanly so the next connection gets a free slot, and if a reconnect still wedges it self-heals with a full encoder rebuild instead of re-initialising a dead session until the stall watchdog gives up. New per-connection diagnostics — a context sequence number and a first-frame log line — make a silent wedge immediately visible if it ever recurs.

    Host — session & capture robustness

    • The native data plane survives real Wi-Fi links. Root-caused live on a phone at 100 Mbps (the stream stuck seconds behind, then oscillating): oversized shards were silently IP-fragmenting every video datagram (an MTU-safe 1408-byte payload is now negotiated in the Welcome), Android had quietly fallen back to a syscall per datagram instead of batched send/receive, and a standing receive queue could never drain (the picture stuck 6–7 s behind with both socket buffers full) — the pump now flushes the whole backlog and requests a keyframe when frames keep completing late.
    • The gamescope takeover survives Bazzite's SDDM session supervisor. On Bazzite's autologin game mode (SDDM Relogin=true), stopping the managed session made SDDM immediately log back in and restart it; the resurrected session then fought ours over Steam's single instance and the GPU until the stream died (field reports of drops after 30 s–5 min, or no connection at all). The takeover now survives the supervisor.

    Android

    • Wake and Wi-Fi locks now actually engage while streaming. The app declares WAKE_LOCK and holds both Wi-Fi locks for the duration of a stream (the high-performance lock alone was a no-op), so the link no longer degrades when the device idles.
    • Console-UI polish — per-controller button glyphs, scrollable dialogs, and animated forms.
    • Debug APKs now build the Rust core with the release profile.

    Linux client

    • Fixed a crash — clicking a host card triggered a FlowBox activation signal cycle that stack-overflowed, on every click.
    • The release/disconnect keyboard chords are now logged.

    Install

    Per-platform install and upgrade instructions: https://punktfunk.unom.io/docs/install — channel details: https://punktfunk.unom.io/docs/channels

    The app-store builds (Apple TestFlight, Google Play alpha) are uploaded to their testing tracks and promoted manually.

    Downloads