Skip to content
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

Bluetooth USB Dongle Feedback #398

Open
Aerodin opened this issue Dec 5, 2022 · 1 comment
Open

Bluetooth USB Dongle Feedback #398

Aerodin opened this issue Dec 5, 2022 · 1 comment
Labels
0 | type: enhancement New feature or request

Comments

@Aerodin
Copy link

Aerodin commented Dec 5, 2022

##To moderators
Close Immediately - Bluetooth Dongle Testing Results
I just wanted to make sure others know that the Bluetooth Dongle really matters in addition to using the XPadNeo software for success!

Version of xpadneo

Latest version 0.9.5

Controller Model

XBox Wireless Elite Series 2 Controller

Connection mode

Bluetooth connection

OS

Ubuntu 22.04

##TLDR
Skip to the bottom! Continue reading if you want a story. Feel free to tell me if it was terrible or made your day. ;)

##Story
Hey there!

I figured that since it had been years surely the latest controllers can work perfectly wireless even if I am running Linux (first gulp) and I had no prior experience of a good working controller with rumble on wireless (second gulp). "Screw it", I said to myself, "let's make this happen! No more cables!" I was a man on a mission to get a flawless controller with rumble working without cables. I was also going to be leaving behind my Playstation Dual Shock 4 controller that had faithfully served me via USB cable with rumble and all faithfully (third gulp).

I ordered the Microsoft Elite Series 2 controller. It was $222. I debated even ordering this really expensive controller - after all a $40 Dual Shock 4 controller had gone above and beyond it's value in delivering many fond gaming memories. Fudge it, let's do it! I hit the order button. The day the controller came in I excitedly set it up with my PC and launched a game on steam to confirm it works. It worked! Wait a minute... where is the rumble!? I didn't know it - but that was going to be the beginning of a long journey. I would switch between settling for playing without rumble because it otherwise worked pretty well and researching online to see if it was possible to get it working. I didn't pay $222 just to have no rumble! It took a while but I finally took my Xbox controller over to a friend's house and plugged it into his Windows 11 machine that he absolutely hates, but refuses to use anything else, and used the Xbox Accessories App on there to update the firmware. It indicated that my game pad needed an update! The update succeeded, and once I got home I was thrilled to discover that the rumble worked while the USB cable was plugged in. Excellent! It's working! I unplugged the cable and my first thought was "Wow it works via bluetooth too! It's finally, maybe, worth $222!" It took a few seconds, or I hate to admit this but maybe it took me 2-3 minutes to realize this, but then I realized that there was this very weird delay. if I played for 15 seconds and stopped. The rumble didn't stop when I stopped, it kept going. My controls were working in real time but my rumble was on a huge latency delay. The rumble for 15 seconds and stopping would continue for 30 seconds. To make it worse, the delay got longer and longer the more I played before any rumble stopped (in game) but the controller kept shaking. That's when I realized I had a severe rumble latency problem that would make wireless playing frustrating. I almost wanted to return a $222 game pad because it wasn't worth $222 if it can't provide flawless rumble!

I did some more research online and this time I found XPadNeo and installed it. The issue didn't go away but undeterred I continued and noticed that there was a Bluetooth Dongle link at the bottom for compatible. Listed on the page was my Bluetooth Dongle the Plugable USB Bluetooth 4.0 Low Energy Micro Adapter. This had served me faithfully for a year or two running my bluetooth headphones and any other bluetooth devices I wanted working and it worked without issues. It had never occured to me that the rumble might be the bluetooth dongle issue but the words "Connection flawless, Sometimes laggy while Gameplay" caught my eyes. That's it, it seems like it's my bluetooth dongle that is the issue!

I went online to Amazon using the Bluetooth Dongle compatible list and found they had the Panda Bluetooth 4.0 USB Nano Adapter for $17.99. (fourth gulp). Did I want to potentially add an extra $17.99 to a $222 potential sob story? Was I going to regret this like I was regretting the $222 controller purchase? I decided to take a chance and got it. It seemed like a very faint light at the end of a very, very long tunnel.

When that Panda usb dongle came in, I plugged it in and connected it via the bluetoothctrl program in the console and launched into the game. There was NO RUMBLE latency anymore and it was working beautifully! The journey to getting to this point had been rather emotional and I almost quit at various points in that journey to getting all this to work. I learned a lot of new things along the way as far as technical things go and I now have a working setup! I will, however, continue to debate whether $240 was too much or not! (fifth, but not really, gulp)

##TLDR
Ensure Xbox controller has the latest firmware. Out of the box with no firmware update there is absolutely no rumble support for Linux systems, period.

Plugable USB Bluetooth 4.0 Low Energy Micro Adapter works great for just controller use without rumble. With rumble, there will be rumble latency that makes it not worth playing with rumble on.

Panda Bluetooth 4.0 USB Nano Adapter - It will work great as far as the controls go and there is no latency with rumble.

Both dongles were tested with Elite Series 2 controller via bluetooth alongside a bluetooth headphone.

@kakra
Copy link
Collaborator

kakra commented Dec 6, 2022

Well, we could fit that into the documentation... ;-)

The rumble latency thing seems to be manyfold with the Xbox controller firmware. We had to go from 10ms (below would crash all controller firmwares) to 20ms (below would crash most newer firmwares and stop rumbling, or introduce latency on BLE firmwares) to 50ms (below will introduce severe reprogramming latencies with latest BLE firmwares). I suggested to upstream this change to SDL, so it should be fixed there, too, when not using xpadneo.

The other thing is that the Xbox controller firmwares are notoriously incompatible with a lot of popular Bluetooth chipsets, especially Intel AX200 (and variants) which ship built-in with many new machines. This even affects Windows machines which fight with similar latency/crash situations and connection issues then, so it's not exclusively a Linux problem. MS has done a really bad job here but it looks like Bluetooth mode of these controllers has never been a real focus anyways, it's just there to reach the market of mobile phones, it was never meant to be used for PC gaming and it's expected to rather use the Microsoft 5Ghz dongle (which needs proprietary license-protected firmware sideloaded by the drivers).

That said, I also have the Xbox Elite 2 controller - and when I got it from the community to make it work with the drivers, I've put a very different beast of device onto my table: it had so many new quirks compared to the other models... And again, it was notoriously buggy in Bluetooth mode.

Which reminds me that there seems to be an updated firmware version for some models that I need to test the driver with...

@kakra kakra added the 0 | type: enhancement New feature or request label Dec 6, 2022
@kakra kakra added this to Known in Bluetooth issues via automation Dec 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0 | type: enhancement New feature or request
Projects
Development

No branches or pull requests

2 participants