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

2.8 KiB

title, description
title description
Quick Start From nothing to streaming — set up a host and connect your first client.

This is the shortest path to a working stream. Each step links to the details.

A streaming host is remote control of the machine, so it's built for trusted local networks — keep it on your LAN or a VPN and don't expose it to the internet. Two minutes on Security & Safe Use before you start is worth it.

1. Set up the host

On your gaming machine (NVIDIA, AMD, or Intel GPU), follow the install guide for your system:

Each one covers the GPU driver, the dependencies, and how to install and run the host. After installing, configure for your desktop (KDE / GNOME / gamescope / Sway). Check the Requirements first if you're not sure your machine is a fit.

2. Start the host

From a terminal inside your desktop session (so the host can reach your compositor):

punktfunk-host serve

This is the secure native-only default — the native punktfunk/1 plane plus the web console. To also serve stock Moonlight clients, add --gamestream (trusted-LAN only; see Moonlight). The host starts listening and prints its identity fingerprint. It advertises itself on your local network, so clients can find it by name. Leave it running. (To start it automatically at boot, see Running as a Service.)

3. Connect and pair a client

On the device you want to stream to, use a native punktfunk client for the lowest latency, or any Moonlight client:

  • Native client (Apple, Linux, Windows, Android): open the punktfunk app — your host appears in the list of hosts found on your network. Select it, and when prompted, pair.
  • Anything with Moonlight: add the host (it should be discovered automatically), then pair.

To pair, the host needs to show a PIN. Arm pairing from the host's web console — the host displays a 4-digit PIN, you type it into the client, and they trust each other from then on. Pairing is required by default. Full details: Pairing & Trust.

4. Stream

Once paired, select the host and start streaming. The host creates a virtual display at your device's resolution and refresh, and the picture comes up. Mouse, keyboard, and controllers flow back to the host.

Next steps