Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sony Dualsense support? #14

Open
Shished opened this issue Jan 8, 2021 · 7 comments
Open

Sony Dualsense support? #14

Shished opened this issue Jan 8, 2021 · 7 comments

Comments

@Shished
Copy link

Shished commented Jan 8, 2021

Just tried to use this app with DualSense (PS5 controller) connected through USB and it does not works.
I tried it with dolphin-emu in UDP mode and it started to spam the terminal output with repeating messages, when trying to assign controller buttons to emulated controller in dolphin, it detected random buttons and did not reacted to real button presses.

s4drv --hidraw --udp 
[info][controller 1] Created devices /dev/input/js1 (joystick) /dev/input/event17 (evdev) 
[info][controller 1] Connected to USB Controller (00:00:00:00:00:00 hidraw3)
[info][hidraw] Scanning for devices
[info][controller 1] Battery: Fully charged
[info][controller 1] USB: Connected
[info][controller 1] Battery: 72%
[info][controller 1] Audio: Headphones
[info][controller 1] USB: Disconnected
[info][controller 1] Battery: 75%
[info][controller 1] Audio: Headset
[info][controller 1] USB: Connected
[info][controller 1] Battery: 36%
[info][controller 1] Audio: Speaker
[info][controller 1] USB: Disconnected
[info][controller 1] Battery: 25%
[info][controller 1] Audio: Mic
[info][controller 1] USB: Connected
[info][controller 1] Battery: 0%
[info][controller 1] Audio: Headset
[info][controller 1] Battery: Fully charged
[info][controller 1] Audio: Speaker
[info][controller 1] USB: Disconnected
[info][controller 1] Battery: Fully charged
[info][controller 1] Audio: Mic
[info][controller 1] USB: Connected
[info][controller 1] Battery: 81%
[info][controller 1] Audio: Headset
[info][controller 1] USB: Disconnected
[info][controller 1] Battery: 87%
[info][controller 1] Audio: Headphones
[info][controller 1] USB: Connected
[info][controller 1] Battery: 36%
[info][controller 1] Audio: Mic
[info][controller 1] USB: Disconnected
[info][controller 1] Battery: 25%
[info][controller 1] Audio: Speaker
[info][controller 1] USB: Connected
[info][controller 1] Battery: 0%
[info][controller 1] Audio: Headphones
[info][controller 1] Battery: Fully charged
[info][controller 1] Audio: Mic
[info][controller 1] USB: Disconnected
[info][controller 1] Battery: Fully charged
[info][controller 1] Audio: Speaker
[info][controller 1] USB: Connected
[info][controller 1] Battery: 81%
[info][controller 1] Audio: Headphones
[info][controller 1] USB: Disconnected
[info][controller 1] Battery: 87%
[info][controller 1] Audio: Headset
^C[info][controller 1] Disconnected
@loveisfoss
Copy link

loveisfoss commented Apr 18, 2021

So, are there any plans to support the Dual Sense controller? Or, is there any other implementation that does it?

@badlydrawnface
Copy link

I second this, Sony has officially released open source drivers for the DualSense, and there is currently no way to utilize the motion controls in Cemu for this controller on Linux at this time, so support for the DualSense (like DS4Windows did on the Windows side of things) would be very appreciated,

I tried adding the lsusb id for the DualSense into the 50-ds4drv.rules file but to no avail. I don't know how to go deeper into adding the support myself, because I suck at programming.

Here is what I tried adding to 50-ds4drv.rules, with the DualSense's ids (didn't work)
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="09cc", MODE="0666" KERNEL=="hidraw*", SUBSYSTEM=="hidraw", KERNELS=="0005:054C:09CC.*", MODE="0666"

@iMonZ
Copy link

iMonZ commented Dec 18, 2021

So motion isn't working with the DualSense controller and the official Sony drivers?

@loveisfoss
Copy link

loveisfoss commented Dec 20, 2021

Motion is working with the DualSense controller and the official Sony driver (which is included in the latest linux kernel versions). Cemu (with cemuhook) or yuzu are not using the motion implementation of the driver though. These programs look after a UDP server to receive motion data.

DS4Windows and ds4drv for example do exacrtly this job. They can read the controller's motion data by "using the driver" and at the same time act as a UDP server to send the controller data (buttons/motion) to programs like yuzu or cemu,

The problem is that there is not any program like ds4drv or DS4Windows that could do this job with DualSense on linux. ds4drv works only with Dual Shock 4. DS4Windows works with DualSense, but only on Windows.

@Arson31
Copy link

Arson31 commented Dec 21, 2021

I'm able to get DualSense to work on a PS5 controller with Yuzu. I simply checked the Motion option in the controls tab in yuzu Configuration. Click Motion 1 and jiggle the controller around and it will register. I got this to work in Bluetooth and through USB-C. In jstest test the controller gets separated into 2 controllers, 1 for buttons and the axis for the dpad, analog sticks, and the triggers. The 2nd controller is dedicated for motion controls only. It seems the PS5 controller is registered in evdev. Maybe try evdevhook instead I haven't tested it out.

@loveisfoss
Copy link

Oh, I\m sorry about yuzu then, they must have made some other implementation than cemu.

@qurious-pixel
Copy link

https://github.com/lirannl/dsdrv-cemuhook has DualSense support

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants