if i call lsusb
steam@steam-MS-7A39:~$ lsusb
i get this answer:
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 045e:0750 Microsoft Corp. Wired Keyboard 600
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 28de:1102
Bus 001 Device 004: ID 05e3:0741 Genesys Logic, Inc. microSD Card Reader
Bus 001 Device 003: ID 0e6f:0301 Logic3
Bus 001 Device 002: ID 046d:c294 Logitech, Inc. Driving Force
Bus 001 Device 006: ID 05e3:0741 Genesys Logic, Inc. microSD Card Reader
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
so the logic3 controller is device 003 of bus 001.
calling udevadm i get this infos :
udevadm info -a -p $(udevadm info -q path -n /dev/bus/usb/001/003)
looking at device '/devices/pci0000:00/0000:00:01.3/0000:03:00.0/usb1/1-3':
KERNEL=="1-3"
SUBSYSTEM=="usb"
DRIVER=="usb"
ATTR{authorized}=="1"
ATTR{avoid_reset_quirk}=="0"
ATTR{bConfigurationValue}=="1"
ATTR{bDeviceClass}=="ff"
ATTR{bDeviceProtocol}=="ff"
ATTR{bDeviceSubClass}=="ff"
ATTR{bMaxPacketSize0}=="8"
ATTR{bMaxPower}=="500mA"
ATTR{bNumConfigurations}=="1"
ATTR{bNumInterfaces}==" 4"
ATTR{bcdDevice}=="0200"
ATTR{bmAttributes}=="a0"
ATTR{busnum}=="1"
ATTR{configuration}==""
ATTR{devnum}=="3"
ATTR{devpath}=="3"
ATTR{idProduct}=="0301"
ATTR{idVendor}=="0e6f"
ATTR{ltm_capable}=="no"
ATTR{manufacturer}=="Performance Designed Products"
ATTR{maxchild}=="0"
ATTR{product}=="Gamepad for Xbox 360"
ATTR{quirks}=="0x0"
ATTR{removable}=="removable"
ATTR{serial}=="00002097"
ATTR{speed}=="12"
ATTR{urbnum}=="3257"
ATTR{version}==" 2.00"
That was fine. I thought it was a problem of rules (i can't really understand much of rules mechanism) and so, after googling i tried this (both under "lib" and under "etc":
steam@steam-MS-7A39:~$ sudo gedit /lib/udev/rules.d/10-local.rules
adding
SUBSYSTEMS=="usb", ATTRS{product}=="Gamepad for Xbox 360", GROUP="steam"
also tried with group "users"
SUBSYSTEMS=="usb", ATTRS{product}=="Gamepad for Xbox 360", GROUP="users"
After getting no result i wonder if i have to manage something other, maybe in /lib/udev/rules.d/99-steam-controller-perms.rules ?
After the recent controller fix, I am still having this issue. It seems to have begun the time the reporter states, as well. Half of my games refuse to work with the Steam controller, regardless of whether sdl-jstest, KDE's input configuration menu (evdev), or countless other applications, work. Dolphin Emulator, RetroArch,
Interestingly enough, Pirated versions of the games I own, presumably GoG releases, play without issue. If I want to play OwlBoy with a controller, I have to pirate a game I own. At least gaben considers me an under-served customer.
I should also note that none of my controllers are official XBox 360 gamepads. they're all 3rd-party knockoff XInput Gamepads of varying quality. The Reporter was also using XInput knockoffs. Perhaps this is a way to triage this bug?
System 1 Details:
Gentoo Linux Hardened (Kernel 4.16.8) using AMDGPU/RadeonSI GPU driver.
Built with libressl rather than gnutls or openssl
System 2 Details:
Calculate Linux (Kernel 4.14.19) using Proprietary Nvidia GPU driver
Controllers:
Zhidong V Gamepad,
Matricom XYBA G-Pad,
8Bitdo SN30 Pro.
I have further infos.
i installed latest jstest-sdl (uses libsdl2) from github:
noi@noi:~$ git clone http://github.com/meleu/jstest-sdl
then i listed available pads:
noi@noi:~/jstest-sdl$ jstest-sdl --list
Found 1 joystick(s)
Joystick Name: 'Logic3 Controller'
Joystick GUID: 030000006f0e00000103000000020000
Joystick Number: 0
Number of Axes: 6
Number of Buttons: 11
Number of Hats: 1
Number of Balls: 0
GameController:
not a gamepad
Curiously it seems that according to sdl this device is a joystick and it's not a gamepad (???)
then i tried to test the device with this output:
noi@noi:~$ jstest-sdl --test 0:
Joystick Name: 'Logic3 Controller'
Joystick Number: 0
Buttons 11:
0: 0 [ ]
1: 0 [ ]
2: 0 [ ]
3: 0 [ ]
4: 0 [ ]
5: 0 [ ]
6: 0 [ ]
7: 0 [ ]
8: 0 [ ]
9: 0 [ ]
10: 0 [ ]
Hats 1:
0: value: 0
+-----+ up: 0
| | down: 0
| O | left: 0
| | right: 0
+-----+
Balls 0:
to summarize:
-gamepad is recognized by xpad kernel module and correctly mapped
-sdl recognizes it as a joystick but it's "not a gamepad"
-sdl testing is ok
-steam bpm doesn't recognize it
-some games don't recognize it (ex. rougue stormers, pharaonic, badlands)
-some games recognize it (pressure overdrive, action henk, yoka&laylee)
So the problem could be related with libsdl2 and not specifically steam executable (as many games don't work anymore). i suggest to verify what happened around 13th february in term of sdl update.
possibly from libsdl 2.0.5+ steam executable and all games dinamically linked to sdl don't recognize logic 3 pads anymore because a regression.
Finally, after 5 moths, this issue has been eliminated with 24 july update (Newest SDL binding for steam executable evidently solved the regression). This issue can be closed now. thanks to whoever restored the previous working configuration.
Closing per the last comment.
Nothing extracted yet.
Systems:
Steam Client Beta, 13/02/2018
Pads: 2 Pads Logic3 for Xbox branded Gamestop, 1 Steam Controller
Pads worked perfectly until 13 feb update. After this update pads don't work anymore with steam and steam games. they are, though, correctly mapped by the system.
here are relevant informations taken from my ubuntu PC:
lsusb output: Bus 002 Device 004: ID 0e6f:0301 Logic3
mapped on /dev/input/js0.
It seems that the input configuration changes introduced in 13 february beta broke something in input detection, at least of logic3 pads.
P.S. i activated obviously the checks in steam-bpm/steamos (i tried even PS4 configuration check) with no luck.
Starting from steam client of 13/2/2018, my pad is not recognized anymore. Please note
Please describe your issue in as much detail as possible:
Describe what you expected should happen and what did happen. Please link any large code pastes as a Github Gist
Steps for reproducing this issue: