The config page missed the whole 0.25 env-var wave — jumbo frames and ten other knobs documented #114

Merged
enricobuehler merged 1 commits from worktree-docs-config-page-0250-vars into main 2026-08-08 10:37:17 +00:00
Owner

A user asking how to try jumbo packets found nothing in the docs — and the gap turned out to be the entire v0.25.0 environment-variable wave, not one row. This audits docs-site/content/docs/configuration.md against every PUNKTFUNK_* read site in the code, both directions, and brings it current.

Added

Network & discovery — jumbo frames (the trigger)

  • PUNKTFUNK_JUMBO=1 and PUNKTFUNK_WIRE_MTU, plus a note covering what users actually trip over: sessions still start at standard packet size and only grow mid-session after an ack-gated path proof; NIC/switch/client MTU must be raised to 9000 outside Punktfunk first; both ends need 0.25+; Moonlight sessions are excluded; and WIRE_MTU below 1500 is the shrink escape hatch for VPN/tunnel paths.

Audio / microphone

  • PUNKTFUNK_AUDIO_QUALITY (low/standard/high tiers), PUNKTFUNK_AUDIO_REDUNDANCY (automatic by default), PUNKTFUNK_AUDIO_OUTPUT_MODE — the legacy PUNKTFUNK_HOST_AUDIO/PUNKTFUNK_KEEP_DEFAULT rows are folded into the new row as the aliases they now are (follow_default wins when both are set)
  • PUNKTFUNK_NO_AUDIO_MINT (Windows minted-endpoint opt-out)

Gamepads

  • PUNKTFUNK_PAD_AUDIO / PUNKTFUNK_PAD_AUDIO_SLOTS (DualSense speaker + voice-coil haptics)

Advanced performance tuning

  • PUNKTFUNK_NVENC_SPLIT_ARBITRATE (opt-in live split-encode arbitration)

Auth, API & paths

  • PUNKTFUNK_UI_PLUGIN_PORT (the plugin-UI origin), PUNKTFUNK_LIBRARY_ART_ROOTS (;-separated art roots)

Client-side table

  • PUNKTFUNK_VAAPI_DEVICE (pin the render node the native-vaapi decoder opens)

Verification

  • Row wording comes from the actual read sites (pf-host-config, wire_mtu.rs, config.rs::jumbo_wire_mtu, pad_audio.rs, minted.rs, art.rs, web/nitro-entry/bun-https.mjs), not the CHANGELOG one-liners — including the shard_payload_for_udp_budget clamp that makes WIRE_MTU=9000 still start sessions at standard size.
  • Reverse direction checked: nothing on the page documents a variable the code no longer reads (the one dead var, PUNKTFUNK_SECURE_DDA, the page already flags as dead deliberately).
  • The edited page compiles clean through MDX with GFM tables using the site's own dependencies.
