The "Which should I use?" table on the clients page listed most client names as bold text, not links — only the Decky plugin and pf-webos were clickable — so the client references appeared broken. Link each client to its section (or dedicated page), and fix a stale Windows headless command. Repo-wide docs correctness/staleness pass against the code: - steam-deck: client-not-found -> flatpak-not-found (the real backend code) - install: host cert is punktfunk-host-windows_<ver>.cer, not ..._setup.cer - configuration: GPU_PRIORITY_CLASS default is auto; 10BIT/444 are default-on - how-it-works/index: GameStream/Moonlight is opt-in (--gamestream) - roadmap: clipboard sync is shipped, not planned - install-client: MSIX/cert artifacts are arch-suffixed (_x64/_arm64) - requirements: fix garbled 22H2/IddCx sentence - status: Linux encode also covers AMD/Intel (VAAPI/Vulkan Video) - automation: add the plugins.changed event - windows-host: note the optional bundled VB-CABLE virtual mic - sway: PUNKTFUNK_COMPOSITOR=hyprland is a wlroots-family alias - running-as-a-service: punktfunk-probe is a source-build-only dev tool Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
8.1 KiB
title, description
| title | description |
|---|---|
| Install a Client | Install the punktfunk client for the device you're streaming to — Linux, Steam Deck, Windows, macOS, iOS, or Android. |
This page is the install path for each client device. For what each client is and which to pick, see Clients; to install the host, see Install the Host. Whichever client you install, the first connection needs a one-time pairing.
The links below are the stable channel (moves on
vX.Y.Zreleases). For the latestmainbuild, use the canary channel — TestFlight / Play Internal, the…Canary.flatpakref, or thecanary/download URLs. See Release Channels.
Pick your device
| Device | Install |
|---|---|
| Linux desktop / laptop | Flatpak (any distro) or native apt/rpm/Arch packages |
| Steam Deck | Decky plugin for Gaming Mode, or Flatpak in Desktop Mode |
| Windows | Signed MSIX from the package registry |
| macOS | Notarized .dmg from the releases page |
| iPhone / iPad / Apple TV | TestFlight beta |
| Android / Android TV | Beta — request access |
| LG webOS TV | Community client (sideloaded .ipk) |
| Anything else (browser, old phone, TV) | Moonlight |
Linux desktop (Flatpak)
The recommended path on any Flatpak distro — install once, then flatpak update tracks new
builds. One command adds the signed unom remote, pulls the GNOME runtime from Flathub
automatically, and installs the client:
flatpak install --user https://flatpak.unom.io/io.unom.Punktfunk.flatpakref
flatpak run io.unom.Punktfunk
Updates, from then on — without sudo (this is a --user install; sudo flatpak update only
touches the system scope and silently skips it):
flatpak update # or: flatpak update --user io.unom.Punktfunk
Prefer your native package manager? The client also ships as real packages (add the repo once —
see the linked guide — then it tracks updates with your normal apt upgrade / rpm-ostree upgrade):
| Distro | Install | Guide |
|---|---|---|
| Ubuntu / Debian | sudo apt install punktfunk-client |
packaging/debian |
| Fedora / Bazzite | rpm-ostree install punktfunk-client |
packaging/rpm |
| Arch | sudo pacman -Sy punktfunk-client (signed binary repo) |
Arch Linux |
Then launch it, pick your host from the list, and stream. For scripting, skip the picker:
punktfunk-client --connect <host>:9777
Steam Deck
Most Deck users want Gaming Mode: install the Decky plugin and a punktfunk panel lands in the Quick Access Menu, so you can discover hosts, pair with a PIN, and stream without dropping to the desktop. Follow the Steam Deck (Decky) guide — it walks through Decky Loader, the plugin, and the one-time client install.
The plugin doesn't decode video itself — it launches the Flatpak client below. The Decky guide covers installing both, so start there: a Flatpak on its own won't add the Gaming Mode panel.
For Desktop Mode (or to add the client to Game Mode as a non-Steam app yourself), install the Flatpak exactly as above — it carries its own libadwaita + SDL3 and survives SteamOS updates:
flatpak install --user https://flatpak.unom.io/io.unom.Punktfunk.flatpakref
See packaging/flatpak.
Windows
The Windows client ships as a signed MSIX in the package registry. Builds use a self-signed certificate, so you import that certificate once before Windows will install the package.
-
Open the packages page (generic group), find
punktfunk-client-windows, and download the newest.msixand its matching.cerfor your CPU — the artifacts are arch-suffixed (…_x64.msix/…_arm64.msix). -
Trust the publisher certificate, then install. The MSIX won't install until the certificate is trusted — but it's the same certificate for every release, so this is genuinely one-time and later updates need nothing. In an admin PowerShell:
# use the _arm64 files instead on an Arm device Import-Certificate -FilePath .\punktfunk-client-windows_x64.cer ` -CertStoreLocation Cert:\LocalMachine\TrustedPeople Add-AppxPackage .\punktfunk-client-windows_x64.msixIf Windows reports a missing dependency, install the Windows App Runtime 2.x (the MSIX depends on
Microsoft.WindowsAppRuntime.2), then re-runAdd-AppxPackage. -
Launch Punktfunk from the Start menu and pick your host.
The Windows client's hardware decode is validated on NVIDIA and Intel GPUs; its HDR path is complete but still pending on-glass validation. If anything misbehaves, Moonlight is a solid alternative for Windows.
macOS
Download the notarized disk image from the releases page
— Punktfunk-<version>.dmg. It's Developer-ID signed, notarized, and stapled, so Gatekeeper opens
it without warnings:
- Open
Punktfunk-<version>.dmgand drag Punktfunk to Applications. - Launch it, pick your host from On this network, and pair.
The Mac app is also in the TestFlight beta; the DMG is the no-account path.
iOS, iPadOS, Apple TV
The Apple app is in TestFlight beta — one universal build covers iPhone, iPad, Apple TV, and the Mac. Install Apple's TestFlight app, then join:
Join the punktfunk beta on TestFlight →
Open the app, and your hosts appear automatically under On this network.
Android
The Android client (phone + Android TV) is in Google Play Internal Testing. To try it, request a tester invite on our Discord and we'll add your Google account to the test track:
Once you're added, install it from Google Play, then open the app and pick your host:
Get punktfunk on Google Play → (only resolves once your account is on the tester list)
LG webOS TV (community)
Community project.
pf-webosis built and maintained by dyptan-io, not the punktfunk team — file issues and bugs on its own repo.
LG's webOS doesn't allow apps outside the LG Content Store without sideloading, so install needs Developer Mode and the Homebrew Channel once:
- Enable Developer Mode on the TV and install the Homebrew Channel — follow its install guide if you haven't done this before.
- Grab the latest
.ipkfrom the pf-webos releases page. - Install it: either sideload with
ares-install/ the project'stask deploy TV_HOST=root@<tv-ip>(see the repo's README), or side-copy the.ipkonto the TV and install it from the Homebrew Channel's app. - Launch Punktfunk from the TV's launcher, discover your host over LAN (or add it by IP), and pair with a PIN.
Anything else — Moonlight
Any device with a Moonlight client (browser, old phone, smart TV) connects over GameStream with no punktfunk-specific software. See Connect with Moonlight.