protonscr

Steam Configurator support for PS4 Dual Shock Controller is not working

steamclosed reviewedGeneral controller / Steam Input
ValveSoftware/steam-for-linux#4689 · opened 2016-11-02 by supirman · updated 2019-09-27 · 29 comments · github
Ssupirman 2016-11-02 github

Your system information

  • Steam client version: steam-runtime-beta-release_2016-09-02
  • Distribution : Ubuntu 16.04 ( Kernel Version: 4.4.0-45-generic )
  • Opted into Steam client beta?: Yes
  • Have you checked for system updates?: Yes

Please describe your issue in as much detail as possible:

In Steam Client Beta Update - Oct 31, Added Steam Configurator support for PS4 Dual Shock Controller. But it doesn't seem to works in my Linux/Ubuntu when "PS4 Configuration Support" is enabled. Without the feature enabled the controller works fine.

Steps for reproducing this issue:

  1. Connect PS4 Controller
  2. Run Big Picture Mode in latest Steam beta update
  3. Open Settings > Controller > Add / Test, Enable "PS4 Configuration Support"
  4. Disconnect PS4 Controller
  5. Restart Steam in Big Picture
  6. Reconnect PS4 Controller
  7. It maybe still detected with showing "PS4 Configuration Support". But it doesn't show any PS4 Controller connected and the controller is not working either.
PPlagman 2016-11-02 github

You need the following udev rules for it to work properly:

# DualShock 4 wired
SUBSYSTEM=="usb", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="05c4", MODE="0666"
# DualShock 4 wireless adapter
SUBSYSTEM=="usb", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0ba0", MODE="0666"
# DualShock 4 slim wired
SUBSYSTEM=="usb", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="09cc", MODE="0666"

We'll add them to our own Steam package, but Ubuntu will need to port the change to their package as well as their version is made to intentionally supersede ours.

Ssupirman 2016-11-02 github

Wow that is fast.

Ssupirman 2016-11-02 github

@Plagman Nice, It is working now.
Thanks.

Ssupirman 2016-11-02 github

But it seem unstable. It makes Big picture to freeze not long after.

PPlagman 2016-11-02 github

Does the freeze happen every time? Is it sudden or gradually slowing down until loss of input occurs?

Ssupirman 2016-11-03 github

Does the freeze happen every time?

No, but I am not sure what cause it and how replicate it. But it always end up freeze the big picture/steam.

Is it sudden or gradually slowing down until loss of input occurs?

It is sudden.

Also when I try on screen keyboard on desktop and after input some key steam crashed.

And other thing, the menu icon for square and circle did shown at all. Only show black circle.
BUTTON

Ffakebanana 2016-11-06 github

I'm having exactly the same problem (with no PS4 controller detected when enabling PS4 Configuration Support) in MacOS 10.12. Any idea what the fix might be?

Ssupirman 2016-11-08 github

@Plagman I just try the wireless connection setting, I does not work same as before. Last week I only try wired connection.

udevadmin output

Aatombone80 2016-11-19 github

@fakebanana I'm having the same issue. @Plagman 's instructions have to be somewhat similar to what needs to be done for it work on macOS. not sure how activate those strings on the macOS side however.

Rrongcuid 2017-01-28 github

The solution seems to apply to USB connection only. What about bluetooth connection? I got this in dmesg:

[  116.421287] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[  116.421292] Bluetooth: HIDP socket layer initialized
[  116.425923] sony 0005:054C:05C4.0007: unknown main item tag 0x0
[  116.426036] input: Wireless Controller as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3:1.0/bluetooth/hci0/hci0:256/0005:054C:05C4.0007/input/input19
[  116.426161] sony 0005:054C:05C4.0007: input,hidraw4: BLUETOOTH HID v1.00 Gamepad [Wireless Controller] on 5c:e0:c5:d7:de:de

I am not quite familiar with udev, so I am not sure if it is just a slight change of rules.

EDIT

Subsystem of input and hidraw doesn't seem to work, as I just tried, despite dmesg shows that it is in input and hidraw4...

Rrongcuid 2017-01-28 github

Comparing the /dev file changes, I found that plugging in a wire causes new device block files in /dev/bus/usb, while connecting through bluetooth does not give these files. Instead, there are /dev/hidraw4, /dev/char/<something>, /dev/input/js0, /dev/input/event16.

Steam recognizes my controller if I turn off PS4 support. However, recognizing is one thing, working is another -- I can't actually use the controller in games unless I turn on the PS4 support.

