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
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>
59 lines
2.0 KiB
Markdown
59 lines
2.0 KiB
Markdown
---
|
||
title: Ubuntu — KDE Plasma
|
||
description: Set up a punktfunk host on Ubuntu with KDE Plasma (KWin).
|
||
---
|
||
|
||
Set up a punktfunk host on **Ubuntu** running **KDE Plasma**. The host uses KDE's KWin compositor to
|
||
create a per-client virtual display. Needs **KWin 6.5.6 or newer**.
|
||
|
||
> New to this? Skim [Requirements](/docs/requirements) first.
|
||
|
||
## NVIDIA driver, dependencies, and build
|
||
|
||
These steps are identical to the GNOME guide — follow **steps 1–3** of
|
||
[Ubuntu — GNOME](/docs/ubuntu-gnome#1-nvidia-driver):
|
||
|
||
1. Install the NVIDIA driver **and** the `libnvidia-gl-<version>` userspace; enable `nvidia-drm
|
||
modeset=1`; reboot and verify with `nvidia-smi`.
|
||
2. Install the build toolchain and runtime libraries (the same `apt` line).
|
||
3. Clone and `cargo build --release -p punktfunk-host`.
|
||
|
||
## Configure
|
||
|
||
The host reads `~/.config/punktfunk/host.env`. For KDE Plasma:
|
||
|
||
```sh
|
||
mkdir -p ~/.config/punktfunk
|
||
cat > ~/.config/punktfunk/host.env <<'ENV'
|
||
WAYLAND_DISPLAY=wayland-0
|
||
XDG_CURRENT_DESKTOP=KDE
|
||
PUNKTFUNK_COMPOSITOR=kwin
|
||
PUNKTFUNK_VIDEO_SOURCE=virtual
|
||
PUNKTFUNK_ZEROCOPY=1
|
||
PUNKTFUNK_INPUT_BACKEND=libei
|
||
ENV
|
||
```
|
||
|
||
> Make sure you're on a **KDE Wayland** session (not X11) — the picker on the login screen. The
|
||
> virtual-display path is Wayland-only. See the [Configuration reference](/docs/configuration) for
|
||
> every option.
|
||
|
||
## Run
|
||
|
||
From a terminal **inside your Plasma session**:
|
||
|
||
```sh
|
||
cargo run --release -p punktfunk-host -- serve --native
|
||
```
|
||
|
||
The host starts listening and advertises itself on the network. Now [connect a client](/docs/clients).
|
||
|
||
To run it at boot — including fully **headless**, with KWin brought up automatically and no login —
|
||
see [Running as a Service](/docs/running-as-a-service); the headless appliance is built around KDE.
|
||
|
||
## Troubleshooting
|
||
|
||
- **KWin too old:** virtual outputs need KWin **≥ 6.5.6**. Check with `kwin_wayland --version`.
|
||
- **No picture / capture fails:** confirm you're on a Wayland session and the NVIDIA GL userspace is
|
||
installed (`libnvidia-gl-<version>`). More in [Troubleshooting](/docs/troubleshooting).
|