FROM https://www.reddit.com/r/Fedora/comments/zmvkdj/8bitdo_ultimate_bluetooth_controller_working_in/
I've bought this new controller from 8BitDo and wished to use on linux, to my sadness the controller didn't work out of the box, neither by cable, the 2.4G dongle or bluetooth.
So I've tried a number of solutions and this one from u/GodOfEmus over in the 8bitdo community was the one to work for me:
- Create a new file /etc/udev/rules.d/99-8bitdo-xinput.rules
- Paste this udev rule in there, then save and exit the file:
ACTION=="add", ATTRS{idVendor}=="2dc8", ATTRS{idProduct}=="3106", RUN+="/sbin/modprobe xpad", RUN+="/bin/sh -c 'echo 2dc8 3106 > /sys/bus/usb/drivers/xpad/new_id'"- Run the following command in a terminal:
sudo udevadm control --reload - Unplug and replug the controller if it was already plugged in, it might take a second if you have the bluetooth version
It will basically "cheat" the OS to see the controller as an generic xbox device, so sadly no bluetooth nor gyro control if you care about that, but the rumbling is working for me.
Link to the original post: https://www.reddit.com/r/8bitdo/comments/ykdsmv/ultimate_24_ghz_model_right_analog_not_working_in/
And link to the comment of u/GodOfEmus with the solution: https://www.reddit.com/r/8bitdo/comments/ykdsmv/comment/iv48s4k/?utm_source=share&utm_medium=web2x&context=3
Sharing this solution here to spread the word in our community
This is how I manager to avoid continuous disconnection of the 8BitDo Pro 3 connected via 2.4G on Debian 13 "Trixie":
Clone this repo:
git clone --depth 1 https://github.com/pastaq/evdev-keepalive.gitCD into the repo, build the executable and install it by copying it to the right place on your system:
Create
/etc/udev/rules.d/10-evdev-keepalive.ruleswith this content (NOTE that the ProductID changes while the pad is actually connected! If you runlsusb, you will see the ProductID of the 2.4G dongle instead, which 3109 instead of 310b! Took me a while to notice this absurdity...):Now create
/etc/systemd/system/[email protected]with this content (as a curiosity, the@means this is a templated service: it will be created as[email protected]if your pad appears as/dev/event16, etc.. you get the idea):Reload udev rules:
sudo udevadm control --reload-rules && sudo udevadm trigger..and presto, the Pro 3 shouldn't self-disconnect constantly, and in fact, it's automatically connected on boot (=no stalls when powering on the pad during gameplay).
But having to go though all this is SO stupid. 8BitDo firmware sucks big time. The pad is great, but oh man is the firmware broken for proper operation...