Files
enricobuehler 91d5874e94
ci / web (push) Failing after 47s
ci / rust (push) Successful in 54s
docker / build-push (., web/Dockerfile, punktfunk-web) (push) Successful in 4s
docker / build-push (ci, ci/rust-ci.Dockerfile, punktfunk-rust-ci) (push) Successful in 3s
docker / build-push (docs-site, docs-site/Dockerfile, punktfunk-docs) (push) Successful in 17s
ci / docs-site (push) Failing after 37s
docker / deploy-docs (push) Successful in 17s
apple / swift (push) Successful in 1m19s
docs: user-facing docs revamp — structured product docs + per-platform setup
Replace the dev/agent-log pages with a proper user-facing doc set:

- Getting Started: Introduction (rewritten), How It Works, Quick Start.
- Host Setup: Requirements, then clean per-platform guides — Ubuntu GNOME,
  Ubuntu KDE, Fedora KDE (new), Bazzite (rewritten) — plus Running as a Service
  (desktop / headless GNOME / headless KDE).
- Connecting: Clients overview, Moonlight, Pairing & Trust.
- Configuration: host.env reference, Host CLI, Troubleshooting.
- The dev/design notes (architecture, roadmap, the deferred design specs, CI)
  move to a clearly-separated "Project & Internals" nav section.

Removes the superseded box-specific pages (gnome-box, headless-box, linux-setup,
overview). status.md (the internal progress tracker, with box IPs) is kept as a
file but dropped from the public nav. Site builds clean.

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

2.8 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 on a Linux machine with an NVIDIA GPU. These are the desktop environments it supports today, each with its own guide:

Setup Desktop / compositor Guide
Ubuntu (Desktop or Server) GNOME (Mutter) Ubuntu — GNOME
Ubuntu (Desktop or Server) KDE Plasma (KWin) Ubuntu — KDE
Fedora KDE Plasma (KWin) Fedora — KDE
Bazzite gamescope (Steam) Bazzite

Other wlroots compositors (Sway/Hyprland) also work but aren't a primary target. If your desktop isn't listed, the host still needs one of these compositor backends to create a virtual display.

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 setup 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 setup guides cover this.

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.
  • 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. The Apple app and any Moonlight client both work; both can discover the host on your network automatically.