Skip to content

Input ring: fix overflows and random drops along with xservermenu reattach #603

Open
Xnick417x wants to merge 2 commits into
WinNative-Emu:mainfrom
Xnick417x:input-ring
Open

Input ring: fix overflows and random drops along with xservermenu reattach #603
Xnick417x wants to merge 2 commits into
WinNative-Emu:mainfrom
Xnick417x:input-ring

Conversation

@Xnick417x

Copy link
Copy Markdown
Collaborator

No description provided.

Xnick417x added 2 commits July 7, 2026 02:31
- Publish ring events and state snapshots with a store-store fence so the
  guest-side reader can no longer observe the sequence word before the
  payload it publishes; unfenced stores could surface as rare random
  stale or lost inputs under load.
- Grow the per-slot event ring 512 -> 4096 events so a stalled reader
  loses history far later; a press/release pair inside the overwritten
  window was silently dropped.
- Restage libfakeinput.so into the imagefs on every launch so the guest
  reader can never run against a newer ring layout than it understands.
While the menu drawer is open it consumes all controller events for
navigation, so a release performed there never reaches the input
service: the guest keeps the input applied while the menu is open, and
the delta-encoded writer then swallows the next press of that same
button because its tracked state never saw the release. Zero every
connected controller's tracked state and push it once on drawer open so
the guest releases everything and post-close presses register again.
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