A user asking how to try jumbo packets found nothing in the docs — and the gap turned out to be the entire v0.25.0 environment-variable wave, not one row. This audits `docs-site/content/docs/configuration.md` against every `PUNKTFUNK_*` read site in the code, both directions, and brings it current. ## Added **Network & discovery — jumbo frames** (the trigger) - `PUNKTFUNK_JUMBO=1` and `PUNKTFUNK_WIRE_MTU`, plus a note covering what users actually trip over: sessions still *start* at standard packet size and only grow mid-session after an ack-gated path proof; NIC/switch/client MTU must be raised to 9000 outside Punktfunk first; both ends need 0.25+; Moonlight sessions are excluded; and `WIRE_MTU` below 1500 is the *shrink* escape hatch for VPN/tunnel paths. **Audio / microphone** - `PUNKTFUNK_AUDIO_QUALITY` (`low`/`standard`/`high` tiers), `PUNKTFUNK_AUDIO_REDUNDANCY` (automatic by default), `PUNKTFUNK_AUDIO_OUTPUT_MODE` — the legacy `PUNKTFUNK_HOST_AUDIO`/`PUNKTFUNK_KEEP_DEFAULT` rows are folded into the new row as the aliases they now are (`follow_default` wins when both are set) - `PUNKTFUNK_NO_AUDIO_MINT` (Windows minted-endpoint opt-out) **Gamepads** - `PUNKTFUNK_PAD_AUDIO` / `PUNKTFUNK_PAD_AUDIO_SLOTS` (DualSense speaker + voice-coil haptics) **Advanced performance tuning** - `PUNKTFUNK_NVENC_SPLIT_ARBITRATE` (opt-in live split-encode arbitration) **Auth, API & paths** - `PUNKTFUNK_UI_PLUGIN_PORT` (the plugin-UI origin), `PUNKTFUNK_LIBRARY_ART_ROOTS` (`;`-separated art roots) **Client-side table** - `PUNKTFUNK_VAAPI_DEVICE` (pin the render node the `native-vaapi` decoder opens) ## Verification - Row wording comes from the actual read sites (`pf-host-config`, `wire_mtu.rs`, `config.rs::jumbo_wire_mtu`, `pad_audio.rs`, `minted.rs`, `art.rs`, `web/nitro-entry/bun-https.mjs`), not the CHANGELOG one-liners — including the `shard_payload_for_udp_budget` clamp that makes `WIRE_MTU=9000` still start sessions at standard size. - Reverse direction checked: nothing on the page documents a variable the code no longer reads (the one dead var, `PUNKTFUNK_SECURE_DDA`, the page already flags as dead deliberately). - The edited page compiles clean through MDX with GFM tables using the site's own dependencies.
enricobuehler added 1 commit 2026-08-08 10:35:38 +00:00
docs(site): configuration page catches up to 0.25 — jumbo frames and seven other missing knobs
ci / web (pull_request) Successful in 1m8s
ci / rust-arm64 (pull_request) Successful in 2m27s
ci / bun-nix (pull_request) Successful in 21s
ci / docs-site (pull_request) Successful in 1m17s
ci / rust (pull_request) Successful in 8m15s
44c87d7ac1
The env-var reference had fallen behind the v0.25.0 CHANGELOG table. Added, with
the semantics taken from the code rather than the changelog one-liners:

- PUNKTFUNK_JUMBO / PUNKTFUNK_WIRE_MTU (Network & discovery), with a note
  explaining the ack-gated mid-session grow, the start-at-1500 behavior, the
  NIC/switch prerequisites, and the sub-1500 shrink direction of WIRE_MTU
- PUNKTFUNK_AUDIO_QUALITY / AUDIO_REDUNDANCY / AUDIO_OUTPUT_MODE — the legacy
  HOST_AUDIO / KEEP_DEFAULT rows are folded into the OUTPUT_MODE row as the
  aliases they now are (follow_default wins when both are set)
- PUNKTFUNK_NO_AUDIO_MINT (Windows minted-endpoint opt-out)
- PUNKTFUNK_PAD_AUDIO / PAD_AUDIO_SLOTS (Gamepads — DualSense speaker+haptics)
- PUNKTFUNK_NVENC_SPLIT_ARBITRATE (Advanced performance tuning)
- PUNKTFUNK_UI_PLUGIN_PORT / PUNKTFUNK_LIBRARY_ART_ROOTS (Auth, API & paths)
- PUNKTFUNK_VAAPI_DEVICE (client-side table)

Verified against the actual read sites (pf-host-config, wire_mtu.rs,
config.rs jumbo_wire_mtu, pad_audio.rs, minted.rs, art.rs, bun-https.mjs);
the page's remaining vars all still exist in code. MDX-compiles clean with GFM.
enricobuehler merged commit 690ff7016b into main 2026-08-08 10:37:17 +00:00
enricobuehler deleted branch worktree-docs-config-page-0250-vars 2026-08-08 10:37:23 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: unom/punktfunk#114