# punktfunk host config for a Fedora/Ubuntu KDE Plasma appliance (kwin backend). # Copy to ~/.config/punktfunk/host.env. Pairs with punktfunk-kde-session.service, which brings # up a headless `kwin --virtual` on wayland-kde (with KWIN_WAYLAND_NO_PERMISSION_CHECKS=1 so the # host can bind KWin's privileged zkde_screencast protocol — an interactive Plasma session will # NOT hand that protocol to an external client). The host streams a per-client virtual output # from that session, captured zero-copy (dmabuf -> CUDA -> NVENC) on NVIDIA. WAYLAND_DISPLAY=wayland-kde XDG_CURRENT_DESKTOP=KDE PUNKTFUNK_COMPOSITOR=kwin PUNKTFUNK_VIDEO_SOURCE=virtual PUNKTFUNK_ZEROCOPY=1 PUNKTFUNK_INPUT_BACKEND=libei # UDP Generic Segmentation Offload on the send path: coalesce a frame's equal-size packets into # kernel super-buffers (one sendmsg per ~64 packets instead of one per packet) — the dominant # lever above ~1 Gbps, where per-packet send syscalls/pps become the host bottleneck. Safe: it # auto-falls back to sendmmsg on any kernel/path that rejects UDP_SEGMENT. Set PUNKTFUNK_GSO=0 to # force it off if a NIC/middlebox mishandles GSO segments. PUNKTFUNK_GSO=1 # Make the per-session streamed output the SOLE desktop, so plasmashell + windows render on it # rather than on the headless session's `kwin --virtual` bootstrap output (without this the client # sees only the wallpaper of an empty extended output). KWin re-homes the desktop; the bootstrap is # re-enabled on teardown. PUNKTFUNK_KWIN_VIRTUAL_PRIMARY=1