Files
punktfunk/docs-site/content/docs/install-client.md
T
enricobuehler 7f639f7cf5
apple / swift (push) Successful in 1m16s
apple / screenshots (push) Successful in 6m29s
ci / web (push) Successful in 1m11s
ci / docs-site (push) Successful in 56s
android / android (push) Successful in 13m53s
arch / build-publish (push) Successful in 12m20s
decky / build-publish (push) Successful in 19s
ci / bench (push) Successful in 5m50s
docker / build-push (--build-arg FEDORA_VERSION=44, ci, ci/fedora-rpm.Dockerfile, punktfunk-fedora44-rpm) (push) Successful in 10s
docker / build-push (ci, ci/fedora-rpm.Dockerfile, punktfunk-fedora-rpm) (push) Successful in 9s
docker / build-push (., web/Dockerfile, punktfunk-web) (push) Successful in 34s
docker / build-push (docs-site, docs-site/Dockerfile, punktfunk-docs) (push) Successful in 59s
docker / build-push (ci, ci/rust-ci.Dockerfile, punktfunk-rust-ci) (push) Successful in 5m45s
docker / deploy-docs (push) Successful in 29s
deb / build-publish (push) Successful in 11m25s
ci / rust (push) Successful in 24m23s
rpm / build-publish (43, bazzite, punktfunk-fedora-rpm) (push) Successful in 18m16s
rpm / build-publish (44, fedora-44, punktfunk-fedora44-rpm) (push) Successful in 18m8s
docs: link every client in the clients-page chooser + correctness sweep
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>
2026-07-18 09:50:29 +02:00

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.Z releases). For the latest main build, use the canary channel — TestFlight / Play Internal, the …Canary.flatpakref, or the canary/ 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.

  1. Open the packages page (generic group), find punktfunk-client-windows, and download the newest .msix and its matching .cer for your CPU — the artifacts are arch-suffixed (…_x64.msix / …_arm64.msix).

  2. 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.msix
    

    If Windows reports a missing dependency, install the Windows App Runtime 2.x (the MSIX depends on Microsoft.WindowsAppRuntime.2), then re-run Add-AppxPackage.

  3. 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 pagePunktfunk-<version>.dmg. It's Developer-ID signed, notarized, and stapled, so Gatekeeper opens it without warnings:

  1. Open Punktfunk-<version>.dmg and drag Punktfunk to Applications.
  2. 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:

Request access on Discord →

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-webos is 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:

  1. Enable Developer Mode on the TV and install the Homebrew Channel — follow its install guide if you haven't done this before.
  2. Grab the latest .ipk from the pf-webos releases page.
  3. Install it: either sideload with ares-install / the project's task deploy TV_HOST=root@<tv-ip> (see the repo's README), or side-copy the .ipk onto the TV and install it from the Homebrew Channel's app.
  4. 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.