You are not logged in.

#1 2019-06-29 13:34:57

TechnoJellyfish
Member
Registered: 2019-06-29
Posts: 10

DualShock 4 v2 inconsistent behavior, Steam Input not working

The installation process (utilizing an ASUS USB-BT400) was surprisingly straightforward (compared to the amount of hoops I had to jump through to make it work on Windows): I installed the bluez, bluez-plugins, and bluez-utils packages according to the Wiki instructions (as well as bluedevil) and pairing worked like a charm from the get-go.

However, I noticed a lot of differences in its behavior compared to what I'm used to:

First of all, the light bar of the gamepad switches immediately to a dark, vivid blue color upon pairing instead of the default light blue. In a similar fashion, the light bar glows in the same color when connected via USB instead of showing the loading indicator (light bar slowly pulsing in an orange shade).

Next thing I discovered by accident: some games that I know only supporting XInput (the MS API) would work right out-of-the-box (including some titles played via proton), something that is not possible under Windows without the use of an input wrapper of sorts. This could be considered a definitive plus but I suspect this to be part of the problem, more on that later.

Now to the point where the issues begin: games with native support for the DualShock are very hit-or-miss. The only titles I've tested so far that worked perfectly out-of-the-box are "Rise of the Tomb Raider" and "Dead Cells". Others, like "Rocket League", do work but seem to recognize the DualShock as XBox controller, button prompts and all (again, is there some emulation going on under the hood?).

Where stuff does get really problematic (and my main motivation of posting this) is when it comes to Steam Input. The DualShock 4 is recognized as such and seems to work as intended: I can navigate menus in Steam's Big Picture Mode, configure all of the available options and turn DualShock support on and off globally and per game. Once in-game, though, no input from the DS4 is recognized whatsoever.

I have the strong suspicion that there is some form of emulation/translation going on which gets in the way of or takes precedence over Steam Input's controller emulation but I can't for the life of me figure out where this is coming from.

Steps I've undertaken in an attempt to solve the issue:

  • added myself to the "input" group

  • made sure there are no permission problems in /dev/input

  • set both, the SDL_JOYSTICK_DEVICE and the SDL_GAMECONTROLLERCONFIG environment variables (but I understand this would only have an effect in games utilizing SDL)

  • "blacklisted" the DS4's motion sensor device via udev rule which otherwise gets presented as a completely separate gamepad device which is known to be responsible for some conflicts

tl;dr:
Some games with native DS4 support recognize it as XBox controller;
Steam Input seems fully functional but doesn't work at all once in-game

Any help or insight on this matter would be highly appreciated!

Offline

#2 2019-07-02 09:09:27

TechnoJellyfish
Member
Registered: 2019-06-29
Posts: 10

Re: DualShock 4 v2 inconsistent behavior, Steam Input not working

I'm not making a lot of progress here; however, I observed the following:

When PlayStation support is enabled globally in Steam's controller configuration, a (virtual) 'Microsoft X-Box 360 pad' device is created at '/dev/input/js1' and '/dev/input/event22'. If I test these devices with 'evtest' and KDE's joystick tool, however, I do get no response to any input at all. The 'xpad' kernel module doesn't seem to get loaded upon device creation (and I'm not sure it's needed in this case) but loading it manually doesn't change the picture.

Permissions for the devices:

$ ls -la /dev/input
-------------------
crw-rw----+  1 root input 13, 85 Jul  2 10:35 event21
crw-rw----+  1 root input 13, 86 Jul  2 10:35 event22
---snip---
crw-rw-r--+  1 root input 13,  0 Jul  2 10:35 js0
crw-rw-r--+  1 root input 13,  1 Jul  2 10:35 js1
$ getfacl js1
-------------
# file: js1
# owner: root
# group: input
user::rw-
user:myuser:rw-
group::rw-
mask::rw-
other::r--
$ getfacl event22
-----------------
# file: event22
# owner: root
# group: input
user::rw-
user:myuser:rw-
group::rw-
mask::rw-
other::---

Offline

#3 2019-07-18 08:46:04

TechnoJellyfish
Member
Registered: 2019-06-29
Posts: 10

Re: DualShock 4 v2 inconsistent behavior, Steam Input not working

Still not much progress on this front but here are two observations I made:

  • The directories '/dev/input/by-id/*' and '/dev/input/by-path/*' do not get populated (as in no symlinks get created) when the controller is connected via Bluetooth; the entries do get created when connected via USB.

  • Emulating keyboard strokes with Steam Input does actually work in-game; the issue only seems to affect how Steam maps button presses to the virtual gamepad device.

To approach this from a different angle: Does anyone have this configuration (DualShock 4 via Bluetooth) working with Steam Input?

Offline

Board footer

Powered by FluxBB