I don't know how steam is implemented, so I don't know if it monitors changes in BT devices. But currently this is all I have(which doesn't work).

Ssupirman 2017-01-28 github

@carldong Try this :

# DualShock 4 over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="05c4", MODE="0666"

# DualShock 4 wireless adapter over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0ba0", MODE="0666"

# DualShock 4 Slim over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="09cc", MODE="0666"

# DualShock 4 over bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*054C:05C4*", MODE="0666"

# DualShock 4 Slim over bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*054C:09CC*", MODE="0666"

source : http://steamcommunity.com/app/353370/discussions/0/490123197956024380/

Rrongcuid 2017-01-28 github

Wow, works like magic! Looks like I just missed an *. I will see whether that reported freeze problem shows.

UPDATE
... Except that games can't recognize my controller... Uh, only steam uses the controller, but games(Enter the Gungeon in my case) can't use it. I might need to install a few more games to see whether it is universal problem.

Ttbporter 2017-01-29 github

I'm in the same boat, PS4 controller (over BT) works in big picture mode. And works with some games, until I enable "PS4 Configuration Support", then it doesn't work in any game. I've tried 4 different games. The rules already exist in 99-steamcontroller-perms.rules

Rrongcuid 2017-01-29 github

So I tested quite a few games. None of them recognizes any sort of controller -- except that they do show controller-style hints, like "press Y for ...". Disabling PS4 Config Support doesn't help in any of the games I tested(basically a bunch of twin stick rogue-like).

Rrongcuid 2017-02-04 github

Well, finally dug up a USB cable and tested again. So wired connection works in games, but as I mentioned, bluetooth works in the Steam interface only, not in games.

Aamcolash 2017-02-11 github

Awesome to have a solution, but it's too bad that this wasn't the case by default for me and I had to dig around. Thanks for the help, these rules should be added when steam is installed/updated if missing.

Aamcolash 2017-02-11 github

Didn't actually try in games but will report back.

TTitan21 2017-05-15 github

It is still the same issue as described in MacOS 10.12.4 with Steam BigPicture Version (set to Beta updates) 1494635138 (Built on May 12th).
Controller via Bluetooth works as long as PS4 Controller Support is not enabled.
When it's enabled "Identify" can be used to rumble the controller, you can set the colour and brightness of the light bar, but no inputs from the controller arrive at the Mac.

MMichaelMKenny 2017-05-23 github

I have the same behaviour as Titan21 on macOS, It's been like this for ages. I really hope they fix sometime soon as it would be awesome to use the dual shock 4 with rumble on macOS :)

SSnowman3456 2017-08-29 github

Still an issue on 17.04 even with those udev rules. Works in steam but doesn't work in games.

SSnowman3456 2017-11-03 github

Still rarely works in any games in 17.10

Aaraynard 2018-02-17 github

I use Debian 9.3 (kernel 4.9), I have the same issue. I have a Steam controller, 2x DS4 and 4x DS2 over generic USB controller to test around. I have troubles with both, DS4s and DS2s when using steam's "Controller support". It seems to me that Linux is creating "event" and "js" devices (/dev/input/) for each connected controller. But then, if you start Steam with the "Controller support" enable, Steam creates a second set of devices for each controller ! All games are lost ! e.g. Rocket League crashes if more than 4 controllers are detected. I use Skullgirls for this diagnostic, it shows every detected controller at startup, and with "Controller support" enable, every controller is showing as a DS4/DS2 AND a Steam controller !

Aadolson 2018-06-23 github

This still seems to be an issue for me. I think ideally I would enable the PS4 Controller Support option in Steam and just use that for everything, but it seems to leave the kernel devices behind, so the controller shows up as the 2nd (or whatever) pad, and many games don't like that.
Has anyone worked out any way to get around this? Would blacklisting the kernel driver work, or does Steam rely on it? Or some udev rules to remove the device or prevent it or something? I don't know what all is possible, I'm pretty green on udev.

NNaliwe 2018-10-13 github

Hello,

Any news on that particular problem ? I'm encountering the exact same, and only on Linux. cat-ing the different js0 and co files seems to give what it should (the content changes on every key press / joystick move) but no game detects my controller :/ No PS4 controller detected in Steam settings either, but it works fine inside BigPIcture.

Arch Linux
flatpak Steam // Maybe this is why ?
PS4 controller with the given udev rules
nvidia-dkms 410

NNaliwe 2018-10-13 github

Alright, nevermind, just managed to make it work!

I think the top of the file mentionned here is missing from this thread's suggested udev rules (the one that says 'be sure GROUP is a group you belong to").

Hope it helps

NNaliwe 2018-10-13 github

Or maybe not ... Steam now recognizes the controller correctly, every still works fine in BigPicture, but games can't handle it :/
Dead Cells for instance, strangely let me move the menu selection ONCE (I mean as long as 1 input, not any more after that), and then nothing. Quite peculiar. PixelBoy has completly fucked up mapping (O for 'OK', triggers send 2 input; shoot and aim left)

It works fine on windows though. That's quite sad

Nnoxifoxi 2019-05-17 github

I got the controller working on (steam big picture and all games I tested (without steam controller configuration, so I get the PS buttons displayed)) with this guide: https://steamcommunity.com/app/221410/discussions/0/1693795812304458372/

(Just rumble isn't working apparently, when not havin ps configuration support enabled)

Kkisak-valve maintainer 2019-09-27 github

Hello, this issue report is primarily around finding appropriate udev rules for Steam Input. Steam should need the Dualshock 4 lines to access the controller as well as the Steam Controller uinput line to expose a virtual controller to games. If your distro does not provide this with the Steam package or a steam-devices package, feel free to modify https://github.com/ValveSoftware/steam-devices/blob/master/60-steam-input.rules as needed for your purposes.

If anyone on Mac is still experiencing issues with Steam Input, please use Steam Support to give feedback.

Follow up issues should be reported separately so that they can be tracked properly.

Nothing extracted yet.