-
v0.8.2
Stablewindows-msix / package (arm64, C:\Users\Public\ffmpeg-arm64, aarch64-pc-windows-msvc, C:\t-a64) (push) Has been cancelledwindows-msix / package (x64, C:\Users\Public\ffmpeg, x86_64-pc-windows-msvc, C:\t) (push) Has been cancelledwindows-host / package (push) Has been cancelledweb-screenshots / screenshots (push) Has been cancelledrpm / build-publish (43, bazzite, punktfunk-fedora-rpm) (push) Has been cancelledrpm / build-publish (44, fedora-44, punktfunk-fedora44-rpm) (push) Has been cancelledrelease / apple (push) Has been cancelleddocker / build-push (., web/Dockerfile, punktfunk-web) (push) Has been cancelleddocker / build-push (ci, ci/fedora-rpm.Dockerfile, punktfunk-fedora-rpm) (push) Has been cancelleddocker / build-push (ci, ci/rust-ci.Dockerfile, punktfunk-rust-ci) (push) Has been cancelledlinux-client-screenshots / screenshots (push) Has been cancelledflatpak / build-publish (push) Has been cancelleddocker / build-push (--build-arg FEDORA_VERSION=44, ci, ci/fedora-rpm.Dockerfile, punktfunk-fedora44-rpm) (push) Has been cancelleddocker / build-push (docs-site, docs-site/Dockerfile, punktfunk-docs) (push) Has been cancelleddocker / deploy-docs (push) Has been cancelleddecky / build-publish (push) Has been cancelleddeb / build-publish (push) Has been cancelledarch / build-publish (push) Has been cancelledandroid / android (push) Has been cancelledandroid-screenshots / screenshots (push) Has been cancelledreleased this
2026-07-07 09:16:19 +00:00 | -56 commits to main since this releaseWire-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_LOCKand 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