Steam Deck

Steam Deck

8BitDo Ultimate 2 Wireless + 2.4GHz Dongle Issues
Hi, recently SteamOS has allowed 8BitDo controllers to show up and have their extra buttons and gyro mapped. 8BitDo also allowed us to change the controller's connecting mode by holding a button before turning the controller on.

Specifically, if you hold "B" when turning on the U2W controller, it will connect to the 2.4GHz dongle in D-Input mode. On Windows, this shows up in SteamOS as a perfect 8BitDo U2W controller, complete with extra buttons, while staying on the 2.4GHz dongle connection.

However, on Steam Deck, turning the controller on this way usually defaults the controller to only be a "dumb" D-Input controller over the 2.4GHz dongle. So, no extra button mappings, gyro, etc. BUT, if I restart the Steam Deck entirely afterward, and you leave the controller on, the controller knows to stay connected to the dongle...and then it shows up as a good U2W on Steam Deck...until you turn the controller itself off and on again.

It's driving me a little crazy. Bonus points: the dongle frequently disconnects from third-party docks unless it's inside of the 8BitDo U2W dock that the controller comes with.
< >
Showing 1-8 of 8 comments
I'm having the same issue. Getting tired of people saying "just use bluetooth" - the dongle reads much better. Didn't know about the restart trick though, so thanks for that. I also noticed that when it reads as the "dumb" d-input, the default name is "8BitDo Ultimate 2 Wireless" but when it's the full-featured version, it's named "8BitDo Ultimate 2 Wireless Controller for PC".

Also, yes, I'm on the latest Beta for Steam and fully updated the controller and dongle.
Can confirm the 8BitDo Ultimate 2 works fine on other Linux distributions. This is specifically a bug with SteamOS. (udev bindings?) Bluetooth is not an ideal solution as the controller boasts a high polling rate - BT functionally reduces the rate to 250hz.
The "dumb" D-input controller is the dongle itself. Whichever Steam detects first will define the profile of USB port. That said, unplugging the dongle works as a better alternative to restart, - just need to start the controller in D-input mode while dongle is detached.

Ultimate 2 and dongle have different product ids (6012 and 6013) respectfully. When dongle is plugged, it will show as 2dc8:6013 and changes to 2dc8:6012 when controller is started.
Steam does not react to the change, unfortunately. It also cannot predict which controller model would that dongle be paired to, defaulting to a most basic one.

No udev rules I could find, it's likely built in proprietary code so no way to override. Also explains why it works on a proper distro as it would have udev in charge of that.
Ah, so you mean to say on SteamOS they handle controller hardware through some proprietary system rather than via udev? That would make sense to me.

Sure enough, turning on the controller in DirectInput mode before plugging in the dongle does the trick. Works fine on my deck now.
Originally posted by vocifer:
The "dumb" D-input controller is the dongle itself. Whichever Steam detects first will define the profile of USB port. That said, unplugging the dongle works as a better alternative to restart, - just need to start the controller in D-input mode while dongle is detached.

Ultimate 2 and dongle have different product ids (6012 and 6013) respectfully. When dongle is plugged, it will show as 2dc8:6013 and changes to 2dc8:6012 when controller is started.
Steam does not react to the change, unfortunately. It also cannot predict which controller model would that dongle be paired to, defaulting to a most basic one.

No udev rules I could find, it's likely built in proprietary code so no way to override. Also explains why it works on a proper distro as it would have udev in charge of that.

Thank you! That work around will help so much. A lot easier than restarting the deck itself.
Originally posted by vocifer:
The "dumb" D-input controller is the dongle itself. Whichever Steam detects first will define the profile of USB port. That said, unplugging the dongle works as a better alternative to restart, - just need to start the controller in D-input mode while dongle is detached.

Ultimate 2 and dongle have different product ids (6012 and 6013) respectfully. When dongle is plugged, it will show as 2dc8:6013 and changes to 2dc8:6012 when controller is started.
Steam does not react to the change, unfortunately. It also cannot predict which controller model would that dongle be paired to, defaulting to a most basic one.

No udev rules I could find, it's likely built in proprietary code so no way to override. Also explains why it works on a proper distro as it would have udev in charge of that.
bro thanks :reheart:
Yeah, it actually works perfectly on Bazzite on both a Steam Deck and an Xbox Ally X!
For those with U2CW, the dongle also has D-input, but it was removed in a firmware update (1.03), it is present if you install the older firmware on the dongle for U2C.
< >
Showing 1-8 of 8 comments
Per page: 1530 50