Files
punktfunk/docs-site/content/docs/install.md
T
enricobuehler 63bc2bb10f
ci / docs-site (push) Successful in 48s
ci / web (push) Successful in 53s
docker / build-push (--build-arg FEDORA_VERSION=44, ci, ci/fedora-rpm.Dockerfile, punktfunk-fedora44-rpm) (push) Successful in 10s
decky / build-publish (push) Successful in 17s
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 14s
docker / build-push (ci, ci/rust-ci.Dockerfile, punktfunk-rust-ci) (push) Successful in 7s
docker / build-push (docs-site, docs-site/Dockerfile, punktfunk-docs) (push) Successful in 52s
arch / build-publish (push) Has been cancelled
ci / bench (push) Has been cancelled
ci / rust (push) Has been cancelled
deb / build-publish (push) Has been cancelled
android / android (push) Has been cancelled
apple / swift (push) Has been cancelled
apple / screenshots (push) Has been cancelled
docker / deploy-docs (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
windows-host / package (push) Has been cancelled
docs(web-console): fix stale http:// URLs — the console serves HTTPS on :47992
The punktfunk-web unit serves HTTP/1.1 over TLS with the host's own
self-signed identity cert, but several guides still told users to open
http://<host>:47992, which fails. Correct the scheme everywhere and note
the one-time browser cert warning in the canonical + SteamOS docs.

The RPM %post web hint was doubly wrong (http://<host-ip>:3000): wrong
scheme and wrong port — the service listens on :47992, not the :3000 dev
default. Also fixes scripts/web-init.sh, so the URL the SteamOS/Linux
installer prints at the end of setup is correct too.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 12:14:52 +02:00

5.8 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 https://<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.