atar-axis / xpadneo

Advanced Linux Driver for Xbox One Wireless Controller (shipped with Xbox One S)
https://atar-axis.github.io/xpadneo/
GNU General Public License v3.0
1.88k stars 110 forks source link

xpadneo causes GuliKit King Kong 2 controller to vibrate constantly #391

Closed Termuellinator closed 1 year ago

Termuellinator commented 1 year ago

Version of xpadneo

xpadneo-dkms 0.9.5-2 from AUR

Controller Model

Connection mode

Installed Software

Protocol Information

Please help us identify at which layer the problem can be found if you want to report mapping errors or if the controller fails to be detected:

Please describe how it is failing below in the next sections.

Severity / Impact

Describe the Bug

I bought a new GuliKit KingKong 2 controller but was very confused when it wouldn't stop vibrating while connected via Bluetooth. Connected via USB everything was fine. Besides the vibration issue, all buttons seemed to work just fine.

After some poking around i noticed it seemed to use the hid_xpadneo module - after uninstalling xpadneo, it uses hid_microsoft and everything works as expected.

So i guess it would be a solution to prevent xpadneos udev to catch that controller? At least i would think that would be easier than figuring out why a constant vibration is sent to the controler ;)

Edit: i must correct myself - vibration seems to NOT work with bluetooth and hid_microsoft, so maybe fixing the sustained vibration would be the better way if it's doable :D

System Information

# uname -a
Linux Wunderland 6.0.5-zen1-1-zen #1 ZEN SMP PREEMPT_DYNAMIC Wed, 26 Oct 2022 15:26:02 +0000 x86_64 GNU/Linux

Controller and Bluetooth Information

➜ ~ bluetoothctl info
Device 98:B6:EA:E8:9C:CA (public) Name: GuliKit Controller XW Alias: GuliKit Controller XW Class: 0x00000508 Icon: input-gaming Paired: yes Bonded: yes Trusted: yes Blocked: no Connected: yes WakeAllowed: yes LegacyPairing: no UUID: Human Interface Device... (00001124-0000-1000-8000-00805f9b34fb) UUID: PnP Information (00001200-0000-1000-8000-00805f9b34fb) Modalias: usb:v045Ep02E0d0903

Let me know if any other outputs are relevant for this

Additional Context

kakra commented 1 year ago

Maybe someone has an 8BitDo controller and could also test #393?

Dkoeddnsnp commented 1 year ago

I have cosstant vibration after connection with 8bitdo pro 2.

kakra commented 1 year ago

Yes, this is a known issue and thus this PR hasn't been backported to the stable version yet. I didn't have time to look into it, and it would be easier, if I had such a controller to test both scenarios. Please join https://github.com/atar-axis/xpadneo/issues/400 for commenting instead of here. Thanks. :-)

spikerguy commented 10 months ago

Hello,

Thanks to xpadneo driver we have vibration working over bluetooth on NS09. I am using xpadneo-dkms-git aur version on Manjaro linux.

I tried it today with Tomb Raider and Forza Horizon 5, the vibration is quite weak and very confusing to the actual gameplay.

Example in tomb raider I am on the edge of the cliff or jumping from one pole to another and the vibration would go crazy in such situation over usb but it merely vibrates over bluetooth and then it would stop vibrating even when the phase is still not completed.

If someone can guide me on how to debug the rumble or share some documentation then I can try to share logs.

Thanks.

kakra commented 10 months ago

This may be partially due to limiting rumble to samples taken at 50 hz over Bluetooth. But there's an issue with some USB drivers send way too pronounced rumble effects, also the motors in this controller are very weak like in "slow to spin up". I compared it directly with an Xbox controller using the hidraw test program in this project, and the NS09 motors are really very weak. So USB drivers over-pronouncing rumble may actually just accelerate the motors faster but are not playing the effect accurately. But we can check if the rumble parameter implementation is actually correct in NS09 (it already has some known bugs), please open a new issue for it.