Commit Graph

  • 6d611cf889 feat(host/windows): reference-counted SudoVDA monitor lifecycle (reuse on quick reconnect, teardown when idle) enricobuehler 2026-06-16 17:53:21 +00:00
  • ca375c7ce8 fix(host/windows): WGC mux — reuse the SudoVDA monitor + helper across secure switches (no teardown/recreate) enricobuehler 2026-06-16 17:27:50 +00:00
  • e8d885fb4f fix(host/windows): WGC relay — set SudoVDA color to match session bit depth at build (kill persisted HDR) enricobuehler 2026-06-16 17:18:41 +00:00
  • d2e536d299 fix(host/windows): WGC relay — don't force HDR on SDR sessions across the secure mux enricobuehler 2026-06-16 17:13:02 +00:00
  • f469dfcc76 chore(host/windows): clean up DDA capture — fix unused imports, quiet secure-desktop log, sane retry default enricobuehler 2026-06-16 17:05:02 +00:00
  • dc734c711b fix(host/windows): re-sync thread desktop on EVERY recovery (symmetric enter/leave secure) enricobuehler 2026-06-16 16:57:20 +00:00
  • 9a9214a2d8 fix(host/windows): gentle DDA recovery — stop the tight teardown/recreate loop enricobuehler 2026-06-16 16:41:03 +00:00
  • 2f7c021cac fix(host/windows): per-session SudoVDA monitor GUID (stop overlapping-session monitor teardown) enricobuehler 2026-06-16 16:20:26 +00:00
  • ce84861e3a fix(host/windows): DuplicateOutput1 retry wait 200ms (Apollo's value), env-tunable enricobuehler 2026-06-16 16:07:52 +00:00
  • eb451d8bc6 fix(host/windows): retry DuplicateOutput1 to ride out the old-dup teardown race enricobuehler 2026-06-16 16:02:22 +00:00
  • 1e1e5ce9b5 fix(host/windows): Option-handle the multi-line dupl.GetFramePointerShape call too enricobuehler 2026-06-16 15:41:41 +00:00
  • da43b5e8d3 fix(host/windows): release the old duplication before re-duplicating (THE born-lost bug) enricobuehler 2026-06-16 15:40:50 +00:00
  • c8fb4822a2 fix(host/windows): per-thread Per-Monitor-V2 DPI awareness so DuplicateOutput1 succeeds enricobuehler 2026-06-16 15:29:17 +00:00
  • c60a05dbe9 fix(host/windows): make SudoVDA the sole display via clean CCD (the IDD needs to be primary/composited) enricobuehler 2026-06-16 15:12:31 +00:00
  • 769fd96b87 fix(host/windows): stop SudoVDA MODE_CHANGE_IN_PROGRESS storm — don't force IDD primary by default enricobuehler 2026-06-16 14:59:42 +00:00
  • 900089c44c fix(host/windows): don't pin SudoVDA render adapter by default (Apollo parity) enricobuehler 2026-06-16 14:37:31 +00:00
  • cd72164db2 fix(host/windows): keep multi-display (Apollo parity) instead of sole-display isolation enricobuehler 2026-06-16 14:23:20 +00:00
  • 1bcb786382 fix(android): request NEARBY_WIFI_DEVICES at runtime so mDNS discovery works on real devices enricobuehler 2026-06-16 16:14:57 +02:00
  • 5f84c5785c fix(host/windows): force-composed-flip overlay in the single-process DDA path enricobuehler 2026-06-16 14:08:59 +00:00
  • 0c1afeefea fix(android): shrink the colored launcher-icon foreground to match the themed layer enricobuehler 2026-06-16 16:08:26 +02:00
  • 63b63a4010 fix(host/windows): instrument + harden DDA against the born-lost ACCESS_LOST storm enricobuehler 2026-06-16 14:02:55 +00:00
  • 18ec32d21e feat(android): adaptive launcher icon with Material You themed-icon support enricobuehler 2026-06-16 16:02:49 +02:00
  • 60bb9727d6 fix(host/windows): correct SetDisplayConfig slice signature + local DISPLAYCONFIG_PATH_ACTIVE enricobuehler 2026-06-16 13:17:54 +00:00
  • 2ac1014e8e fix(host/windows): CCD-based display isolation (detach hybrid-attached monitors) enricobuehler 2026-06-16 13:16:19 +00:00
  • 3237ca31cd feat(host/windows): capture via IDXGIOutput5::DuplicateOutput1 (Apollo's capture API) enricobuehler 2026-06-16 13:00:37 +00:00
  • 7cfeddc770 fix(host/windows): install the GPU-preference hook at process start (before any DXGI) enricobuehler 2026-06-16 12:39:50 +00:00
  • a01f8a2f58 feat(host/windows): port Apollo's win32u GPU-preference hook (fix hybrid-GPU DDA churn) enricobuehler 2026-06-16 12:31:54 +00:00
  • 61fd75dc33 fix(host/windows): re-isolate/re-attach desktop ONLY on the secure desktop enricobuehler 2026-06-16 12:07:16 +00:00
  • d11f2bf800 fix(host/windows): stop the DDA freeze — kill the HDR format-change storm + throttle ACCESS_LOST recovery enricobuehler 2026-06-16 11:54:23 +00:00
  • 995db69387 fix(host/windows): detect format/size change on the DDA acquire path enricobuehler 2026-06-16 11:18:53 +00:00
  • 3d04ce92a1 feat(host/windows): PUNKTFUNK_NO_WGC — force single-process DDA everywhere enricobuehler 2026-06-16 11:15:47 +00:00
  • 6ea52b0372 feat(host/windows): SDR-while-secure — drop SudoVDA out of HDR on Winlogon so DDA captures it enricobuehler 2026-06-16 10:54:58 +00:00
  • be18797df8 feat(client): request a recovery keyframe on unrecoverable loss enricobuehler 2026-06-16 11:04:42 +00:00
  • 55d5a4278f fix(host): self-heal capture loss + audio-thread death mid-session enricobuehler 2026-06-16 11:04:42 +00:00
  • e8619c2362 fix(host/windows): keep WGC through the secure desktop by default (DDA-secure opt-in) enricobuehler 2026-06-16 10:47:48 +00:00
  • 555ec2a3b7 Revert "fix(host/windows): rebuild the output fresh on every WGC↔DDA source switch" enricobuehler 2026-06-16 10:44:06 +00:00
  • 3f191ba2ea fix(host/windows): rebuild the output fresh on every WGC↔DDA source switch enricobuehler 2026-06-16 10:40:55 +00:00
  • ef4786387e feat(host/windows): force-composed-flip overlay to capture the secure desktop enricobuehler 2026-06-16 10:25:55 +00:00
  • 3e2888de26 docs(apollo): mark GSO #4 (GameStream Windows USO) done enricobuehler 2026-06-16 10:22:53 +00:00
  • 0324719b6e feat(host/windows): USO batched send for the GameStream video plane enricobuehler 2026-06-16 10:21:33 +00:00
  • ba4e9a8672 docs(apollo): mark cursor #13 done, reclassify #21 as already-handled enricobuehler 2026-06-16 09:49:20 +00:00
  • 6d7301ccf5 fix(windows): two-pass cursor compositing (alpha + XOR) in DXGI capture enricobuehler 2026-06-16 09:48:34 +00:00
  • f44317fb33 feat(windows): stable code-signing cert for the MSIX (one-time per-machine trust) enricobuehler 2026-06-16 09:17:30 +00:00
  • 7bf2899301 fix(host/windows): secure-desktop black screen — capture the real frame, don't seed black enricobuehler 2026-06-16 09:15:33 +00:00
  • cbeece119f fix(windows): link the client as a GUI subsystem — no console window on launch enricobuehler 2026-06-16 09:06:31 +00:00
  • 183ddd5fa1 docs: Apollo (Sunshine fork) vs punktfunk architecture map + transfer backlog enricobuehler 2026-06-16 08:54:52 +00:00
  • bb11b2faf7 feat(windows): MSIX packaging + publish workflow for the WinUI client enricobuehler 2026-06-16 08:45:43 +00:00
  • ec2907fc32 perf(host/windows): SendInput retry-on-failure model (two-process step 2) enricobuehler 2026-06-16 08:30:49 +00:00
  • 1e8f210948 docs(windows-secure-desktop): steps 1/3/4/5/6 live-validated; soak results enricobuehler 2026-06-16 08:26:10 +00:00
  • 1b68890dbf feat(host/windows): two-process step 6 — helper relaunch watchdog enricobuehler 2026-06-16 08:23:58 +00:00
  • e39f65a228 ci(windows): set CARGO_TARGET_DIR=C:\t — dodge MAX_PATH in CMake-from-source builds enricobuehler 2026-06-16 08:18:34 +00:00
  • 4edfcd4b43 feat(host/windows): two-process mux test toggle + live-validate step 5 enricobuehler 2026-06-16 08:13:16 +00:00
  • 372483abf0 ci(windows): use shell: pwsh (PowerShell 7) — fixes GITHUB_ENV BOM corruption enricobuehler 2026-06-16 08:10:30 +00:00
  • 8d6cbb81fe fix(host/windows): merge host PUNKTFUNK_* env into the WGC helper's environment enricobuehler 2026-06-16 08:05:43 +00:00
  • 140209bbfc feat(host/windows): two-process secure-desktop step 5 — DDA mux on Winlogon enricobuehler 2026-06-16 07:55:29 +00:00
  • 9f50b3930d feat(host/windows): two-process secure-desktop step 4 — spawn helper + relay AUs enricobuehler 2026-06-16 07:43:20 +00:00
  • 7a814b5f18 ci(windows): restore paths filter + document global runner scope enricobuehler 2026-06-16 07:38:08 +00:00
  • a0f6cddc70 feat(host/windows): WGC helper subcommand (two-process secure-desktop, step 3) enricobuehler 2026-06-16 07:28:05 +00:00
  • 644274c33e ci(windows): set CARGO_WORKSPACE_DIR via GITHUB_ENV (not job-env expression) enricobuehler 2026-06-16 07:24:53 +00:00
  • 933b1640db ci: trigger windows run (runner now stably online) enricobuehler 2026-06-16 07:18:33 +00:00
  • dd9dfecbe4 ci(windows): drop paths filter (trigger reliability) + NO_COLOR runner logs enricobuehler 2026-06-16 07:16:26 +00:00
  • 80e222d3b8 feat(host/windows): DesktopWatcher (secure-desktop detection) — step 1 of the two-process build enricobuehler 2026-06-16 07:13:33 +00:00
  • fc11a42b63 ci(windows): build/clippy/fmt/test workflow on the self-hosted Windows runner enricobuehler 2026-06-16 07:11:11 +00:00
  • 5c2bcbc2a2 docs(windows): secure-desktop two-process design + WGC impersonation attempt (vestigial) enricobuehler 2026-06-16 07:08:50 +00:00
  • 589b364c01 ci(windows): fix runner registration CWD + capture clean daemon logs enricobuehler 2026-06-16 07:06:54 +00:00
  • fb88b18fb4 ci(windows): make setup-windows-runner.ps1 ASCII-clean enricobuehler 2026-06-16 07:01:37 +00:00
  • 627188b4b7 ci(windows): setup-windows-runner.ps1 — Gitea Actions host runner provisioner enricobuehler 2026-06-16 06:59:40 +00:00
  • 28ab448a29 feat(host/windows): WGC capture backend (overlay/HDR-correct) with watchdog'd DDA fallback enricobuehler 2026-06-16 06:32:54 +00:00
  • 84e17fbb49 feat(windows-client): polish the WinUI 3 UI — Mica, cards, typography enricobuehler 2026-06-16 05:28:15 +00:00
  • 3b3940dc8c docs(windows-client): correct the WinUI 3 record — reactor IS used (PR #4499) enricobuehler 2026-06-15 23:07:05 +00:00
  • 5029fa727e feat(windows-client): stream input — Win32 low-level keyboard/mouse hooks enricobuehler 2026-06-15 23:04:17 +00:00
  • 4994f7f4ba feat(windows-client): WinUI 3 (windows-reactor) UI — host list, settings, pairing, SwapChainPanel present enricobuehler 2026-06-15 22:58:48 +00:00
  • 296b976b8f feat(windows-client): SDL3 gamepads + docs — full stage-1 parity, MSVC-green enricobuehler 2026-06-15 22:11:35 +00:00
  • e4bdec97bd feat(windows-client): winit + D3D11 present, WASAPI render, input — builds live on MSVC enricobuehler 2026-06-15 21:59:40 +00:00
  • ef30afcf0b fix(apple): fill the notch in macOS fullscreen — stop letterboxing below the camera housing enricobuehler 2026-06-15 23:57:06 +02:00
  • 4b0b775e8e fix(apple): allow CoreHaptics audioanalyticsd mach-lookup under the macOS sandbox enricobuehler 2026-06-15 23:57:06 +02:00
  • b9f4cf1f3e fix(host/windows): don't 2-way-split-encode Main10 — it's SLOWER on Ada (fixes broken HDR animations) enricobuehler 2026-06-15 21:40:28 +00:00
  • b1e95a386f fix(host/windows): tiered DXGI recovery — cheap re-DuplicateOutput for the HDR ACCESS_LOST churn enricobuehler 2026-06-15 21:31:14 +00:00
  • 0a3b92d994 fix(host/windows): HDR cursor brightness (203-nit) + probe-before-adopt recovery; windows-client bootstrap doc enricobuehler 2026-06-15 21:20:42 +00:00
  • e99a1aea43 fix(apple): resolve QoS priority inversions + two Swift concurrency warnings enricobuehler 2026-06-15 22:48:10 +02:00
  • bbabc04bca feat(hdr): Windows HDR10 + 10-bit end-to-end, negotiated; non-blocking capture recovery enricobuehler 2026-06-15 20:28:52 +00:00
  • f5eae24c87 feat(apple): tabbed macOS Settings + stats-overlay placement/toggle + Stream menu enricobuehler 2026-06-15 22:11:39 +02:00
  • 26fbd9ec64 perf(host/windows): zero-copy NVENC — encode the capturer's texture in place (halve 3D-engine load) enricobuehler 2026-06-15 17:33:07 +00:00
  • c830246037 feat(host/windows): UDP send offload + NVENC 2-way split-encode (1 Gbps+ / 5K@240) enricobuehler 2026-06-15 16:52:58 +00:00
  • 5dcb72f5af feat(android): rename display name to "Punktfunk" + drop the Settings "Done" button enricobuehler 2026-06-15 18:30:29 +02:00
  • 49cdafc042 feat(android): connect-screen redesign — Apple-style cards, FAB + bottom sheet, fixed status bar enricobuehler 2026-06-15 18:26:14 +02:00
  • f4b4a6c1e4 feat(host/windows): native res, cursor, secure-desktop capture, windowless SYSTEM launch enricobuehler 2026-06-15 15:46:34 +00:00
  • 1f0dc87658 feat(rpm): enable gpgcheck=1 — packages are signed + verified enricobuehler 2026-06-15 15:23:57 +00:00
  • ecd7d4a7e3 feat(android): mic uplink + connect-screen redesign enricobuehler 2026-06-15 17:05:25 +02:00
  • 14fe450b72 feat(android): bottom tab bar (Connect / Settings) enricobuehler 2026-06-15 16:39:55 +02:00
  • 8446ca1e47 ci(android): keep platforms;android-36 (android-37 not in the runner SDK channel) enricobuehler 2026-06-15 16:31:34 +02:00
  • 9ff5951cb2 feat(android): saved-hosts list + unify trust key on address:port enricobuehler 2026-06-15 16:31:34 +02:00
  • 8265742e74 ci: bust the re-poisoned cargo cache (v3) + burst-guard the runner prune enricobuehler 2026-06-15 14:25:40 +00:00
  • 6e572a38cd ci(android): install the SDK CMake package so cargo-ndk can build libopus enricobuehler 2026-06-15 16:17:14 +02:00
  • 3bcc36c801 feat(android): native display resolution + Settings screen enricobuehler 2026-06-15 16:13:55 +02:00
  • 262305b771 fix(ci): provide bun for deb.yml's web-console build enricobuehler 2026-06-15 14:06:12 +00:00
  • 59bcfa1a12 fix(ci): rpm signing uses rpm's default signer; flatpak installs node before checkout enricobuehler 2026-06-15 13:54:43 +00:00
  • 0f17b6f864 fix(rpm): sign-rpms.sh — %{__gpg} is already the gpg binary, drop the literal gpg enricobuehler 2026-06-15 13:39:00 +00:00
  • 067f592615 feat(rpm): add the package-signing public key (activates the dormant signing) enricobuehler 2026-06-15 13:01:24 +00:00
  • 8ab262f8f8 feat(trust): host-gated trust-on-first-use — PIN pairing mandatory by default enricobuehler 2026-06-15 13:27:09 +02:00