Skip to content

Upstream PR 3014 Cached XID Input

OpenAI Codex edited this page Nov 1, 2026 · 2 revisions

Upstream PR #3014 — Cached host input outside the BQL

Upstream work · Actionable research · Research and retired work

Current disposition — November 1, 2026

Reviewed: November 1, 2026. Fork source: b7140848 (full SHA b71408480a3a979a9c584663e1d1f400904c8bb7). Latest stable checked: v0.8.136-0-g458730bf5373, September 30, source 458730bf5373f1f0d027450fef7443e3af7a3ae1. GitHub state, branch recommendation, source presence and release availability are separate facts. See current status and release versus main.

Current field November 1, 2026 observation
GitHub source Upstream #3014
GitHub state / draft Closed, unmerged / Yes
Current head d07fd5f8d75b3c3a1438cc9d4ef9a9617e725e6f
Originally reviewed head 4b7b26fb43d63ab0059feab94a607d825fe3268e
Last metadata update (UTC) 2026-10-13T00:09:33Z
Head versus original review Changed head, including input-source changes; historical review is not current-head code proof.
Current action Closed research; no verified rationale or replacement.
Fork/release availability No delivery of this closed cached-input proposal is claimed. Fork #160’s virtual-controller presence repair remains separate.

Closed without merge on October 13. Its current head differs from the reviewed September head, and the comparison includes changed input-provider files; the old review is not current-head proof. No verified closing rationale or replacement was established. Retain provider lifetime/freshness questions as research rather than an active upstream PR handoff. Fork #160’s virtual-controller presence behavior is a separate delivered mechanism.

Source-change record: original-to-current comparison. The branch diverged/rebased; comparison-wide unrelated upstream changes are not all proposal changes.

This refresh checked GitHub identity/state and the specific source boundaries named above. It did not rerun native games, XISO timings or integration qualification. Historical performance claims remain attached to their original heads.

Historical review — September 21, 2026

The review below is preserved as written, including its original state, head, fork baseline and proposed handoff. Its present-tense statements apply to that dated review; the current disposition above governs today’s action.

← Upstream Work

Field Value
Upstream PR xemu-project/xemu#3014
State at 2026-09-21 audit Open draft
Reviewed upstream head 4b7b26fb43d63ab0059feab94a607d825fe3268e
Last upstream update seen 2026-09-07
Reviewed upstream base f9b14039e5bb56ae2d8f028e31e7cc19f13f7e12
Fork baseline 82d04d84bdb3de956f20c3537e1da2cece0e8da2
Relationship Complementary to virtual-controller presence repair
Related fork work Mainkill1/xemu#160
Contribution priority Medium
Upstream contact status No comment posted by this audit.

Summary

Upstream caches host input for use outside the BQL. Fork #160 separates guest-visible virtual controller presence from physical provider availability.

Upstream scope

The proposal changes input ownership/timing so emulated-device reads do not require the same host-provider access under the big QEMU lock.

Corresponding fork work

Fork #160 ensures a configured Xbox controller remains connected to the guest when no host provider is attached and produces neutral input until a provider becomes available.

Difference that must remain explicit

Neutral cached input, provider lifetime, virtual-device lifetime, and lock avoidance are separate contracts. A provider detach must not invalidate storage still read by the guest device.

Transferable regression and review cases

  • No host provider yields a connected guest controller with neutral reports.
  • Provider attach, detach, and reassignment preserve cached-report ownership.
  • Poll/update races do not expose freed provider data.
  • Snapshot/load restores virtual presence and valid neutral/cached state.

Suggested upstream handoff

Offer #160’s missing-provider and reassignment cases. Do not equate virtual presence with safe lock-free cache ownership.

Claims this page does not support

  • It does not prove the upstream branch merges cleanly with current upstream.
  • It does not prove a native correctness or performance result unless a linked exact-head run says so.
  • It does not transfer favorable performance percentages between hardware, renderers, games, or source heads.
  • It does not authorize posting a comment or review upstream.

Before sending anything upstream

  • Refresh the PR state, head SHA, description, changed files, and newest review comments.
  • Recheck the corresponding fork implementation on current main.
  • Run or cite the narrow regression on an exact source state.
  • Verify every public link and remove private paths, captures, game data, credentials, and internal logs.
  • Phrase source concerns as source concerns and reproductions as reproductions.
  • State the uncovered behavior and evidence limit.
  • Add the posted URL and upstream response to this page.

Tracking log

Date Upstream head Action Result
2026-09-21 4b7b26fb43d6 Fork/upstream source comparison recorded Handoff prepared; nothing posted

References

Clone this wiki locally