Support me on Patreon to keep GamingOnLinux (and me) alive.
DualShock 4 V2 vibration -
slug45 commented on 10 January 2017 at 11:33 pm UTC

I borrowed a dualshock 4 V1 a few days ago and after checking everything was working ok I decided to get one, so I bought a v2. I found out everything works fine except for vibration. Is it still not supported or am I doing something wrong?.

I'm running 4.8.0-2 kernel on debian testing. My udev rules are the ones from steam.


slug45 commented on 17 April 2017 at 11:56 pm UTC

Well, I finally got it working:

0. You MUST have kernel >=4.10
1. Disable steam's support for DS.
2. Udev rules (the ones from steam):

sudo gedit /lib/udev/rules.d/99-steam-controller-perms.rules

# This rule is needed for basic functionality of the controller in Steam and keyboard/mouse emulation SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", MODE="0666" # This rule is necessary for gamepad emulation; make sure you replace 'pgriffais' with a group that the user that runs Steam belongs to KERNEL=="uinput", MODE="0660", GROUP="YOUR_USERNAME", OPTIONS+="static_node=uinput" # Valve HID devices over USB hidraw KERNEL=="hidraw*", ATTRS{idVendor}=="28de", MODE="0666" # Valve HID devices over bluetooth hidraw KERNEL=="hidraw*", KERNELS=="*28DE:*", MODE="0666" # 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"

Trigger a refresh of UDEV rules:

sudo udevadm control --reload-rules sudo udevadm trigger

3. If mapping is messed out, you'll probably need the correct mapping, controllermap is needed for that purpose:

sudo apt-get install build-essential xorg-dev libudev-dev libgl1-mesa-dev libglu1-mesa-dev libasound2-dev libpulse-dev libopenal-dev libogg-dev libvorbis-dev libaudiofile-dev libpng12-dev libfreetype6-dev libusb-dev libdbus-1-dev zlib1g-dev libdirectfb-dev

download sdl 2.0.2 (woking on ubuntu 17.04):
cd cd Downloads wget unzip cd SDL2-2.0.2 ./configure make sudo make install cd test ./configure make ./controllermap
follow on screen instructions, use backspace key if you mess up an input.

Then you should get something like:

050000004c050000cc09000000810000,Wireless Controller,platform:Linux,x:b3,a:b0,b:b1,y:b2,back:b8,guide:b10,start:b9,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:a2,rightshoulder:b6,rightshoulder:b5,righttrigger:a5,leftstick:b7,leftstick:b11,rightstick:b12,leftx:a0,lefty:a1,rightx:a3,righty:a4,

Let's use this for grid autosport, for example:
gedit ~/.steam/steam/steamapps/common/GRID Autosport/share/controllermapping.txt
add the result from controllermap at the end.


I have to test it on other games. Working fine on grid autosport so far.

Due to spam you need to Register and Login to comment.

Or login with...

Games & Release Calendar
Livestreams & Videos
Popular this week
View by Category
Latest Forum Posts