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.
Wow that is fast.
@Plagman Nice, It is working now.
Thanks.
But it seem unstable. It makes Big picture to freeze not long after.
Does the freeze happen every time? Is it sudden or gradually slowing down until loss of input occurs?
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.
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?
@Plagman I just try the wireless connection setting, I does not work same as before. Last week I only try wired connection.
@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.
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).
@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/
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).
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.
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 :)
Still an issue on 17.04 even with those udev rules. Works in steam but doesn't work in games.
Still rarely works in any games in 17.10
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 !
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.
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
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
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
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)
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.
Your system information
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: