Update steam-input udev rules? 8bitdo Pro 3 controller issues

Been trying to get my 8bitdo Pro 3 to have full functionality on Steam (gyro, macros, and analog triggers working at the same time) and running into no end of trouble. I see a steam thread here that purports to have the solution - updating to a recent steam-input set of udev rules - but can’t reproduce the success. Have tried adding the file in question (here) to my lib/udev/rules.d folders (there are multiple), adding it to a new udev/rules.d folder in etc folders adjacent to the existing lib/udev/rules.d folders, restarting steam, restarting fedora (desktop, 42 if it helps). Nothing works.

More diagnostic info:
Right now, using Steam installed via terminal (sudo dnf install steam). Both Steam and Steam-Devices read as up to date.
Fedora Desktop 42.
steam-1.0.0.83-3.fc42.i686 from rpmfusion-nonfree-steam
Trying to get gyro and macros working on direct-input mode, bluetooth. Steam recognizes the 8bitdo Pro 3, but lacks gyro and macros. Analog triggers work in this mode.
If connecting via Switch mode, gyro works fine but triggers become digital (on/off) rather than analog. In this context, Steam and Fedora only see the controller as a Switch Pro controller.

I suspect there’s something I’m misunderstanding about how udev rules work and how to install them - or maybe they have some quirks I’m unaware of on Fedora specifically? Not being able to fix this wouldn’t be the end of the world, but at this point I’m really curious what’s going on.

1 Like

You are expected to install it like this:

sudo dnf install git-core
git clone https://github.com/ValveSoftware/steam-devices
sudo cp -f steam-devices/*.rules /etc/udev/rules.d
sudo udevadm control -R
sudo udevadm trigger

If the issue persists, the cause must be elsewhere.

2 Likes

Going command by command:

  • git-core Installs successfully
  • cloning works successfully
  • “cp: target ‘/etc/udev/rules.d’: No such file or directory”

and I stall out there - no sign of an etc/udev/rules.d anywhere in a Steam install, rules.d folders are all in lib folders.

edit: I see

/etc/udev/rules.d

is an absolute path - does that mean I should just

sudo mkdir -p /etc/udev/rules.d

to create it? Still fairly new with terminal-based directory management

edit 2: for any future readers - it was not necessary for me to make the directory in terminal. Reinstalling systemd-udev was sufficient to run through the command list provided, resulting in the rules updating successfully.

sudo dnf reinstall systemd-udev
1 Like

Success! Thank you so much - the above installation method worked correctly following this reinstall.

2 Likes