Skip to content

v0.10.5 MAINTENANCE

Latest

Choose a tag to compare

@kakra kakra released this 19 Oct 00:17
e8f103a

This maintenance release for the v0.10 series picks up bug and compatibility fixes from the development branch, together with documentation updates which also apply to v0.10.

Two udev fixes improve the first connection after boot. The hidraw nodes of supported controllers are now hidden as early as possible, so Steam no longer gets user access to them while the controller is still bound to hid-generic. Controllers which xpadneo already took over after loading the module are no longer unbound and bound a second time, which initialized the controller twice and made it rumble twice.

Xbox One S controllers with a cached, truncated Linux-mode descriptor are repaired during the descriptor fixup, so the rumble report definition is complete again.

Third-party controllers are detected more reliably. The Mobapad Chitu 2 exposes the legacy descriptor but sends a sparse button layout; xpadneo now detects it by its address prefix and at runtime, so its buttons map correctly. The GameSir T4 Nova Lite and Nova 2 Lite are additionally detected by their firmware version, so the GameSir quirks also apply to units whose MAC address does not reveal them as clones. XPADNEO_QUIRK_NO_HEURISTICS disables these detections.

For diagnostics, the debug_hid module parameter now logs any HID report as a hex dump, not only rumble commands.

The documentation now has its own illustrated page for connecting the gamepad, including how to reconnect an already paired one. Troubleshooting adds running old native games via Proton, a corrected jscal example, the Bluetooth LE limit of three controllers on some adapters, and a third-party Arch Linux DKMS hook bug. The Intel Wireless AC 9260 was added to the adapter list.

The release branch also picks up the contribution guidelines, pull request template, agent guides, and CI updates from the development branch, so future backports apply with fewer conflicts.

A big thank you to everyone in the community for your bug reports, logs, and testing.

Special thanks go to @RossH121 for the detailed analysis and patch of the truncated Xbox One S descriptor, @Hyphaed for tracking down the race between Steam and the hidraw rebind, @hidrot and @rethyria for testing the Steam reconnection issue, @jawche for analyzing the double initialization after a cold boot, @jn64 for the logs and testing of the Mobapad Chitu 2, and @bserem for the analysis and work-around of the Bluetooth LE controller limit. Thanks also to everyone who provided firmware versions and logs of GameSir controllers.

Headlines:

  • docs: Move the connection steps to their own page
  • xpadneo, debug: Add debugging of any HID report
  • xpadneo, device: Fix up cached truncated XB1S descriptor
  • xpadneo, events: Detect sparse buttons with legacy descriptors
  • xpadneo, quirks: Detect GameSir Nova 2 Lite by firmware version
  • xpadneo, quirks: Detect GameSir T4 Nova Lite by firmware version
  • xpadneo, quirks: Detect Mobapad Chitu 2 early
  • xpadneo, udev: Do not rebind devices already bound to xpadneo
  • xpadneo, udev: Hide supported hidraw nodes early
Kai Krakow (37):
      xpadneo, device: Fix up cached truncated XB1S descriptor
      xpadneo, udev: Hide supported hidraw nodes early
      xpadneo, udev: Do not rebind devices already bound to xpadneo
      xpadneo, events: Detect sparse buttons with legacy descriptors
      xpadneo, quirks: Detect Mobapad Chitu 2 early
      xpadneo, quirks: Detect GameSir T4 Nova Lite by firmware version
      xpadneo, quirks: Detect GameSir Nova 2 Lite by firmware version
      xpadneo, power: Explain review nit
      xpadneo, debug: Add debugging of any HID report
      xpadneo, meta: Adjust Github PR template to new licensing
      xpadneo, meta: Add AI transparency to the pull request template
      xpadneo, docs: Document release staging workflow
      xpadneo, docs: Add DOX agent guide hierarchy
      xpadneo, docs: Clarify descriptor evidence rules
      docs: Tighten AI-agent PR workflow rules
      docs: Add a heading before the PR template's declaration checkboxes
      docs: Require searching prior issues and commits before fixing
      xpadneo, meta: Add Nobara Linux to the bug reporting template
      ci: Update GitHub Actions for Node 24
      xpadneo, ci: Ignore links in Fixes tags
      xpadneo, ci: Improve yaml indention and syntax
      xpadneo, meta: Cleanup obsolete git ignores
      xpadneo, docs: Fix LAA typo in the GameSir heuristic notes
      xpadneo, docs: Match the GameSir heuristic log message
      docs: Suggest Proton for native games with broken joydev mappings
      docs: Fix jscal example for the current number of axes
      docs: Add Intel Wireless AC 9260 to the Bluetooth adapter list
      docs: Document the Arch Linux DKMS hook version parsing bug
      docs: Document the Bluetooth LE connection interval limit
      docs: Explain reconnecting an already paired gamepad
      docs: Move the connection steps to their own page
      docs: Use lowercase items in the bluetoothctl connection steps
      docs: Split the connection page into sections
      docs: Use lowercase items in the desktop Bluetooth manager steps
      docs: Illustrate the connection steps
      xpadneo, docs: Add descriptors of yet unsupported GameDir G7 SE
      xpadneo: Release v0.10.5