chimeraos icon indicating copy to clipboard operation
chimeraos copied to clipboard

DualShock 4 via Bluetooth is seen as two controllers under RetroArch

Open GreaterJoe opened this issue 2 years ago • 7 comments

Found this by booting up a GBA game, but I presume it's universal across the RetroArch games library.

Upon launching an emulated game, RetroArch detects two controllers. The first controller is the DualShock 4 as connected via Bluetooth, the second is seen as an Xbox 360 controller as rebound by Steam Input. This is problematic for multiplayer, but moreso it means that rebinding controls for single player games can't be done through Steam Input and HAS to be done by launching RetroArch into RGUI, and fiddling with the Advanced settings if you want a remap to only be per-core.

Preferably you should be able to set a Steam Input profile per core, and have that be the only controller detected by RetroArch.

GreaterJoe avatar May 25 '22 01:05 GreaterJoe

That would be a much worse user experience IMO. It would require a lot of manual setup by the user since we couldn't ever provide mappings for every possible controller via Steam Input.

alkazar avatar May 25 '22 01:05 alkazar

I believe that using a mixed set of controllers would also be problematic with your suggested setup.

alkazar avatar May 25 '22 01:05 alkazar

If there's a different solution for remapping controls that doesn't involve installing RetroArch as a ROM and then editing that non-steam game entry to start into the Quick Menu, I'd be ecstatic. That menu is obtuse already without those extra steps.

GreaterJoe avatar May 25 '22 09:05 GreaterJoe

One possible solution is adding a built in option to start RetroArch from the web app. Or for now you could run retroarch from the command line with:

  • DISPLAY=:0 retroarch

If you want to use Steam Input as the only controller, you could actually do the following to disable all controllers except the one Steam Input emulates:

  • access a terminal
  • rm ~/.config/retroarch/autoconfig
  • mkdir -p ~/.config/retroarch/autoconfig/udev
  • cp /usr/share/libretro/autoconfig/udev/Microsoft\ X-Box\ 360\ pad.cfg ~/.config/retroarch/autoconfig/udev

What is the use case here exactly though? Do you want to modify the controller configuration per game? Or per system? If per system then Steam Input is not going to be a very good solution and you will want to modify the RetroArch settings instead.

Writing this up and testing this made me realize there is another problem with using Steam Input in this way: anyone with an actual Xbox 360 controller will have the problem of duplicated controllers.

alkazar avatar May 25 '22 11:05 alkazar

Ideally Steam Input could suppress the real controller devices when it is enabled. As is, Steam Input is kind of useless except to add controller support for games that do not detect controllers in the first place.

alkazar avatar May 25 '22 11:05 alkazar

One possible solution is adding a built in option to start RetroArch from the web app.

This would be a big improvement. It'd give a clear route to remapping, and it'd prevent confusion that might lead a user to, say, make multiple RA launchers to accomodate each core they wanted to configure. It'd also make clear the fact that while RGUI does interfere with the Steam Overlay and thus should stay disabled, its features are still available to Chimera users if needed.

GreaterJoe avatar May 25 '22 18:05 GreaterJoe

I ran into this same problem. I use the official USB wireless adaptor which I always had assumed was in RetroArch but wasn't, so I added it.

Regardless, it would be helpful to have a menu option to launch RetroArch into the RGUI. I don't really mind the RGUI and it's useful to configure additional hotkey binds like savestates and entering the menu to tinker with core options during emulation.

Maybe when a RetroArch-based game is present, a non-Steam menu item for RetroArch could be added as well? That would solve OP's problem, solve the problem for any other controllers without an autoconfig in upstream RetroArch, and would allow people to configure RetroArch however they like without dropping to Gnome desktop.

superjamie avatar Jul 13 '23 00:07 superjamie