Steam Configurator support for PS4 Dual Shock Controller is not working #4689

Open
supirman opened this Issue Nov 2, 2016 · 22 comments

Comments

Projects
None yet

supirman commented Nov 2, 2016

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.

@supirman supirman changed the title from Steam Configurator support for PS4 Dual Shock Controller did not working to Steam Configurator support for PS4 Dual Shock Controller is not working Nov 2, 2016

Owner

Plagman commented Nov 2, 2016

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.

supirman commented Nov 2, 2016

Wow that is fast.

supirman commented Nov 2, 2016

@Plagman Nice, It is working now.
Thanks.

supirman commented Nov 2, 2016

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

Owner

Plagman commented Nov 2, 2016

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

supirman commented Nov 3, 2016

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

fakebanana commented Nov 6, 2016

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?

supirman commented Nov 8, 2016

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

udevadmin output

@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.

rongcuid commented Jan 28, 2017

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...

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).

supirman commented Jan 28, 2017

@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/

rongcuid commented Jan 28, 2017

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.

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

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).

rongcuid commented Feb 4, 2017

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.

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.

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

Titan21 commented May 15, 2017

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.

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 :)

Enigma0 commented Aug 29, 2017

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

Enigma0 commented Nov 3, 2017

Still rarely works in any games in 17.10

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment