Skip to content

Releases: atar-axis/xpadneo

v0.10.2 MAINTENANCE

Choose a tag to compare

@kakra kakra released this 09 Apr 11:42
c0bfc72

This maintenance release for the v0.10 series focuses on improving rumble performance for modern controllers and enhancing device compatibility.

The core of this update is a significant overhaul of rumble handling for devices using the HID-over-GATT Profile (HOGP). By switching to acknowledged GATT writes, we now ensure rumble commands are delivered more reliably to these modern Bluetooth LE controllers. This improvement allowed us to remove the previous artificial throttling, unlocking more responsive and immediate force-feedback. We also optimized the "welcome rumble" sequence to reduce CPU usage during controller initialization.

To improve forward-compatibility, the driver can now heuristically detect devices that use the HOGP protocol, making it more robust when encountering new hardware. Additionally, the device descriptor for the GuliKit ES PRO has been added, which aids in debugging and is a first step towards full support.

Finally, this release includes several smaller fixes and cleanups, including corrected AppStream metainfo for better software center integration and improved internal handling of the uhid module dependency.

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

Special thanks go to @GloriousEggroll for starting a series of improvements. In this release, his contributions have helped to increase rumble reliability and modernize module dependency handling.

Headlines:

  • xpadneo, installer: Properly handle metainfo in the Makefile
Kai Krakow (8):
      xpadneo, core: move softdep on uhid into the driver
      xpadneo: Rename log messages from ff to rumble
      xpadneo, debug: Add GuliKit ES PRO descriptor as a known descriptor
      xpadneo, core: Add heuristic detection of HOGP protocol
      xpadneo, rumble: Reduce CPU busy usage during welcome rumble
      xpadneo, device: Use acknowledged GATT Write Request for rumble
      xpadneo, rumble: Eliminate artificial rumble throttling for HOGP
      xpadneo, installer: Properly handle metainfo in the Makefile

LeahTheSlug (1):
      xpadneo, meta: Fix AppStream metainfo file name and contents

v0.10.1 MAINTENANCE

Choose a tag to compare

@kakra kakra released this 25 Mar 02:03
0b9d5cc

This is a focused maintenance release for the v0.10 series with an emphasis on stability and compatibility.

The main work in v0.10.1 targets rumble reliability. We now advertise rumble support early while deferring actual rumble traffic until initialization is fully complete, reducing race conditions with userspace stacks that probe capabilities immediately after hotplug. In addition, rumble locking was corrected to properly preserve IRQ state, fixing a regression that could lead to hard lockups under force-feedback load.

Beyond rumble, this update improves day-to-day usability and hardware coverage: the optional virtual mouse device can now be disabled completely, quirk detection was extended for newer GameSir Nova variants, and several documentation/debugging details were cleaned up.

As a v0.10 maintenance release, this branch intentionally keeps the existing ff-memless-based architecture. The larger native-rumble rework remains part of the v0.11 development line.

Thanks to everyone who reported regressions, provided traces, and helped validate fixes on real hardware and different userspace environments.

Headlines:

  • xpadneo, docs: Replace back ticks syntax for shell substitution
  • xpadneo, mouse: Allow disabling the mouse device completely
  • xpadneo, quirks: Add OUI flag checks for new GameSir Nova
  • xpadneo, rumble: Do not send rumble commands unless ready
  • xpadneo, rumble: Properly save and restore IRQ state during locking
Kai Krakow (17):
      xpadneo, licensing: Link the licenses for convenience
      xpadneo, rumble: Remove rumble accumulation
      xpadneo, rumble: Rename private function `xpadneo_rumble_welcome`
      xpadneo, rumble: Introduce helper to calculate throttling delay
      xpadneo, rumble: Migrate to more modern scoped locks
      xpadneo, docs: Replace back ticks syntax for shell substitution
      xpadneo, rumble: Tighten the rumble throttle timing
      xpadneo, docs: Fix style of `disable_shift_mode`
      xpadneo, power: Fix header export signature
      xpadneo, debug: Add new debug mode to improve logging for new devices
      xpadneo, debug: Move HID report debugger to new debug module
      xpadneo, quirks: Add OUI flag checks for new GameSir Nova
      xpadneo, debug: Add Xbox Wireless Controller modern descriptor
      xpadneo, debug: Add Xbox Elite 2 Controller descriptor
      xpadneo, mouse: Allow disabling the mouse device completely
      xpadneo, rumble: Do not send rumble commands unless ready
      xpadneo, rumble: Properly save and restore IRQ state during locking

v0.10 COUCH POTATO

Choose a tag to compare

@kakra kakra released this 08 Mar 06:19
13e9459

Code name:

COUCH POTATO

This is a major release that bundles roughly five years of development since v0.9. During that time, xpadneo received substantial internal refactoring, broader device support, many compatibility fixes for modern userspace and kernel changes, and a lot of long-term maintenance work that is not always visible at first glance.

The codename reflects one of the headline additions: xpadneo can now expose controller input as a virtual mouse. This enables couch-friendly navigation scenarios and rounds out the driver in a practical way beyond pure gamepad usage. At the same time, this feature is intentionally marked as experimental for now so we can continue to refine its behavior and ergonomics in v0.11.

Another key focus of this cycle was improving real-world compatibility: updated quirks and heuristics for additional vendors and controller models, better handling of firmware and profile differences, and more robust interoperability with SDL/Steam/hidraw environments where mapping conflicts can otherwise become painful.

We also spent significant effort on quality-of-life improvements around installation and packaging, especially in DKMS and udev handling, plus updated troubleshooting and configuration guidance for current Linux distributions and Bluetooth setups.

A release of this size is only possible with continued support from users, contributors, testers, package maintainers, and everyone reporting regressions and sharing detailed logs over the years.

Special thanks to all contributors who helped shape this cycle, including:

  • Florian Dollinger (@atar-axis) for the original project foundation and long-standing code base that made this evolution possible.
  • Ben Schattinger (@lights0123) for Xbox Series X|S support contributions and Share button related integration work.
  • Erik Hajnal (@ehats) for non-trivial XBE2 mode support work and descriptor/mapping related fixes.
  • Dugan Chen (@duganchen) for Elite Series 2 related device support updates.
  • John Mather (@NextDesign1) and many others for incremental fixes, reports, and ecosystem feedback that helped improve edge-case handling over time.

IMPORTANT: Updated Licensing

As part of the ongoing refactor, the kernel module code has been relicensed to GPL-2.0-only. This change was made to ensure compatibility with the Linux kernel's licensing requirements and to allow for better integration with the kernel's codebase. Non-driver content, such as documentation and tooling, remains licensed under GPL-3.0-or-later unless specified otherwise in file headers.

Package maintainers and contributors should take note of this change when distributing or contributing to the project, ensuring that they comply with the new licensing terms for the relevant parts of the codebase.

As part of this change, we also added AppStream metadata to the repository, which should help with integration into Linux distribution packaging systems and improve discoverability of the project for users. Thanks to Michael Lloyd (@michael-lloyd) for the contribution of the AppStream metadata.

The Future

  • The virtual mouse mode introduced in this release is still experimental and will be improved further during the v0.11 cycle, with improvements backported to v0.10 if possible.
  • The next release cycle will bring better rumble handling and lay the foundations for profile customization support.
  • Hopefully, we will also improve and streamline the documentation further, especially around configuration and troubleshooting, to make it easier for users to get the most out of their controllers with xpadneo.

Thank you for your patience, testing effort, and continued trust in xpadneo.

