docs: correct stale AMD, multi-client and Omarchy claims #465

Merged
enricobuehler merged 1 commits from docs/stale-support-claims into main 2026-08-30 23:38:58 +00:00
Owner

Six statements across four docs had outlived the work they described. Each one tells a reader that something already shipped is missing.

Why this started

A report reached us that the docs say AMD is not supported on stable.

No page says that in those words. I searched every .md, .mdx, .yaml, .xml and packaging file in the repo for AMD, AMF, Radeon or RDNA paired with any channel or maturity word (stable, canary, nightly, experimental, unsupported, beta, preview), first per line and then per paragraph. Nothing matched. The literal sentence does not exist.

What does exist is a three-way contradiction that a reader would fairly reduce to exactly that sentence.

Page What it said Written
README.md:66 "NVIDIA live-validated; AMD/Intel CI-green" a141145e, 2026-06-26
roadmap.md:29 AMD/Intel encode paths "are CI-green but far less exercised than NVENC" b41448b8, 2026-06-28
windows-host.mdx:316 AMF and QSV "built and tested in CI but less battle-tested on real hardware" same vintage

support-matrix.md:575, written five weeks later in d3831617, says the opposite: AMF was validated on a Ryzen 7000 iGPU at 1080p120 HDR P010, and QSV on Arc. The roadmap itself names that matrix as the arbiter — "where this page and the matrix disagree, the matrix is right."

So someone reading the README or the roadmap alongside the matrix learns that the encoder inside their shipping installer was never run on hardware. That is false, and it is the likeliest source of the report.

What changed

1. The three AMD/Intel maturity claims. All now say the encoders are validated on real hardware, with NVENC holding much the most field time and QSV's newer arms still marked unvalidated in the code. The roadmap's Windows strand is reframed from on-glass validation (done) to field hardening (the actual remaining work).

2. Concurrent clients on the roadmap. The entry sat under Next with "(the shared-desktop case already works)" tucked into a closing parenthesis after two sentences of future work. Meanwhile how-it-works.md:84, index.mdx:15 and the README all describe simultaneous clients as shipped. The entry now opens by stating that streaming to several clients at once already ships, then names the real gap: per-user identity and per-session input/audio isolation.

3 and 4. Two wrong entries in the matrix's "What is not verified".

  • Hyprland's virtual output was listed as never run on real display hardware. docs/releases/v0.33.0.md records a live stream on a real Omarchy box, which is physical Hyprland. Cell moves ⚠️, footnote 8 rewritten.
  • The whole Omarchy integration was listed as "none of it has been run on Omarchy". 0.33.0 ran install → punktfunk-omarchy setup → pair → stream there, and fixed five wrong assumptions found that way. Only the post-theme-switch resolution re-apply stayed untested, so that is the single entry left standing.

5. The roadmap's "recently shipped" list, which named 0.19 through 0.22.3 — eleven releases out of date. Replaced with current work and a link to the releases page, which cannot go stale the same way.

What I checked and left alone

Two roadmap items looked stale and were not. I verified both against the code rather than assuming:

  • The Linux client's clipboard is still a stub. crates/pf-client-core/src/clipboard.rs:444 is #[cfg(not(windows))] and returns clipboard unsupported on this platform. The roadmap's claim stands.
  • The web console still cannot set a bitrate. web/src/sections/Dashboard/view.tsx:160 renders stream.bitrate_kbps as a read-only stat; there is no speed-test route in api/openapi.json. The roadmap's claim stands.

Verification

  • scripts/ci/check-docs-links.sh — exit 0
  • scripts/ci/check-docs-drift.sh — exit 0
  • docs-site: bun install --frozen-lockfile --ignore-scripts && bun run build — exit 0

The drift gate prints one warning about PUNKTFUNK_STANDBY_SINK_KEEP sitting in the undocumented-env baseline. That warning is present on origin/main too and this branch touches no environment variables, so it is pre-existing and unrelated.

Prose only. No code, no config, no wire or ABI surface.

