Skip to content

Improve desktop input and presentation with guarded shared capture - #20

Open
zachspartofaday wants to merge 1 commit into
mxhm11cr:mainfrom
zachspartofaday:codex/upstream-desktop-interaction
Open

zachspartofaday wants to merge 1 commit into
mxhm11cr:mainfrom
zachspartofaday:codex/upstream-desktop-interaction

Conversation

@zachspartofaday

@zachspartofaday zachspartofaday commented Nov 3, 2026 •

Copy link
Copy Markdown

Desktop use exposed missing Magic Keyboard clicks/Shift symbols, Darwin Unix-socket path limits, and unnecessary X11 pixel copies. This PR groups the related desktop transport, input and viewer fixes while preserving explicit settings and other-distribution defaults.

  • Preserve the full Unix-socket ID pair within Darwin’s pathname bound; shorten the iOS directory alias only after verifying directory identity. Guest socket namespaces are unchanged.
  • Forward layout-aware hardware symbols, retain key-up identity, keep UIKit’s targeted iPad clicks, and preserve owned relative-mouse releases across source changes. Native controls do not receive click-through into Linux.
  • Fit the laid-out framebuffer view, preserve later explicit size/presenter choices, improve readiness diagnostics, and add opt-in bounded performance counters and explicit reference tests.
  • Default Arch/SteamOS desktop image capture to guarded MIT-SHM when no explicit preference exists. Probe the capture-scoped runtime cleanup capability before use and fall back to socket capture if unavailable. Retain a visible rollback. Reclaim only launcher-owned capture segments after forced termination while preserving normal SysV persistence.

This consolidates clean-reviewed, merged fork PRs #2, #3, #4 and #9 into one commit directly on main. Storage remains separate in #18; virtual GPU scheduling/samplers are #19; the SteamOS installer/guest overlay is #21. No temporary capture instrumentation is enabled in production.

Validation:

  • Fresh grouped host checks pass Darwin bind/send/receive and ID/bounds contracts, keyboard/layout/modifier tests, pointer source/ownership tests, display policy, capture default policy, all 10 cleanup-evidence/selection tests and the 92-resource manifest.
  • Release iOS Simulator app and UI test build-for-testing passes with JIT and native VIRGL disabled. This is compile-only, not a physical-device run.
  • Previously reviewed retained evidence includes 80 host forced-exit cycles, five device cleanup cycles each on Arch/SteamOS, and counterbalanced post-cleanup response/repaint measurements. Those are prior integration results, not fresh tests of this consolidated branch. Product/test/evidence composition with the other grouped submissions matches our merged fork exactly.

The measurements show improved native-view handoff response and repaint delivery in the recorded workloads; they do not measure GPU completion or panel visibility, sustained performance, CPU, battery or heat benefits. Arch keyboard p95 slightly regressed and is disclosed. Most of the diff is allowlisted raw measurement evidence retained for reproducibility. Actual hardware input, simultaneous physical scenes and external-monitor behavior are not newly qualified here.

Implementation, rollback, provenance and limits: docs/CAPTURE_CLEANUP.md, docs/CAPTURE_POST_CLEANUP.md, docs/UNIX_SOCKET_PATHS.md, docs/HARDWARE_INPUT.md, docs/DESKTOP_PRESENTATION.md.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant