-
Notifications
You must be signed in to change notification settings - Fork 110
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Proposed version v0.9.2 #325
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
See-also: atar-axis#198 Signed-off-by: Kai Krakow <kai@kaishome.de>
This patch has been accepted upstream: https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git/commit/?id=98d2c3e1731007acf03addf83c863df6694beb95 Maybe-fixes: atar-axis#264 Signed-off-by: Kai Krakow <kai@kaishome.de>
It won't be reported twice when mapped to the same button anyways, so we can just map it. If either of the bits work, the button will work. Signed-off-by: Kai Krakow <kai@kaishome.de>
It looks like the new Xbox Series X|S controller doesn't set its BLE connection parameters properly. The problem is currently evaluated in the bluez project. Until it's officially resolved, let's document a work-around. See-also: bluez/bluez#156 Fixes: atar-axis#297 Maybe-fixes: atar-axis#290 Signed-off-by: Kai Krakow <kai@kaishome.de>
Tests showed that device privacy is actually not needed for the Xbox BLE controller. But the device seems to support JustWorks re-pairing. See-also: atar-axis#295 See-also: atar-axis#259 Signed-off-by: Kai Krakow <kai@kaishome.de>
Signed-off-by: Kai Krakow <kai@kaishome.de>
Signed-off-by: Kai Krakow <kai@kaishome.de>
Thanks to everybody on atar-axis#295. Fixes: atar-axis#308 [style fixes by Kai Krakow, changed commit description] Closes: atar-axis#309 Signed-off-by: Kai Krakow <kai@kaishome.de>
While the rumble thread is throttled, we may actually miss the peak rumble strength resulting in an experience of rumbles with varying strength when these are repeatedly sent by a game. To work around this, we now accumulate the maximum strength set during the throttle interval, then reset the accumulator when a rumble has been sent to the controller. Maybe-fixes: atar-axis#290 Signed-off-by: Kai Krakow <kai@kaishome.de>
By selecting this option, dkms attempts to add the module into the user init ramdisk. While it seems like a cool idea it is not something the module should decide by the user or distribution on their behalf. I'm aiming to purge the option in upstream dkms, since it's fairly convoluted and error-prone code. So let's remove it from this module. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Signed-off-by: Kai Krakow <kai@kaishome.de>
Steam Link has access to the hidraw device using the input group, thus revoke all access bits from the device to work around the issue. Fixes: atar-axis#291 Signed-off-by: Kai Krakow <kai@kaishome.de>
Also fixes Steam Input which apparently also uses SDL2. The bug shows up when SDL identifies the controller as being on USB instead of Bluetooth (SDL Gamepad ID starts with `03` instead of `05`) which then messes with SDL's expectations for the contents of hidraw. This fixes two SDL problems: * Wrong mappings in hidraw (buttons shifted to other buttons) * SDL2 doesn't properly throttle rumble commands (endless rumble) See-also: atar-axis#286 Maybe-fixes: atar-axis#303 Maybe-fixes: atar-axis#311 Maybe-fixes: atar-axis#314 Signed-off-by: Kai Krakow <kai@kaishome.de>
Signed-off-by: Kai Krakow <kai@kaishome.de>
DKMS 3 requires passing the version to BOTH the install and uninstall phase and we omitted it from the install phase. Fixes: atar-axis#322 Signed-off-by: Kai Krakow <kai@kaishome.de>
Signed-off-by: Kai Krakow <kai@kaishome.de>
CI no longer supports such old distributions. This also means older kernels are no longer officially supported although this branch will try to maintain compatibility. As of this version, xpadneo will thus drop example code and documents targeted for only old kernel versions. Signed-off-by: Kai Krakow <kai@kaishome.de>
Closed
Signed-off-by: Kai Krakow <kai@kaishome.de>
Later kernels seem to cache devices when removed from a driver. This commit undoes our fixups so we can properly detect and reapply them when we see the device again, even if the device itself was never removed from the kernel. Fixes: atar-axis#340 Maybe-fixes: atar-axis#347 Maybe-fixes: atar-axis#343 Signed-off-by: Kai Krakow <kai@kaishome.de>
It seems to be used for both the Xbox Series X|S and the original Xbox One S controller when updated to firmware 5.13. Closes: atar-axis#314 Signed-off-by: Kai Krakow <kai@kaishome.de>
Microsoft added BLE support to existing controllers. This commit adds support for binding xpadneo to controllers flashed with the new firmware version which exposes the device under a new PID. The new firmware needs the Share button quirk. Affects: atar-axis#314 Signed-off-by: Kai Krakow <kai@kaishome.de>
Closes: atar-axis#338 See-also: atar-axis#344 Signed-off-by: Kai Krakow <kai@kaishome.de>
We still silence the paddles when one of the profiles is selected, the default profile setup maps the paddles to A, B, X, and Y. The paddles are special because they are passed as one key by the HID report. We need to manually remap those values to individual bits. Maybe-affects: atar-axis#344 Closes: atar-axis#332 Signed-off-by: Kai Krakow <kai@kaishome.de>
Firmware 5.13 and later (all BLE models) queue rumble effects if we send rumble commands faster than 20 Hz. This commit fixes it and actually matches the rate the ff-memless emulation is supposed to send us for single effects. ff-memless may still combine several effects and send them at higher update rates thus we need to limit it here. Fixes: atar-axis#337 Fixes: atar-axis#311 Maybe-affects: atar-axis#347 Maybe-fixes: atar-axis#319 Maybe-fixes: atar-axis#180 Signed-off-by: Kai Krakow <kai@kaishome.de>
24 tasks
Do not expose keyboard events to the gamepad device as this may confuse user-space software that's using evdev and jsdev in combination, and is against the spec anyways. Later versions of xpadneo split the gamepad into sub-devices per each category of buttons, and thus don't need this fix. Fixes: atar-axis#359 Signed-off-by: Kai Krakow <kai@kaishome.de>
Signed-off-by: Kai Krakow <kai@kaishome.de>
Git 2.35.2 added a trust model to prevent user scripts and hooks of git repositories to be executed with elevated privileges by accident. This prevents the installer from getting the repository version when the repository was checked out by a non-root user. This commit adds an error message to suggest trusting the repository and also links to the bug report for further details. Fixes: atar-axis#346 Signed-off-by: Kai Krakow <kai@kaishome.de>
Affects: atar-axis#344 Signed-off-by: Kai Krakow <kai@kaishome.de>
Signed-off-by: Kai Krakow <kai@kaishome.de>
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. 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. 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 Signed-off-by: Kai Krakow <kai@kaishome.de>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.