Files
punktfunk/docs-site/content/docs/requirements.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

4.5 KiB

title, description
title description
Requirements What you need to run a punktfunk host — GPU, driver, desktop, and network.

Supported setups

A punktfunk host runs primarily on a Linux machine with a dedicated GPU — NVIDIA (NVENC) is the most-exercised path, and AMD/Intel GPUs work via VAAPI. A native Windows host is also available. Setup splits along two axes: you install the package per distro, then configure the host — and learn its quirks — per desktop/compositor.

New here? Read Security & Safe Use first — a streaming host is remote control of the machine, so keep it on a trusted LAN or VPN and require pairing.

Distros — install the package:

Desktops — configure and quirks:

Pick your distro to install, then your desktop to configure — the two are independent. The host needs one of these compositor backends to create a virtual display.

Windows host: punktfunk also runs as a native host on Windows 11 22H2 or newer (x64) — a signed installer that registers a service and bundles a virtual-display driver whose driver framework (IddCx 1.10) makes 22H2 the hard floor — Windows 10 is not supported. It encodes on NVIDIA (NVENC), AMD (AMF), or Intel (QSV), with a software fallback, and is newer than the Linux host; see Windows Host.

GPU and driver

  • An NVIDIA GPU with NVENC — effectively any GeForce RTX or workstation card. NVENC is what encodes the video in hardware.
  • NVIDIA driver 535 or newer (550+ recommended). The driver must include the GL/EGL userspace, not just nvidia-utils — without it the compositor can't initialise the GPU and capture fails. Each install guide installs the right package (e.g. libnvidia-gl-<version> on Ubuntu).
  • nvidia-drm modeset=1 must be enabled (Wayland on NVIDIA needs it). The install guides cover this.
  • AMD / Intel GPUs encode via VAAPI instead (install mesa-va-drivers or intel-media-driver; validated live on AMD RDNA3). The NVIDIA-specific notes above don't apply there. On modern Intel (Gen12/Tiger Lake and newer, including Arc) the driver only offers the low-power (VDEnc) encode entrypoint — the host detects this and falls back automatically (PUNKTFUNK_VAAPI_LOW_POWER=1|0 pins it) — and low-power encode needs the HuC firmware loaded (the kernel default on those platforms; check dmesg | grep -i huc if encoding fails). A GPU-less software H.264 encoder also exists (PUNKTFUNK_ENCODER=software), meant as a fallback rather than a daily driver.

Consumer GeForce cards historically cap the number of concurrent NVENC sessions (a few at once); workstation cards don't. This only matters if you stream to many devices simultaneously.

Desktop session

The host attaches to a Wayland desktop session and creates virtual displays in it, so a session needs to be running for the user the host runs as. This can be:

  • a normal logged-in desktop (you're sitting at the machine, or it auto-logs-in), or
  • a headless session that comes up at boot with no monitor or login — see Running as a Service.

Minimum compositor versions (newer is fine):

  • KWin ≥ 6.5.6 (KDE Plasma) — headless virtual outputs.
  • GNOME ≥ 48 (Mutter) — virtual-monitor screen-cast.
  • gamescope ≥ 3.16.22 (Bazzite/Steam) — older versions deadlock during capture.

Network

  • Host and client on the same network — a LAN, or a VPN that puts them on one subnet. punktfunk assumes a trusted local network; it's not built to be exposed to the public internet — don't port-forward it. To stream from outside your home, use a VPN so the remote client is on the same private subnet.
  • For best results, a wired or fast Wi-Fi link. The host can run a built-in speed test to pick a bitrate for your link (see Configuration).

A client

You also need something to stream to — see Connect a Client. There are native punktfunk clients for Apple (macOS, iOS, iPadOS, tvOS), Linux, Windows, and Android, and any Moonlight client works too. All of them can discover the host on your network automatically.