punktfunk

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:

SetupDesktop / compositorGuide
Ubuntu (Desktop or Server)GNOME (Mutter)Ubuntu — GNOME
Ubuntu (Desktop or Server)KDE Plasma (KWin)Ubuntu — KDE
FedoraKDE Plasma (KWin)Fedora — KDE
Bazzitegamescope (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.

On this page