Proton icon indicating copy to clipboard operation
Proton copied to clipboard

Xbox controller works in Big Picture but not in-game using Proton version > 9.0-4

Open gdaroch opened this issue 5 months ago • 18 comments

Hi, I can't get the Xbox series controller to work with proton version 10.0-1 beta, Experimental or Hotfix, it only works with version 9.0-4. This only happens within games, Big Picture and my OS correctly detect the controller, both with Xpad and a USB cable, and with Xone with the Microsoft dongle.

I tested this with 3 games with the same result. Hades (DirectX), Silent Hill 2 Remake and Expedition 33.

Operating System: Manjaro Linux KDE Plasma Version: 6.3.6 KDE Frameworks Version: 6.16.0 Qt Version: 6.9.1 Kernel Version: 6.12.38-1-MANJARO (64-bit) Graphics Platform: X11 Processors: 16 × AMD Ryzen 7 5700X3D 8-Core Processor Memory: 31,3 GiB of RAM Graphics Processor: NVIDIA GeForce RTX 5070 Ti Manufacturer: Micro-Star International Co., Ltd. Product Name: MS-7C94 System Version: 1.0

gdaroch avatar Jul 19 '25 20:07 gdaroch

Hello @gdaroch, please add PROTON_LOG=1 %command% to a couple affected game's launch options, reproduce the regression, and attach the generated $HOME/steam-$APPID.log to this issue report as a file. (Proton logs compress well if needed.)

kisak-valve avatar Jul 19 '25 20:07 kisak-valve

Leaving my own set of logs using proton 10 with my controller not working in Final Fantasy VII Rebirth.

steam-2909400-NoSteamInput.log

steam-2909400-WithSteamInput.log

Controller inputs work on proton 9.

CandyXandy avatar Jul 27 '25 21:07 CandyXandy

Having some issues getting controller to work on Combat Master.

The game somehow fails to pick up my connected controller regardless of what connection mode is used.

Used Proton 9, Experimental and 10 Beta as well as having both Steam Input enabled and disabled, but sadly still gives issues.

steam-2281730.log

ghost avatar Jul 31 '25 23:07 ghost

Edit: Unsure what I did, but upon switching to Proton 10-2 beta and disabling Steam Input, Combat Master suddenly picks up controller inputs.

Uhhh, okay.....

ghost avatar Jul 31 '25 23:07 ghost

Ok, if a Valve employee could see this.

Combat Master needed to be run on Proton 10-2 twice.

Once through Steam>Settings>Compatibility>Proton 10 Beta 2 Twice via Right Click Game>Properties>Compatibility>Enable "Force the use of Proton version">Select "Proton 10.0-2 Beta"

Its a strange workaround just to fix controller issues.

ghost avatar Aug 01 '25 02:08 ghost

Same issue and its been a couple of month at least. Tested in multiple machines running endeavouros and multiple controllers.

Proton 10 and up - Nothing is detected. Not using xinput, not dinput, not wired, not dongle, not bluetooth. Proton 9 and under - Controllers work as intended.

proton9.log proton10.log

ChZerk avatar Aug 01 '25 23:08 ChZerk

Can confirm, native controller input doesn't work on Proton 10 and up on all games I've tried (be it isaac rebirth, beamng, silksong etc). Steam Input works, but comes with it's own issues. Using an 8bitdo Ultimate 2C (wireless via the 2.4GHz dongle), for reference.

thecookie94 avatar Sep 30 '25 15:09 thecookie94

Can confirm, native controller input doesn't work on Proton 10 and up on all games I've tried (be it isaac rebirth, beamng, silksong etc). Steam Input works, but comes with it's own issues. Using an 8bitdo Ultimate 2C (wireless via the 2.4GHz dongle), for reference.

Hi @thecookie94 You can set PROTON_PREFER_SDL=1 %command% on your games launch options with steam input disabled to get it working. Its the workaround I am currently using and it is working for proton 10+ including GE versions. The only drawback is you need to add this on every game you want to use a controller with.

ChZerk avatar Sep 30 '25 17:09 ChZerk

Can confirm, native controller input doesn't work on Proton 10 and up on all games I've tried (be it isaac rebirth, beamng, silksong etc). Steam Input works, but comes with it's own issues. Using an 8bitdo Ultimate 2C (wireless via the 2.4GHz dongle), for reference.

Hi @thecookie94 You can set PROTON_PREFER_SDL=1 %command% on your games launch options with steam input disabled to get it working. Its the workaround I am currently using and it is working for proton 10+ including GE versions. The only drawback is you need to add this on every game you want to use a controller with.

Hi @ChZerk!

Thank you for your tip, that gets it working on beta 10.0-2! BUT doesn't resolve the issue on proton experimental. Attached are 3 logs, proton 9.0-4 without PROTON_PREFER_SDL=1 for reference (working), proton 10.0-2 beta with PROTON_PREFER_SDL=1 (working) and proton experimental with PROTON_PREFER_SDL=1 (not working).

Hope we're gonna see some progress on this issue soon

steam-250900-rebirth-without-prefersdl-working-proton-9.0-4.log steam-250900-rebirth-with-prefersdl-not-working-proton-experimental.log steam-250900-rebirth-with-prefersdl-working-proton-10.0-2b.log

thecookie94 avatar Sep 30 '25 17:09 thecookie94

So......

I am unable to confirm whether I am dealing with a controller firmware bug, or a Steam Input bug......

But, when my controller is connected via USB, Steam picks it up as the controller's brand name, hence making Steam Input and the game's native controller support unusable, but if I hold the (using a GameSir Nova Lite controller) X button and then the Chicken Button, the controller switches to a Generic Xbox controller layout and then I am able to play a game using controller layouts with Steam Input disabled.

Again, I am unable to confirm which bug, Firmware or Steam Input, I am dealing with.

ghost avatar Oct 25 '25 23:10 ghost

I somehow suspect that Steam Input, while steam-devices is correctly installed, is having difficulties translating the controller inputs without on-controller mode switching....

ghost avatar Oct 26 '25 00:10 ghost

@MyNamesTee have you tried the whole PROTON_PREFER_SDL=1 thing with steam input disabled?

thecookie94 avatar Oct 26 '25 21:10 thecookie94

@MyNamesTee have you tried the whole PROTON_PREFER_SDL=1 thing with steam input disabled?

Just tried it now, no dice sadly. Same thing with Steam Input enabled. The game (Combat Master in this case) sees my controller as connected (connected via Wireless Dongle) but inputs are not doing anything.

Image

ghost avatar Oct 27 '25 01:10 ghost

Attempting the native package right now....

Please standby

ghost avatar Oct 27 '25 01:10 ghost

Native package works, had to reset the Steam Input layout to this one.....

Testing the unofficial Flatpak version right now, please standby....

Image

ghost avatar Oct 27 '25 01:10 ghost

Ok, turns out, trying to make your own Steam Input layout leads to controller inputs breaking, not working and wont allow your controller to properly communicate with the game.

Issue solved.

ghost avatar Oct 27 '25 01:10 ghost

Thanks for the feedback and suggestions.

Forcing SDL resolved the issue on my end. Using the following launch options, the Xbox Wireless Controller works correctly in Proton 10 and Proton Experimental (over Bluetooth):

PROTON_PREFER_SDL=1 SDL_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT=0x045e/0x0b13 %command%

Note: VID/PID values will vary depending on the controller model and connection method. These are specific to my setup. (VID/PID can be obtained using evtest)

gdaroch avatar Dec 12 '25 19:12 gdaroch