Steam for Linux

Steam for Linux

This topic has been locked
IceVAN 30 Jan, 2017 @ 12:14pm
DualShock 4 V2 vibration/rumble
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 rumble/vibration. Is it still not supported or am I doing something wrong?.
I'm running 4.9 kernel on debian testing. My udev rules are the ones from steam
Thanks!.
< >
Showing 1-8 of 8 comments
thetargos 30 Jan, 2017 @ 1:38pm 
IIRC DS4 in Steam does not support rumble. I have a V1 and certainly it does not vibrate when using Steam's config support, but, if I disable it and let the kernel driver use the device, then I have rumble, even on wine. The mapping in games is all messed up, though.
IceVAN 30 Jan, 2017 @ 2:21pm 
Originally posted by thetargos:
IIRC DS4 in Steam does not support rumble. I have a V1 and certainly it does not vibrate when using Steam's config support, but, if I disable it and let the kernel driver use the device, then I have rumble, even on wine. The mapping in games is all messed up, though.

Weird. As I said, I tried V1 (with steam support enabled) and everything was working ok, rumble included and even via bluetooth. I haven't tried it on wine, but rumble worked ok to me with grid autosport and retrobooster. Have you checked your udev rules?... It's the only thing that comes to my mind.

I just tried disabling steam support but still no rumble :( .

Originally posted by PredrKs:
Just curious, any specific reason why you didn't get Steam Controller?

I didn't like how steam manages shipping to my country (spain) [people reported problems] and I have doubts about warranty and RMA, so I decided getting a DS4 via amazon so I won't (probably) have problems returning/RMA-ing it if I need so.

I haven't tried steam controller yet but I like the concept. I will probably get one eventually. For now I love the feeling the DS4's analog joysticks/triggers has, far better than the old xbox 360 I had.

I really hope steam will success with their hardware and that they will be able to make it easier for us, europeans, to buy their hardware. Until then, DS4 it is.

Thanks for your comments!.
Last edited by IceVAN; 30 Jan, 2017 @ 2:37pm
IceVAN 30 Jan, 2017 @ 3:52pm 
Good to know, I didn't know about custom money returns.
thetargos 31 Jan, 2017 @ 2:05pm 
Originally posted by Slug of a .45:
Originally posted by thetargos:
IIRC DS4 in Steam does not support rumble. I have a V1 and certainly it does not vibrate when using Steam's config support, but, if I disable it and let the kernel driver use the device, then I have rumble, even on wine. The mapping in games is all messed up, though.

Weird. As I said, I tried V1 (with steam support enabled) and everything was working ok, rumble included and even via bluetooth. I haven't tried it on wine, but rumble worked ok to me with grid autosport and retrobooster. Have you checked your udev rules?... It's the only thing that comes to my mind.

I just tried disabling steam support but still no rumble :( .

Yes. I have my DS4 connect through BT and that is the behaviour. The rules are working fine in that I can use the gamepad as intended with correct mappings and such (just no Rumble, tested with BioShock Infinite, when using the steam game pad support. Disable it, let the kernel handle the pad, and I get rumble in the same game. Actually I picked BSI to test as it seems to be the only one that picks up the pad just fine regardless of the general mess mappings are in Steam with this pad.

BTW I also got my SC from Amazon, as Valve does not ship to my country (Mexico). My only gripe with both controllers is that when "sharing" bindings I have to change sensitivity in either, so I need two profiles, other than that, both controllers work just fine (aside from rumble), BUT due to some issues with SC I do have to run with the Beta client, which might explain my lack of rumble with the DS4.
IceVAN 31 Jan, 2017 @ 3:25pm 
I wonder why rumble works when I press the IDENTIFY button in big picture's gamepad config (both stable and beta client with DS support enabled) but not ingame.
IceVAN 17 Apr, 2017 @ 2:05pm 
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 https://libsdl.org/release/SDL2-2.0.2.zip
unzip SDL2-2.0.2.zip
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.

Done.

I have to test it on other games. Working fine on grid autosport so far.
Last edited by IceVAN; 17 Apr, 2017 @ 2:11pm
Rumble on DS4 (Linux) started working after I enable "Steam Input" (gamepad icon) on game page (GRIS for example).
Katie 7 Jul @ 7:14am 
This thread was quite old before the recent post, so we're locking it to prevent confusion.
< >
Showing 1-8 of 8 comments
Per page: 1530 50