Hello @marco-calautti, can you provide a game that you have tested this with, and what assortment of controllers did you use?
Games I tried:
I used 3 DS4 controllers and an Xbox One controller.
In both games, if I enable steam input, only the first 3 controllers sending input to the game are recognized (no matter if they are DS4 or Xbox controllers). If I disable steam input, all 4 controllers are recognized in Screaming Chicken, while Brawlhalla simply does not register any input.
Hello,
We tested with Brawlhalla and we are able to use 4 controllers simultaneously on Linux Desktop. We cannot reproduce the issue.
It's worth noting that Brawlhalla has a hardcoded limit of 4 controllers. If the host has more than 4 controllers plugged in, all extras will be ignored by the game (this can be verified on Windows as well). This matters on Steam Deck where you will need to rearrange controller order so the builtin Deck controller doesn't get picked up first (we tested Deck to be working as well).
We tested with latest Steam beta client on Ubuntu 20. enable Steam Input for XBox controllers and enable Steam Input for Playstation controllers are enabled in the Steam Input settings.
Our controller makeup is different than yours but that seems unlikely to be a root cause (Steam Controller and Xbox One S controller instead of the extra 2 DS4).
It's worth noting that Brawlhalla has a hardcoded limit of 4 controllers. If the host has more than 4 controllers plugged in, all extras will be ignored by the game (this can be verified on Windows as well). This matters on Steam Deck where you will need to rearrange controller order so the builtin Deck controller doesn't get picked up first (we tested Deck to be working as well).
This might probably be the issue, as I have permanently connected 2 usb dongles for the Guitar Hero Guitars, which probably get picked first. however, this would mean that I would be able to only use 2 additional controllers, and not 3.
I will try switching the order, and report back.
It seems that changing the order of the controllers made the game recognize them.
However, I find this behaviour very counter-intuitive and strictly related to how the OS/steam connects to the controllers.
I would expect the game to pick up not the first 4 controllers in a list given by the OS/Steam, but the first 4 controllers that provide for the first time some input to the game, similarly to what happens in a console. Steam input could do something in this regard to make this process smoother, and similar to what an actual gaming console does.
Having this issue as well in any 4player game tested, including
Tried with a mix of wired and wireless controllers, across a mix of Xbox One and Xbox Series X controllers
This was attempted with the official wireless dongle and using https://github.com/medusalix/xone
if there's any additional information i can provide I'm happy to run some commands or help how i can
I'm having a similar problem in Overcooked 2. The Steam Deck correctly identifies all my four additional controllers, but it seems that the game can not handle more than 4 controllers, so, as I'm not able to remove the Deck controller I'm left with just three additional controllers.
As I was suggested, change the controller order in the game's controller settings. The game will pick up the first 4 controllers of the list.
As I was suggested, change the controller order in the game's controller settings. The game will pick up the first 4 controllers of the list.
I wasn't able to get the game to not pickup the Steam Deck controller regardless of order in the settings and I tried changing the order multiple times and relaunching the game. I'll try again anyway.
As I was suggested, change the controller order in the game's controller settings. The game will pick up the first 4 controllers of the list.
This didn't work for me in any of the four player games I tried:
I find rebooting the deck can resolve the issue temporarily. Usually for one game. Switching to a new game brings the issue back.
I have also tried a variety of wired vs wireless, all controllers work fine at the OS.
If I'm playing the deck while on the official dock there is no situation where I'm using the deck as a controller.
The Steam for Linux sniper runtime was updated with SDL 2.30.4 which has a fix for this issue.
Closing per the last comment.
Nothing extracted yet.
Your system information
Please describe your issue in as much detail as possible:
If Steam input is enabled, when I try to play games supporting 4 players or more, the games only recognize 3 of the connected controllers. If I disable steam input, then (given the game has built-in support for the controllers I have), the game recognizes all controllers.
Steps for reproducing this issue:
This issue essentially makes impossible playing 4+ players games that have no built-in support for gamepads (e.g., DS4 or Pro Controller). Which means people pay for a game that they will not be able to play as advertised.
Steam input is broken in so many ways that it is almost embarassing. If Valve has not or does not want to invest resources to fix the Steam input system (which seems to be so, according to the plenty of open and unresolved issues on this repository), then I would suggest open sourcing at least the Steam input component of Steam, to let the community jump in, in the same way Valve is doing with Proton.