Skip to content

punktfunk-client

Version 2026.242.1635
Repo box/github.com/opencharly/layer-punktfunk-client:v2026.243.1116

The punktfunk streaming client: the punktfunk-client package and the headless punktfunk CLI it ships, installed from unom’s signed pacman repo on Arch/CachyOS.

Sibling of the punktfunk host candy, and deliberately the other half of it. The host candy proves punktfunk installs and answers; this one exists so a second system can actually pair with a host and pull a stream — the thing no single-node bed can demonstrate.

Item Value
Package punktfunk-client
Repo [punktfunk] in /etc/pacman.conf, SigLevel = Required DatabaseOptional
Key fetched + pacman-key --lsign-key’d; fingerprint E0CA04465C99C936E0B0C6510A317015A34DDD69
CLI punktfunk — the headless client, driven by /charly-check:punktfunk’s client methods
Distros Arch and CachyOS — one distro.arch: section; the cachyos base declares distro: [cachyos, arch]

The repo and key are byte-identical to the host candy’s on purpose: that half is already proven by the host beds, so anything that breaks here is the package, not the repo plumbing.

punktfunk is the control CLI; punktfunk-client is the renderer

Section titled “punktfunk is the control CLI; punktfunk-client is the renderer”

The package ships three binaries, and they are not interchangeable:

Binary Links Role
punktfunk libgcc, libm, libc — nothing else control CLI
punktfunk-client 137 objects: libvulkan, libwayland-*, libdrm, libgbm the decoder
punktfunk-session session host

Everything that only talks to a host — pair, hosts list, library, reachable, wake — runs on the control binary and needs no display. But launch and open spawn the renderer, which is a Wayland client and needs both a compositor in the venue and a hardware Vulkan ICD. A venue that only ever pairs can stay a plain container; a venue that must pull a stream cannot.

This is worth stating explicitly because the failure is silent in a misleading way: with no decoder reachable the client advertises codec 0x00, the host answers no shared video codec: client advertised 0x00, host can emit 0x01, and the message reads like a host or driver defect. It is neither — it is the client accurately reporting that it has nothing to decode with.

punktfunk-client installs the headless punktfunk binary documented at https://docs.punktfunk.unom.io/docs/clients: hosts list --probe, pair, launch, library --json, speed-test, open --yes, wake, reachable, profiles list, reset. Drive it through the punktfunk: verb’s client methods rather than a command: step — the verb maps the CLI’s documented exit codes (2 connection failed, 3 trust rejected, 4 renderer failed, 5 no match, 6 interactive required) to distinct verdicts, and keeps a pairing PIN on stdin instead of argv.

  • /charly-check:punktfunk — the verb, including the client methods
  • /charly-image:layer — candy authoring (the distro: cascade)

This candy’s plan: — the runnable spec charly check executes against a live deployment. check: steps are idempotent probes; run: steps change state.

Intent Step
check the headless punktfunk client CLI is installed
check the punktfunk-client package is recorded in the package database
check the punktfunk repo stanza is present in pacman.conf
check the punktfunk release key is imported AND locally signed in the pacman keyring
check the client CLI answers, so the venue can drive a host
check the renderer binary is installed, not just the control CLI
check the renderer links a Vulkan loader, so it can reach a decoder
check at least one hardware Vulkan ICD is installed
check the venue’s Vulkan stack advertises H.264 decode