Files
punktfunk/docs-site/content/docs/install.md
T
enricobuehler 69fcb6e0b1
apple / swift (push) Successful in 1m8s
apple / screenshots (push) Successful in 5m33s
android / android (push) Successful in 4m43s
arch / build-publish (push) Successful in 5m38s
ci / web (push) Successful in 1m3s
ci / docs-site (push) Successful in 1m17s
ci / rust (push) Successful in 4m48s
ci / bench (push) Successful in 5m7s
decky / build-publish (push) Successful in 14s
docker / build-push (--build-arg FEDORA_VERSION=44, ci, ci/fedora-rpm.Dockerfile, punktfunk-fedora44-rpm) (push) Successful in 5s
docker / build-push (., web/Dockerfile, punktfunk-web) (push) Successful in 5s
docker / build-push (ci, ci/fedora-rpm.Dockerfile, punktfunk-fedora-rpm) (push) Successful in 3s
docker / build-push (ci, ci/rust-ci.Dockerfile, punktfunk-rust-ci) (push) Successful in 4s
deb / build-publish (push) Successful in 4m29s
docker / build-push (docs-site, docs-site/Dockerfile, punktfunk-docs) (push) Successful in 1m16s
rpm / build-publish (43, bazzite, punktfunk-fedora-rpm) (push) Successful in 10m24s
docker / deploy-docs (push) Successful in 6s
rpm / build-publish (44, fedora-44, punktfunk-fedora44-rpm) (push) Successful in 10m3s
docs: restructure host setup by distro, configuration by compositor
Split the docs' single distro×desktop axis (ubuntu-gnome / ubuntu-kde / fedora-kde) into two,
which deduplicates the shared mechanics and scales to distros that run several desktops (Arch):

- Install the host — per distro/OS (ubuntu, fedora, arch, bazzite, steamos-host, windows-host):
  GPU driver + package + input group, then a canonical "Configure your desktop" funnel.
- Configure your desktop — per compositor (kde, gnome, gamescope, sway): host.env, compositor
  quirks, the headless session, and starting the host.

New shared web-console page (enable · login password · arm pairing) removes the console/password
block that was copy-pasted across all seven host pages. Merged ubuntu-gnome + ubuntu-kde into
ubuntu; renamed fedora-kde to fedora; kept bazzite and steamos-host as dedicated appliance guides
(trimmed of duplication). Moved the KWin headless session, the GNOME EGL/lock traps, and the
gamescope attach/managed model out of the distro pages onto their compositor pages.

Fixed while restructuring: distro-specific paths on kde (kde-desktop-setup.sh is Fedora/Bazzite-only;
the .deb ships host.env.kde under /usr/share/punktfunk-host), the interactive "start the host" step
that was lost in the merge, sway over-claiming Hyprland, and a pre-existing broken anchor in
how-it-works.

Removal of the three old pages was captured by the preceding commit 8ebb614 (a concurrent commit
swept up the staged git-rm); the net docs tree is correct. Fumadocs build + internal link/anchor
check green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 21:04:31 +00:00

5.7 KiB

title, description
title description
Install the Host Install the punktfunk host — on Linux from its package registry, or on Windows from a signed installer.

On Linux, the package registries are the real distribution channel. Pick your distro, add the repo, and install with your native package manager. Each row links to the full per-distro guide (add the repo, first-run steps, the web console) — those are the source of truth, so this page doesn't duplicate them. On Windows, the host ships as a signed installer instead — see Windows.

First, read Security & Safe Use. A streaming host is remote control of the machine. It's built for trusted local networks — don't expose it to the internet, and be thoughtful about which machine you host on (especially on Windows).

Pick your distro

Distro Package manager One-command happy path Guide
Ubuntu / Debian apt sudo apt install punktfunk-host Ubuntu / Debian · packaging/debian
Bazzite / Fedora Atomic systemd-sysext sudo bash punktfunk-sysext.sh install (no layering, no reboot) Bazzite · packaging/bazzite
Fedora (dnf) dnf / rpm-ostree dnf install punktfunk punktfunk-web Fedora · packaging/rpm
Arch pacman pacman -Sy punktfunk-host (binary repo) Arch Linux · packaging/arch
SteamOS (host) on-device script bash scripts/steamdeck/install.sh SteamOS (Host)

Each registry is public — no auth, you just trust the repo's signing key. Adding the repo is a one-time step covered in the linked guide; after that, normal apt upgrade / dnf upgrade / pacman -Syu (or sudo punktfunk-sysext update on Bazzite) tracks new builds.

Stable vs canary. The repos in the per-distro guides are the stable channel — it only moves when a vX.Y.Z release is cut. For the latest main build (fast, possibly broken), point at the canary channel instead (canary apt distribution / *-canary rpm group). See Release Channels.

Windows

punktfunk also runs as a native host on Windows 11 22H2+ (x64), shipped as a signed installer — see Windows Host for what it includes and its limitations.

  1. From the packages page (generic group), download the newest punktfunk-host-setup-<ver>.exe and its matching .cer.

  2. Trust the publisher certificate once. The installer is signed with a self-signed certificate whose public .cer is published next to it — the same certificate for every release, so this is genuinely one-time and later updates need nothing. In an admin PowerShell:

    Import-Certificate -FilePath .\punktfunk-host-setup.cer `
      -CertStoreLocation Cert:\LocalMachine\TrustedPublisher
    
  3. Run punktfunk-host-setup-<ver>.exe (elevated). It installs to C:\Program Files\punktfunk, installs the bundled pf-vdisplay virtual-display driver, and registers + starts the LocalSystem service (/VERYSILENT for an unattended install). Upgrades and uninstall go through Add/Remove Programs.

For hardware encode you need a GPU — NVIDIA (NVENC), AMD (AMF), or Intel (QSV); there's a software fallback without one. More detail — including the CLI punktfunk-host service install path — is in Running as a Service → Windows.

What the packages are

  • punktfunk-host — the streaming host. Install this on your Linux gaming machine.
  • punktfunk-web — the browser management console (pairing + status). Recommended alongside the host; on RPM list it explicitly (dnf install punktfunk punktfunk-web) — the Bazzite sysext image already includes it.
  • punktfunk-client — the GTK4 desktop client, for streaming to a Linux box (also shipped via apt / RPM / Arch / Flatpak). On a Steam Deck, this is the package you want.

After installing

  1. Add yourself to the input group (virtual gamepads need /dev/uinput), then re-login. The exact command differs per distro — see your guide (usermod -aG input "$USER", or ujust add-user-to-input-group on Bazzite).

  2. Start the host inside your desktop session:

    punktfunk-host serve
    

    Bare serve is the secure native-only default (native punktfunk/1 + the web console). On a trusted LAN, add --gamestream to also serve stock Moonlight clients.

  3. Enable the web console:

    systemctl --user enable --now punktfunk-web
    

    Then open http://<host-ip>:47992. Reading its login password and arming PIN pairing are covered in The Web Console.

Configure your desktop

How the virtual display and input work depends on your desktop — see KDE, GNOME, Steam / gamescope, or Sway for the compositor-specific setup.

From there, follow the Quick Start to pair your first client. To run the host automatically at boot, see Running as a Service.

Building from source

If no package exists for your platform, you can build from source — see the repository README. Source builds are a fallback; the registries are the supported path.