feat(windows-host): IDD-push is the default capture path for fresh installs (P1)

Make the validated IDD-push zero-copy path the default for a fresh install,
without penalising dev / non-pf-driver runs:

- The shipped default config now enables it. Both seed sites set
  `PUNKTFUNK_VDISPLAY=pf` + `PUNKTFUNK_IDD_PUSH=1`: the hardcoded default the
  service writes on `service install` (`ensure_default_host_env`) AND the
  `host.env.example` template the installer bundles. A fresh install therefore
  runs the validated path (the installer also bundles the pf-vdisplay driver);
  it falls back to DDA if the driver can't attach.
- `idd_push` is now **value-aware** instead of a bare presence flag, so an
  operator can turn it OFF with `PUNKTFUNK_IDD_PUSH=0` in host.env — a `var_os`
  presence check read `=0` as "on". Unset still ⇒ off (the code default is
  unchanged, so existing host.env files and dev/CI runs are unaffected; only the
  shipped default config opts in).

Also scrubbed the stale "SudoVDA" wording in host.env.example. Linux cargo
clippy -p punktfunk-host -D warnings clean; the service.rs default string is
Windows-only (CI-gated).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-25 22:08:45 +00:00
parent 75ee53d1dd
commit 0bf3984614
3 changed files with 29 additions and 4 deletions
+10 -2
View File
@@ -15,10 +15,18 @@
# ship in the installer). The published installer is built with all three.
PUNKTFUNK_ENCODER=auto
# Video source: `virtual` creates a per-client virtual display (SudoVDA) at the client's exact
# resolution + refresh — the flagship mode. Requires the SudoVDA indirect display driver installed.
# Video source: `virtual` creates a per-client virtual display at the client's exact resolution +
# refresh — the flagship mode. Requires the bundled pf-vdisplay indirect display driver installed.
PUNKTFUNK_VIDEO_SOURCE=virtual
# Virtual-display backend: `pf` = the all-Rust pf-vdisplay IddCx driver the installer bundles (the
# shipped driver; leave as the default). `sudovda` selects the legacy backend if one is present.
PUNKTFUNK_VDISPLAY=pf
# Capture straight from the pf-vdisplay driver's shared ring — the validated zero-copy path (incl. the
# secure desktop). Falls back to DDA if the driver can't attach. Set to 0 to force WGC/DDA capture.
PUNKTFUNK_IDD_PUSH=1
# Capture the secure desktop (UAC / lock / login) so the stream survives those transitions.
PUNKTFUNK_SECURE_DDA=1