Six statements across four docs had outlived the work they described. Each one tells a reader that something already shipped is missing. ## Why this started A report reached us that the docs say **AMD is not supported on stable**. No page says that in those words. I searched every `.md`, `.mdx`, `.yaml`, `.xml` and packaging file in the repo for AMD, AMF, Radeon or RDNA paired with any channel or maturity word (`stable`, `canary`, `nightly`, `experimental`, `unsupported`, `beta`, `preview`), first per line and then per paragraph. Nothing matched. The literal sentence does not exist. What does exist is a three-way contradiction that a reader would fairly reduce to exactly that sentence. | Page | What it said | Written | |---|---|---| | `README.md:66` | "NVIDIA live-validated; AMD/Intel CI-green" | `a141145e`, 2026-06-26 | | `roadmap.md:29` | AMD/Intel encode paths "are CI-green but far less exercised than NVENC" | `b41448b8`, 2026-06-28 | | `windows-host.mdx:316` | AMF and QSV "built and tested in CI but less battle-tested on real hardware" | same vintage | `support-matrix.md:575`, written five weeks later in `d3831617`, says the opposite: AMF was validated on a Ryzen 7000 iGPU at 1080p120 HDR P010, and QSV on Arc. The roadmap itself names that matrix as the arbiter — *"where this page and the matrix disagree, the matrix is right."* So someone reading the README or the roadmap alongside the matrix learns that the encoder inside their shipping installer was never run on hardware. That is false, and it is the likeliest source of the report. ## What changed **1. The three AMD/Intel maturity claims.** All now say the encoders are validated on real hardware, with NVENC holding much the most field time and QSV's newer arms still marked unvalidated in the code. The roadmap's Windows strand is reframed from *on-glass validation* (done) to *field hardening* (the actual remaining work). **2. Concurrent clients on the roadmap.** The entry sat under **Next** with "(the shared-desktop case already works)" tucked into a closing parenthesis after two sentences of future work. Meanwhile `how-it-works.md:84`, `index.mdx:15` and the README all describe simultaneous clients as shipped. The entry now opens by stating that streaming to several clients at once already ships, then names the real gap: per-user identity and per-session input/audio isolation. **3 and 4. Two wrong entries in the matrix's "What is not verified".** - *Hyprland's virtual output* was listed as never run on real display hardware. `docs/releases/v0.33.0.md` records a live stream on a real Omarchy box, which is physical Hyprland. Cell moves ⚠️ → ✅, footnote 8 rewritten. - *The whole Omarchy integration* was listed as "none of it has been run on Omarchy". 0.33.0 ran install → `punktfunk-omarchy setup` → pair → stream there, and fixed five wrong assumptions found that way. Only the post-theme-switch resolution re-apply stayed untested, so that is the single entry left standing. **5. The roadmap's "recently shipped" list**, which named 0.19 through 0.22.3 — eleven releases out of date. Replaced with current work and a link to the releases page, which cannot go stale the same way. ## What I checked and left alone Two roadmap items looked stale and were not. I verified both against the code rather than assuming: - **The Linux client's clipboard is still a stub.** `crates/pf-client-core/src/clipboard.rs:444` is `#[cfg(not(windows))]` and returns `clipboard unsupported on this platform`. The roadmap's claim stands. - **The web console still cannot set a bitrate.** `web/src/sections/Dashboard/view.tsx:160` renders `stream.bitrate_kbps` as a read-only stat; there is no speed-test route in `api/openapi.json`. The roadmap's claim stands. ## Verification - `scripts/ci/check-docs-links.sh` — exit 0 - `scripts/ci/check-docs-drift.sh` — exit 0 - `docs-site`: `bun install --frozen-lockfile --ignore-scripts && bun run build` — exit 0 The drift gate prints one warning about `PUNKTFUNK_STANDBY_SINK_KEEP` sitting in the undocumented-env baseline. That warning is present on `origin/main` too and this branch touches no environment variables, so it is pre-existing and unrelated. Prose only. No code, no config, no wire or ABI surface.
enricobuehler added 1 commit 2026-08-30 23:21:25 +00:00
docs: correct stale AMD, multi-client and Omarchy claims
ci / web (pull_request) Successful in 3m57s
ci / bun-nix (pull_request) Successful in 59s
ci / docs-site (pull_request) Successful in 3m51s
ci / docs-drift (pull_request) Successful in 1m36s
ci / rust-arm64 (pull_request) Canceled after 1m36s
ci / rust (pull_request) Canceled after 2m31s
3ac6ad5699
Four statements had outlived the work they described, and each one
tells a reader that something shipped is missing.

The README, the roadmap and the Windows host page all said the AMD
(AMF) and Intel (QSV) encoders were CI-green only. The support matrix
— which the roadmap itself names as the arbiter — has recorded since
0.31 that AMF was validated on a Ryzen 7000 iGPU and QSV on Arc. A
reader comparing the two pages could only conclude AMD is unsupported
in the shipping build.

The roadmap listed concurrent clients under "Next", with the fact that
they already work buried in a closing parenthesis. Per-client virtual
displays have shipped for many releases; what is actually missing is
identity and per-session isolation, so the entry now leads with that.

The matrix still said no one had run a Hyprland virtual output or the
Omarchy integration on real hardware. 0.33.0 did both, end to end, on
a real Omarchy box. Only the post-theme-switch re-apply stayed
untested, so that is the one entry left standing.

Also replaces the roadmap's "shipped in 0.19 through 0.22.3" list,
eleven releases out of date, with current work and a link that cannot
go stale.
enricobuehler merged commit 41a070f6cc into main 2026-08-30 23:38:58 +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#465