Okay that one is for Linux bros, if you have ANY issues with new controller you bought and it isn't picked up by Xpad driver and is listed unsupported on Linux in gamepadla.com
First what you want to do is check the back of the controller if there is an Switch from Nintendo input, DS Input, Xinput.
Then if it still isn't working open terminal and type in
Hit enter. This will list all of your USB connected devices.
Edit: sometimes you have to plug in controller wired fo it to pick up your vendor id and product id because it could and probably will pick 2.4Ghz dongle first but also spammed it into my udev rules lmao.
This is based on
https://gist.github.com/ammuench/0dcf14faf4e3b000020992612a2711e
This is an 8BitDo tutorial but can be replaced with other manufacturers too.
I had possitive things happen when I modified it for FlyDigi Apex 5 controller as it wasn't supported on Linux apparently.
Open terminal yet again or if you hadn't closed it already type
Code:
sudo gedit /etc/udev/rules.d/99-8bitdo-xinput.rules
You can replace it 99-flydigi-xinput.rules or whatever brand you use or just make general 99-controllers-xinput.rules
Code:
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'"
Copy your vendor id product from lsusb command (shift+ctrl+c) and paste (shift+ctrl+v) same with product id, replace echo values too.
Save the file, ctrl+s. Exit.
Type in:
Code:
sudo udevadm control --reload
And it should force it to use Xpad driver.
On Arch you can download new patched Xpad driver and use it as DKMS (Dynamic Kernel Module Support) but if one uses something like Bazzite they can't update Xpad drivers, they could probably do an Xinput udev rule.