protonscr

Starting from Steam Beta of 13/2/2018 steam doesn't recognize Logic3 XBOX pads.

steamclosed General controller / Steam Input
ValveSoftware/steam-for-linux#5394 · opened 2018-02-20 by dragonfly-lover · updated 2018-07-26 · 5 comments · github
Ddragonfly-lover 2018-02-20 github

Systems:

  1. Pentium G3258, 8GB DDR3, Nvidia 750Ti, Steamos Beta 2.149 (also stable 2.148)
  2. Amd Athlon 64X2, 3GB ram, Nvidia 650, Kubuntu 16.04.

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

  • Steam client version (build number or date):
  • Distribution (e.g. Ubuntu):
  • Opted into Steam client beta?: [Yes/No]
  • Have you checked for system updates?: [Yes/No]

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:

Ddragonfly-lover 2018-05-18 github

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 ?

Jjason-oliveira 2018-05-19 github

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.

Ddragonfly-lover 2018-05-23 github

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.

Ddragonfly-lover 2018-07-26 github

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.

Kkisak-valve maintainer 2018-07-26 github

Closing per the last comment.

Nothing extracted yet.