Steam for Linux

Steam for Linux

Proton 5.0: XBox 360 controller detected but not registering in game
So this strange and is driving me crazy,

I had the Flatpak distribution of Steam and all games via Proton were able to use the controller with no issues whatsoever,

I Moved from the Flatpak dist. as it was causing a few other issues in game (sound corruption for ex.) which with the traditional Steam install on my OS has removed.

So the controller works in Big Picture mode but the games running wouldn't detect the controller, so I have investigated in 'wine control' via this lovely command:

WINEPREFIX=/home/{username}/.steam/steam/steamapps/compatdata/387290/pfx/ /home/{username}/.steam/steam/steamapps/common/Proton\ 5.0/dist/bin/wine control

And the controller is detected! Not only that the controller registers all key presses too!

The problem is still there whether I use native or steam libs and the joystick partly works on Proton ver. 3.16 (missing LT + RT) but any other version it simply doesn't want to know. Beta version of Steam does nothing either, and fiddling around with Steam's included controller config yields no result either.

Native games on the other hand work perfectly.

All Proton games apart from Polybius is affected by this,

Has anyone else had this particular issue?
< >
Showing 1-9 of 9 comments
Zairker Apr 21, 2020 @ 7:09am 
Try setting the Steam input controller setting to Forced on or Forced off in the game's properties.
This fixed some issues in Rocket League for me.
handleunknown Apr 21, 2020 @ 9:11am 
I have done that, sadly that seems to be a bust as that doesn't change anything.
Looking at the console it does pop up with
Controller 0 uses XInput: 0
and upon reading about newer WINE bases the XBox controllers should default to Xinput rather then dinput?
engie❤cat Apr 21, 2020 @ 7:19pm 
Originally posted by YA SRSLY:
WINEPREFIX=/home/{username}/.steam/steam/steamapps/compatdata/387290/pfx/ /home/{username}/.steam/steam/steamapps/common/Proton\ 5.0/dist/bin/wine control

And the controller is detected! Not only that the controller registers all key presses too!
this command bypasses the steam input voodoo. try opening game properties and set launch options to
WINEPREFIX=/home/{username}/.steam/steam/steamapps/compatdata/387290/pfx/ /home/{username}/.steam/steam/steamapps/common/Proton\ 5.0/dist/bin/wine control joy.cpl;echo %command%
and see if it still works there.
also, what's your distro?
handleunknown Apr 22, 2020 @ 9:55am 
Originally posted by engie❤cat:
this command bypasses the steam input voodoo. try opening game properties and set launch options to
WINEPREFIX=/home/{username}/.steam/steam/steamapps/compatdata/387290/pfx/ /home/{username}/.steam/steam/steamapps/common/Proton\ 5.0/dist/bin/wine control joy.cpl;echo %command%
and see if it still works there.

Loaded Config for Local Selection Path for App ID 443510, Controller 0: /home/{username}/.local/share/Steam/steamapps/workshop/content/241100/936992996/767148481031564973_legacy.bin

control.exe via steam has the same result being able to detect all buttons & axis' correctly, however
Controller 0 mapping uses xinput : false
doesn't seem right as I'm sure I've read newer WINE rebases do detect the XBox controller as a xinput device rather then a dinput one?


Originally posted by engie❤cat:
also, what's your distro?
Operating System Version: Gentoo Base System release 2.6 (64 bit) Kernel Name: Linux Kernel Version: 5.4.33-gentoo
NRG-R9T Apr 22, 2020 @ 4:11pm 
try this: https://github.com/paroj/xpad
It works like a charm for my Xbox360 Wireless Controllers.
engie❤cat Apr 22, 2020 @ 5:58pm 
Originally posted by YA SRSLY:
Operating System Version: Gentoo Base System release 2.6 (64 bit) Kernel Name: Linux Kernel Version: 5.4.33-gentoo
gentoo, huh. if i'm to assume that you've built the kernel yourself, you should check that you have the correct module for your gamepad included and installed. do
gzip -dc /proc/config.gz|grep XPAD;ls /lib/modules/$(uname -r)/kernel/drivers/input/joystick/
it should be included as either =y or =m, and in case of =m - xpad.ko should be listed as well.

also, add yourself to the "input" group if you haven't done so yet.
sudo gpasswd -a $(whoami) input
relogin afterwards.
Last edited by engie❤cat; Apr 22, 2020 @ 9:25pm
handleunknown May 7, 2020 @ 2:46pm 
So I managed to get it working!

How I had it set up was with a massive steam set with a massive ABI 32 package.use file, since it works via Flatpak which relies on the included runtime but didn't work on my setup I had a guess that the Gentoo packages were the preferred but too new or caused some other incompatability.

So I got rid of the set and unmerged, cleared the ABI package.use and purged the Steam folder, and done a complete reinstall of Steam via a handy script made by hasufell[gist.githubusercontent.com].

Instead of following the Gentoo instructions I let Steam dictate what was required, and turns out very little:

dev-libs/libffi abi_x86_32 sys-libs/ncurses abi_x86_32 dev-util/pkgconf abi_x86_32 virtual/pkgconfig abi_x86_32 dev-libs/expat abi_x86_32 x11-libs/libxshmfence abi_x86_32 x11-libs/libXau abi_x86_32 x11-libs/libXdmcp abi_x86_32 dev-libs/wayland abi_x86_32 x11-libs/libdrm abi_x86_32 dev-util/glslang abi_x86_32 sys-devel/llvm abi_x86_32 x11-base/xcb-proto abi_x86_32 x11-libs/libxcb abi_x86_32 x11-libs/libX11 abi_x86_32 x11-libs/libXext abi_x86_32 x11-libs/libXfixes abi_x86_32 x11-libs/libXrender abi_x86_32 x11-libs/libXdamage abi_x86_32 x11-libs/libXxf86vm abi_x86_32 x11-libs/libXrandr abi_x86_32 media-libs/mesa abi_x86_32

Steam only requires Mesa & libDRM as abi_x86_32, the rest of the packages are dependancies.

Reinstalled, using Proton 5 and it f@@@ing worked, with no issues on all games provided, which strengthened the reason of it not working was the system libs that were causing it (even though joystick is a system USE flag).

YMMV but worth looking into.

I am running xboxdrv userpace driver and not xpad but I can't see the difference in drivers really matter.

engie❤cat thank you for your assistance, it helped me lead down to this path and now with a working controller!
engie❤cat May 7, 2020 @ 8:28pm 
Originally posted by YA SRSLY:
So I managed to get it working!

How I had it set up was with a massive steam set with a massive ABI 32 package.use file, since it works via Flatpak which relies on the included runtime but didn't work on my setup I had a guess that the Gentoo packages were the preferred but too new or caused some other incompatability.
ohhh... that gentoo wiki article on steam needs a lot of cleaning. the traditional and also the best method of installing steam is through steam overlay.
USE=git emerge layman && layman -a steam-overlay && emerge steam-launcher -va --autounmask=y && dispatch-conf && emerge steam-launcher -va
no need for any flatpaks, external scripts, or manually editing sets or package.use files.

xpad is a driver that is known to just work. xboxdrv should do fine as well, maybe just slightly slower at most. anyway, good on you for figuring out.
< >
Showing 1-9 of 9 comments
Per page: 1530 50

Date Posted: Apr 21, 2020 @ 6:57am
Posts: 9