Headlines:

  • core, quirks: Add GameSir T4 Nova Lite support
  • core, quirks: Add GuliKit KK3 MAX quirks
  • core, quirks: Add heuristics to detect GameSir Nova controllers
  • dev: Fix gitignore
  • dkms: Explicitly add version to the install phase
  • dkms: Suggest trusting the git directory if version detection failed
  • docs(#429): Elite S2 Profiles carry over
  • docs: Document Bluetooth LE issues and work-arounds
  • docs: Document workarounds for the Xbox Wireless controller
  • docs: Replace Ko-fi link to attribute donations to current maintainer
  • hid-xpadneo: Allow building with kernel 6.12
  • hid-xpadneo: Do not use Nintendo layouts by default
  • hid-xpadneo: Move share button quirk to xpadneo_devices database
  • installer, dkms: Fix trying to install the wrong udev filename
  • xpadneo: Add support for GuliKit KingKong2 PRO controllers
  • xpadneo, core: Add configuration for disabling Xbox logo shift-mode
  • xpadneo, core: Deprecate synthetic rolling axis from triggers
  • xpadneo, core: Fix coding style
  • xpadneo, core: Remove hard requirement of ida_{alloc,free}
  • xpadneo, dkms: Drop deprecated variable CLEAN
  • xpadneo, dkms: Get rid of redundant file installs/removes
  • xpadneo, dkms: Hooks are now effectively a no-op
  • xpadneo, docs: Align all of README.md with current distribution practice
  • xpadneo, docs: Link troubleshooting more prominently
  • xpadneo: Evade SDL-mismapping once again
  • xpadneo: Fix documentation about Share button
  • xpadneo, fixups: Adapt SDL fixup to fix the Xbox button
  • xpadneo, hid: Move paddles to range BTN_TRIGGER_HAPPY5
  • xpadneo, hidraw: Fixup previous commit to properly work with DKMS
  • xpadneo, hidraw: Work around other software messing with our udev rules
  • xpadneo, init: Actually save rumble test values before we replace them
  • xpadneo: Map Share button to F12 by default
  • xpadneo, mouse: Implement mouse support
  • xpadneo, quirks: Add another Microsoft OUI
  • xpadneo, quirks: Another Microsoft OUI
  • xpadneo, quirks: Fix the haptics quirks for third-party controllers
  • xpadneo, quirks: Let another Microsoft OUI bypass heuristics
  • xpadneo, quirks: Prevent applying heuristics for some known vendors
  • xpadneo: Remove deprecated ida_simple_{get,remove}() usage
  • xpadneo: Revert fixups on device removal
  • xpadneo, rumble: Fix rumble throttling for modern firmware
  • xpadneo: Support GameSir T4 Cyclone models
  • xpadneo: Work around invalid mapping in Steam Link
Kai Krakow (278):
      xpadneo, udev: Properly re-order modalias
      xpadneo, udev: Add Xbox One X|S PIDs to udev and modalias
      hid-xpadneo: Improve SDL2 work-arounds to fix XBE2 button mappings
      hid-xpadneo: Fix SDL2 button mapping for XBXS
      docs: Fix typo
      hid-xpadneo: Print version during load
      hid-xpadneo: Ignore more files from current kernel tool chain
      hid-xpadneo: Add some benchmark instrumentation
      hid-xpadneo: Fix typo in comment
      hid-xpadneo: Fix logging SDL2 work-around on wrong condition
      hid-xpadneo: Log and record the original descriptor size
      installer: Fix indentation
      Makefile: Create version.h on the fly
      dev: Fix gitignore
      hid-xpadneo: Move share button quirk to `xpadneo_devices` database
      hid-xpadneo: Improve descriptor logging
      hid-xpadneo: Deprecate directional rumble
      src: re-indent with newer indent version
      docs: List incompatible Bluetooth chipsets and settings
      docs: Improve troubleshooting instructions
      docs: Amend list of bugs with known fixes
      docs: Use Xbox Series X|S controller name consistently
      udev: Update rules for upcoming systemd update
      hid-xpadneo: Do not use Nintendo layouts by default
      hid-xpadneo: Split gamepad into subdevices
      hid-xpadneo: Send KEY_MODE for the Xbox button
      hid-xpadneo: Enable detection of the XBE2 keyboard sub device
      xpadneo: Drop kernel compatibility below version 4.18
      docs: Replace Ko-fi link to attribute donations to current maintainer
      hid-xpadneo: Report missing applications just once
      hid-xpadneo: Drop dead module parameter `combined_z_axis`
      docs: Put Ko-fi on a separate line
      docs: Make original driver announcement a quote
      docs: Link xow author
      hid-xpadneo: Auto-detect hardware profiles instead of hard-coding it
      docs: Add missing text about profile support
      hid-xpadneo, udev: Move udev rules up in rules priority
      configure: Remove disable-ff in favor of trigger-rumble-mode
      configure: No options is an error, don't do anything
      configure: Do not require dkms for configuration
      dkms: Install files with proper permission
      installer, dkms: Fix trying to install the wrong udev filename
      hid-xpadneo: Allow modparams for manual re-installation
      docs: Document more of the quirk flags
      hid-xpadneo, Makefile: Make version.h an intermediate target
      hid-xpadneo: Use jiffies converter functions instead of HZ
      hid-xpadneo: Allow adding and removing quirk flags
      hid-xpadneo: Fix indentation
      xpadneo, mouse: Support toggling mouse mode
      dkms: Fix CI
      dkms: Simplify installation
      xpadneo: Drop dynamic version file handling
      docs: Document rumble behavior with SDL_JOYSTICK_HIDAPI
      docs: Fix typo
      docs: Add note about holding the Guide button for too long
      hid-xpadneo: Sync consumer key events and stop processing
      xpadneo: Add current maintainer to module authors
      hid-xpadneo: Move SDL work-arounds to parent device
      hid-xpadneo: Revoke hidraw user access to fix a Proton mapping problem
      docs: Update pairing instruction to mitigate stability issues
      kbuild: Add work-around for matching source and object filename
      xpadneo, core: Add support for synthetic devices
      xpadneo: Fix "consumer control" naming
      xpadneo, consumer: Add synthetic consumer control device on demand
      reporting: Add some space for easy insertion
      reporting: Improve headers
      reportin...
Read more

v0.9.8 LAST XMAS

Choose a tag to compare

@kakra kakra released this 30 Dec 01:29

This is the final maintenance release for the v0.9 branch. We won't have another Christmas with version v0.9.

It mainly focuses on documentation cleanups, installer robustness, DKMS and packaging stability, and additional hardware compatibility fix-ups. There are no intentional functional changes to input handling or controller behavior.

The v0.9 branch is approaching its end-of-life. This release serves as a final polish to ensure a smooth experience on current distributions and kernels, while v0.10 continues to evolve in parallel.

Heads up, package maintainers: This release further stabilizes installer and DKMS behavior. Upcoming xpadneo v0.10 will introduce a new make-based installer intended to simplify packaging and automation workflows.

Headlines:

  • xpadneo, dkms: Drop deprecated variable CLEAN
  • xpadneo, docs: Align all of README.md with current distribution practice
  • xpadneo, docs: Link troubleshooting more prominently
  • xpadneo, quirks: Add another Microsoft OUI
  • xpadneo, quirks: Another Microsoft OUI
Kai Krakow (30):
      xpadneo, docs: Fix various spelling mistakes and phrasing
      xpadneo, docs: Fix indentation, line length and whitespace
      xpadneo, docs: Document the new quirk flags for configuration
      xpadneo, docs: Use dashes instead of stars for list items
      xpadneo, docs: Fix use of bare URLs
      xpadneo, installer: Delay `set -e` to not silence errors early
      xpadneo, quirks: Another Microsoft OUI
      xpadneo, quirks: Another Microsoft OUI
      xpadneo, ci: Drop Ubuntu 20.04 CI testing
      xpadneo, udev: Trigger loading of `uhid` before `bluetooth`
      xpadneo, psy: Fix potential pointer leak during battery registration
      xpadneo, psy: Fix memory leak of device and battery name
      xpadneo, probe: Implement error path for ida_simple_get()
      xpadneo, core: Remove hard requirement of ida_{alloc,free}
      xpadneo, docs: Document sensor drift and deadzones better
      xpadneo, docs: Link troubleshooting more prominently
      xpadneo, dkms: Fix shellcheck for unused variables
      xpadneo, dkms: Drop deprecated variable CLEAN
      xpadneo, docs: add GPL-2.0 relicensing requirement
      xpadneo, dkms: Fix warning about unassigned variables
      xpadneo, docs: document safe firmware flashing for Xbox controllers
      xpadneo, docs: improve Bluetooth dongle documentation
      xpadneo, docs: add user-reported Bluetooth dongle compatibility report
      xpadneo, docs: add PCIe Bluetooth adapter compatibility reports
      xpadneo, profiles: Report current profile as absolute axis
      xpadneo, docs: Unify list formatting of README.md
      xpadneo, docs: Align all of README.md with current distribution practice
      xpadneo, core: Support explicit paddle button usages
      xpadneo, docs: Fix manufacturer name of a tested USB BLE adapter
      xpadneo, quirks: Add another Microsoft OUI

l3d00m (2):
      xpadneo, docs: Update links to other projects
      xpadneo, docs: Fix typo and add specific hardware support to xone

Eduard Tolosa (1):
      xpadneo, udev: update rules for systemd v258+

John Mather (1):
      xpadneo, quirks: Add another OUI

v0.9.7 HO-HO-HO EDITION

Choose a tag to compare

@kakra kakra released this 23 Dec 13:32

This is a maintenance release of the previous "final" v0.9.6 because v0.10 will be delayed a little longer.

It provides support building for kernel 6.12 and later. It also adds new hardware support quirks and compatibility fix-ups. Although the list of changes seems long and accumulated over some time, there are no functional changes. Also, DKMS problems (like xpadneo missing after a kernel update or kernel hanging on boot because xpadneo is not built) should finally be fixed.

Heads up, package maintainers: Upcoming xpadneo v0.10 will provide a new make-based installer to make usage in packaging scripts easier and more streamlined. See docs/PACKAGING.md in the master branch for more details.

Headlines:

  • core, quirks: Add GameSir T4 Nova Lite support
  • core, quirks: Add GuliKit KK3 MAX quirks
  • core, quirks: Add heuristics to detect GameSir Nova controllers
  • hid-xpadneo: Actually allow building with kernel 6.12
  • hid-xpadneo: Allow building with kernel 6.12
  • xpadneo, core: Add configuration for disabling Xbox logo shift-mode
  • xpadneo, core: Fix coding style
  • xpadneo, hidraw: Fixup previous commit to properly work with DKMS
  • xpadneo, hidraw: Work around other software messing with our udev rules
  • xpadneo, quirks: Let another Microsoft OUI bypass heuristics
  • xpadneo, quirks: Prevent applying heuristics for some known vendors
Kai Krakow (33):
      xpadneo, core: Sort device quirks into proper order
      docs: Improve BT_DONGLES.md
      docs: Remove feature claims that are obsolete or no longer true
      docs: Fix wording and casing
      docs, README: Remove the broken Codacy badge
      xpadneo, core: Reorder devices by PID
      docs: Add troubleshoot instructions for controllers requesting a PIN
      docs: Add troubleshooting instructions after upgrading firmware
      docs: Add missing blank line
      docs: Add compatibilty status for a Simplecom Bluetooth dongle
      hid-xpadneo: Allow building with kernel 6.12
      xpadneo, hidraw: Work around other software messing with our udev rules
      xpadneo, hidraw: Fixup previous commit to properly work with DKMS
      hid-xpadneo: Actually allow building with kernel 6.12
      hid-xpadneo, core: Match kernel 6.12 report_fixup signature
      xpadneo, core: Fix coding style
      core, quirks: Add GameSir T4 Nova Lite support
      core, quirks: Add heuristics to detect GameSir Nova controllers
      core, quirks: DRY the rumble tests
      core, tests: Fix the pulse test and print test info
      core, debug: Allow output of decoded rumble packets for debugging
      xpadneo, debug: Fix indentation and output
      core, quirks: Add GuliKit KK3 MAX quirks
      xpadneo, quirks: Prevent applying heuristics for some known vendors
      xpadneo, quirks: Let another Microsoft OUI bypass heuristics
      xpadneo, installer: Fix some general issues with the scripts
      xpadneo, dkms: Match minimum kernel version with source code
      xpadneo, quirks: Another Microsoft OUI
      xpadneo, installer: Exit immediately on error
      xpadneo, dkms: Use "yes" for autoinstall instead of "Y"
      xpadneo, ci: Add missing dependencies
      xpadneo, ci: Add Ubuntu 24.04
      xpadneo, examples: Build hidraw properly on Ubuntu

Alexander Tsoy (2):
      docs: Suggest alternative command to get controller info
      docs: Add compatibilty status for UGREEN CM390

Matthew Scharley (1):
      bluez-tools isn't required on Tumbleweed

Scott Bailey (1):
      Doc update for KK3 Max

arnxxau (1):
      added ff_connect_notify config option to configure.sh

bouhaa (1):
      xpadneo, core: Add configuration for disabling Xbox logo shift-mode

liberodark (1):
      docs: Update BT_DONGLES

v0.9.6 FINAL

Choose a tag to compare

@kakra kakra released this 12 Feb 23:15

This is the last planned v0.9 maintenance release. The development branch will now refactor a lot of code heading towards v0.10, and only critical bug fixes will follow in v0.9.

There has been no release in a long time, so some important bug fixes accumulated. Thanks a lot for your patience, and especially our contributors for helpful code and testing.

Headlines:

  • docs: Elite S2 Profiles carry over
  • xpadneo: Add support for GuliKit KingKong2 PRO controllers
  • xpadneo, hid: Move paddles to range BTN_TRIGGER_HAPPY5
  • xpadneo, init: Actually save rumble test values before we replace them
  • xpadneo: Support GameSir T4 Cyclone models
  • xpadneo v0.9, hid: Fix documentation about Share button
Kai Krakow (16):
      xpadneo: Move bit swap helper to include file
      xpadneo, init: Fix rumble testing logic on connect
      xpadneo, init: Actually save rumble test values before we replace them
      xpadneo: Add support for GuliKit KingKong2 PRO controllers
      docs: Fix headline for GuliKit controllers
      xpadneo: Upgrade CI to Ubuntu 22.04
      xpadneo: Remove Ubuntu 18.04 from CI
      Makefile: Use kernel build symlink from `/lib/modules`
      xpadneo v0.9, hid: Fix documentation about Share button
      xpadneo, init: Do not report paddles unconditionally
      xpadneo, hid: Move paddles to range BTN_TRIGGER_HAPPY5
      xpadneo, init: Really exclude the keyboard event from the HID bitmap
      xpadneo, init: Detect HW profile support on current firmwares
      xpadneo v0.9, init: Disable bogus buttons replaced by known features
      xpadneo: Support GameSir T4 Cyclone models
      xpadneo, docs: Reintroduce hint about using SDL_JOYSTICK_HIDAPI=0

Kevin Locke (1):
      Add BUILD_EXCLUSIVE_CONFIG to dkms.conf

Willster Johnson (1):
      docs: Elite S2 Profiles carry over

thiccaxe (1):
      Update TROUBLESHOOTING.md

v0.9.5 HOTFIX

Choose a tag to compare

@kakra kakra released this 17 Sep 20:41

This is a hotfix release to fix broken SDL/Steam mappings (again). It also removes some outdated documentation.

Headlines:

  • xpadneo: Evade SDL-mismapping once again
Aniket (1):
      Remove outdated secure boot docs

Kai Krakow (1):
      xpadneo: Evade SDL-mismapping once again

v0.9.4 RE-RELEASE

Choose a tag to compare

@kakra kakra released this 27 Jun 19:51

This is mostly a re-release of hotfix v0.9.3 which adds a missing uhid warning and fixes the module version number.

Kai Krakow (5):
      docs: Update description for the xone project
      docs: Use capitalization for headlines consequently
      docs: Don't exceed line length
      docs: Fix typo
      docs, installer: Add notes about needed kernel features

v0.9.3 HOTFIX

Choose a tag to compare

@kakra kakra released this 30 May 02:50

This is a hotfix release to fix the Xbox button which broke in v0.9.2.

Headlines:

  • xpadneo, fixups: Adapt SDL fixup to fix the Xbox button
Kai Krakow (3):
      xpadneo, fixups: Apply SDL fixups unconditionally
      xpadneo, fixups: Adapt SDL fixup to fix the Xbox button

v0.9.2 MAINTENANCE

Choose a tag to compare

@kakra kakra released this 26 May 06:03

This is a maintenance release of xpadneo v0.9 to fix several issues found in the current v0.10 development branch.

Thanks to contributors Emil Velikov, @PetitMote, @Mikaka27 and @rdrms, we now have better compatibility with kernels 5.12 or later, latest DKMS versions, and improved documentation.

We also fixed an issue conforming to the Linux input spec better which improves compatibility with jinput and probably also the Chrome browser by not exposing keyboard mapping bits on a joystick device. Thanks to @markpaters for pointing that out.

Also, the current firmware generation seems to be unstable with our previous rumble throttling interval and we had to increase this to 50ms. This actually matches what the kernel is supposed to use for ff-memless emulation (but apparently it may still send rumble commands faster). Thus, it's recommended that anybody updates to this driver version.

Current kernels seem to cache devices when rebinding drivers. This affects our udev rules, and needed fixups won't be properly applied because the original VID/PID is no longer visible to us. We fixed this by reverting to the original VID/PID on device unbinding.

Due to the various compatibility fixes, this is a highly recommended update.

Compatibility issues

We found an issue with the OpenRGB and QMK Firmware projects which enabled world read/write permissions on rawhid devices unconditionally. While this may be a security issue on its own, it also enabled SDL to access our hidraw device in an incompatible way, leading to mapping problems for both axes and buttons, and also rumble instabilities. Both projects seem to have fixed this issue meanwhile but you may want to double-check you're updated to the latest versions, especially if you're experiencing issues with Steam Proton games.

Heads-up for package maintainers

Distributions shipping kernels 5.12 or later should no longer disable Bluetooth ERTM unconditionally. In fact, it may even harm connection stability when rumble is in use. For better stability, it's generally recommended to upgrade controllers to the new BLE firmware variant (version 5.x and above) for improved connection stability. To ease support, the firmware version will now be logged to dmesg with a warning if an old unstable firmware is found.

You should also inform users who experience input or rumble latency issues to adjust the Bluetooth latency parameters but this may be fixed in later bluez versions.

Headlines:

  • dkms: Explicitly add version to the install phase
  • dkms: Suggest trusting the git directory if version detection failed
  • docs: Document Bluetooth LE issues and work-arounds
  • docs: Document workarounds for the Xbox Wireless controller
  • xpadneo: Revert fixups on device removal
  • xpadneo, rumble: Fix rumble throttling for modern firmware
  • xpadneo v0.9, hid: Fix event ids to not fall into the keyboard range
  • xpadneo: Work around invalid mapping in Steam Link
Kai Krakow (27):
      docs: Update pairing instruction to mitigate stability issues
      misc, docs: Remove ERTM patches and update docs
      hid-xpadneo: Map instead of disable duplicate button "AC Back"
      docs: Document Bluetooth LE issues and work-arounds
      docs: Remove `Privacy=device` in favor of JustWorks re-pairing
      docs: Mention the xone project which has gone public now
      docs: List distribution packages
      hid-xpadneo, rumble: Do not lose rumble strength while throttled
      docs: Fix report descriptor syntax errors
      xpadneo: Work around invalid mapping in Steam Link
      xpadneo, hidraw: Also work around SDL2 hidraw mode conflicts
      dkms: Create version instance in DKMS source archives
      dkms: Explicitly add version to the install phase
      dkms, installer: Increase verbosity
      xpadneo: Drop CI for Ubuntu 16.04
      docs: Add note about audio support
      xpadneo: Revert fixups on device removal
      xpadneo: Update devices db for PID 0x0B13
      xpadneo: Add support for XB1S BLE firmware update
      xpadneo: Add XBE2 firmware 5.13 support
      xpadneo: Add paddles support
      xpadneo, rumble: Fix rumble throttling for modern firmware
      xpadneo v0.9, hid: Fix event ids to not fall into the keyboard range
      xpadneo, core: Warn about old firmware version with stability issues
      dkms: Suggest trusting the git directory if version detection failed
      dkms: Add another status line variant to split module and version
      docs: Update documentation about the XBE2 paddles

Emil Velikov (1):
      dkms: remove REMAKE_INITRD

Moté (1):
      docs: Document workarounds for the Xbox Wireless controller

mikaka (1):
      Don't disable ERTM if kernel 5.12 or later

ryanrms (1):
      Adding openSUSE to readme.md