Just solved a nearly identical issue myself. Only surface level difference was that I was attempting to first get the ds4 controller working via USB connection to keep the bluetooth subsystem out of the picture.
The resolution for me came by adding my user to the input group, after I compared lsof on a working system and found that on the working configuration the user was able to read and write to the /dev/input/event* objects created by the ds4 controller.
Please let me know if any other details would be helpful.
Hello! Maybe that could be a solution for my question here: https://github.com/ValveSoftware/steam-for-linux/issues/5911
Could you explain how to use that lsof command and how to add the user to the input in this case?
I'm having the same issue, but adding myself to the input group didn't help.
The controller works in Big Picture mode and I can navigate the library and such, but as soon as I start a game, it is not detected. It is detected in game only if I plug the DS4 controller via USB cable.
I tried both with PlayStation configuration support enabled and disabled.
For Ubuntu kind of system users, here is a solution: https://github.com/ValveSoftware/steam-for-linux/issues/5911
I'm on Arch Linux, there isn't a steam-devices to install. What I tried is extract both 60-steam-vr.rules and 60-steam-input.rules from Ubuntu's steam-devices package in /etc/udev/rules.d then ran udevadm control --reload-rules. Didn't work.
So moved the Arch Linux steam package's installed 70-steam-vr.rules and 70-steam-input.rules out of /lib/udev/rules.d/ in case it conflicted with the ones from Ubuntu's steam-devices package and reran udevadm control --reload-rules. Didn't work. Figured I try a full reboot. Nope.
Again, the controller works over BT in Big Picture mode, but not in game. It works in game only if connected over USB.
Also, when I run a diff to compare Ubuntu and Arch version of x0-steam-input.rules, it's not much different:
diff /etc/udev/rules.d/60-steam-input.rules /lib/udev/rules.d/70-steam-input.rules
4c4
< KERNEL=="uinput", SUBSYSTEM=="misc", TAG+="uaccess", OPTIONS+="static_node=uinput", MODE="0660"
---
> KERNEL=="uinput", SUBSYSTEM=="misc", OPTIONS+="static_node=uinput", TAG+="uaccess"
Does DS4 work in your game if you plug it in? I experienced similar symptoms with the XBox 360 USB controller being recognized in Big Picture mode when I tap the buttons, but it did not work in-game. This was on Gentoo. There are two options to fix it. Either add your user to the input group (as noted by others in this thread) or create a games group.
Here are the details:
SUBSYSTEMS=="input", ATTRS{name}=="Microsoft X-Box 360 pad", GROUP="games", MODE="0660"
DRIVERS=="xpad", GROUP="games", MODE="0660"
SUBSYSTEMS=="input", ATTRS{name}=="Sony Computer Entertainment Wireless Controller", GROUP="games", MODE="0660"
DRIVERS=="sony", GROUP="games", MODE="0660"
Now /dev/input/js0 has group games
Add user to group games
Optional: add user to plugdev group
Optional: /etc/conf.d/modules xpad joydev usbhid (auto loaded if using usb keyboard or mouse)
@namtsui, from my post above "It is detected in game only if I plug the DS4 controller via USB cable.",
Therefore, yes, it works in the game when I plug it in. Only Bluetooth doesn't work in-game (but does in big Picture mode).
Hello @ibrokemypie, are you still experiencing this issue on an up to date system?
Closing pending feedback.
Your system information
Please describe your issue in as much detail as possible:
Steam big picture detects my DS4 controller connected over bluetooth and allows me to navigate. In game however, I can choose configuration for my controller to emulate an xbox controller but it doesn't actually apply, even with forced on.
Steps for reproducing this issue: