-
Notifications
You must be signed in to change notification settings - Fork 0
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
[Question] DS5 Dual Sense is supported? #3
Comments
Thanks for trying this repo. To be honest, I can't tell if DS5 is supported because I don't own a DS5 controller. batocera-extra integrates TheDrHax/ds4drv-cemuhook, and it looks like this project does not support DS5 controllers (see #14). The last comment mentions another project lirannl/dsdrv-cemuhook. Maybe you can try if this one works for you? |
I just created branch feature/ds5 including dsdrv-cemuhook with support for DualSense 5 controllers (in addition to ds4drv-cemuhook). If you find the time, please test if it works for you and report back. |
Thanks a lot I will try and provide the details! |
Didn't work. I perform same steps and have same issue, NO MOTION! |
Thanks for testing. Your configuration on the screenshots looks OK. I see 3 possibilities that prevent motion control: the cemu configuration, the dsdrv driver or the kernel module. If you're willing to debug further: you could try to
Then load a game and check if motion works. If it works, then we should also be able to make it work from within batocera. If it does not work, the cemu configuration should not be the cause. Next steps:
If the numbers change on movement and stay the same without movement, the DS5 controller can be handled by the linux kernel module. Then we can focus on dsdrv. |
New evidences :
DSDRV<https://1drv.ms/a/s!Ai2pIuArbKBg2MAgdmmoFydAygCJCw>
Still not working. Could be something related with name of device ? Because still being recognized as new device and same name os DS4 not DS5.
Obter o Outlook para Android<https://aka.ms/AAb9ysg>
…________________________________
From: Christian ***@***.***>
Sent: Sunday, June 25, 2023 2:24:20 AM
To: git-developer/batocera-extra ***@***.***>
Cc: tiagogl ***@***.***>; Author ***@***.***>
Subject: Re: [git-developer/batocera-extra] [Question] DS5 Dual Sense is supported? (Issue #3)
Thanks for testing. Your configuration on the screenshots looks OK.
I see 3 possibilities that prevent motion control: the cemu configuration, the dsdrv driver or the kernel module.
If you're willing to debug further: you could try to
1. start dsdrv, then
2. run cemu from the application menu in the file manager (Key "F1" the batocera root menu), then
3. go to the input settings and configure your controller manually for "DSU controller" and Port 26766.
Then load a game and check if motion works. If it works, then we should also be able to make it work from within batocera.
If it does not work, the cemu configuration should not be the cause. Next steps:
* Open a terminal (either via SSH or file manager) and run the command evtest
* Find the motion device for your controller. This is the output for a DS4 controller:
/dev/input/event20: Sony Computer Entertainment Wireless Controller
/dev/input/event21: Sony Computer Entertainment Wireless Controller Motion Sensors
/dev/input/event22: Sony Computer Entertainment Wireless Controller Touchpad
* Enter the number of the "Motion Sensors" device (would be 21 for the list above)
* Move the controller and check if the numbers change. If you can't because the numbers are rushing in too fast, replace evtest by evtest | grep ABS_X above and try again.
If the numbers change on movement and stay the same without movement, the DS5 controller can be handled by the linux kernel module. Then we can focus on dsdrv.
—
Reply to this email directly, view it on GitHub<#3 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AITH7MYQ7ZCXYIILWSEPIGDXM7DQJANCNFSM6AAAAAAZRRW5XU>.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
evtestDid you run the first video (evtest) with grep ( dsdrvThe second video: are you sure that
When I connect a DS4 controller, the dsdrv log shows an error. When connecting via USB:
When connecting via Bluetooth:
Looks like dsdrv doesn't work as expected, at least on my side for a PS4 controller. |
The problem seems to be related to PS4 controllers. I fixed it and committed a patch upstream. With this patch, motion works in Cemu using dsdrv and a PS4 controller. |
Same issues. I'm not sure but the issue can be naming convention? As I remeber Sony entertainment controller is releted with DS4 only. |
Sorry that I didn't respond earlier, @tiagogl. Unfortunately, I didn't get a notification about your last comment. In your video it looks like that motion data is received successfully by the linux kernel module. That's good. On my machine, after starting dsdrv-cemuhook the log
After connecting a DS4 controller via USB:
After disconnecting USB and connecting via bluetooth (by pressing the P button):
I didn't see such messages in your logs. So I suggest as next steps:
|
Hello, I tried and got same issue :/ |
[info][controller 1] Created devices /dev/input/js0 (joystick) /dev/input/event4 (evdev) |
Hm... looks like the controller is not picked up by dsdrv, although the ID 054c:0ce6 matches. I'm out of ideas then, at least we could narrow the problem down to dsdrv. |
I've also run through these same steps with a DS5 (using dsdrv-cemuhook) and have had the same results as tiagogl. If I try to connect a DS4 (ds4drv-cemuhook) as the second controller, I will get an error in the ds4drv-cemuhook.log "[error][hidraw] Unable to open DS4 device: [Errno 16] Device or resource busy". When I connect the DS4 as first player (using ds4drv-cemuhook) it will connect correctly via USB showing it in the log, but when I disconnect USB and try to use bluetooth it gives that same error as above [Errno 16] |
ds4drv-cemuhook and dsdrv-cemuhook are unrelated. ds4drv is DS4 only. dsdrv is capable of both DS4 and DS5. Both were tested successfully with a DS4 controller. Since both ds4drv and dsdrv take DS4 controllers, they should not be running at the same time when connecting a DS4 controller. I didn't test what happens when this is done. Maybe one of them binds to the controller and locks the device (just an assumption), so this could be the cause for Let's focus on DS5 support of dsdrv in this issue. So please make sure dsdrv is started ( |
Maybe the DS5 controllers are not picked up by dsdrv because of a missing device name in the code. I added a patch in branch |
Yet when I run the "evtest | grep ABS_X" test, it recognizes motion data and analog stick data. |
The image links do not work. |
Sorry, I will have to correct this tomorrow basically log isn't detecting ds5 |
The problem seems indeed to be missing device names. dsdrv supports:
I borrowed a DS5 controller and found out that it is detected as:
I extended the patch accordingly, and now touch and motion are working as desired. Could you please try if the same applies to you, @tiagogl & @aspiretocode? Just for the records: the name of a connected controller may be listed by the command |
I thought that could of been it, although I have little experience with
device driver type stuff, my controller was showing up as "Sony Corp.
DualSense Wireless Controller" in one of the tests. I will try this tonight
as soon as I get off work. Thanks so much for working on this!
…On Fri, Aug 25, 2023, 12:02 AM Christian ***@***.***> wrote:
The problem seems indeed to be missing device names.
dsdrv supports:
- Sony Interactive Entertainment Wireless Controller (USB)
- Sony Computer Entertainment Wireless Controller (USB)
- Wireless Controller (Bluetooth)
I borrowed a DS5 controller and found out that it is detected as:
- Sony Interactive Entertainment DualSense Wireless Controller (USB)
- DualSense Wireless Controller (Bluetooth)
I extended the patch accordingly, and now touch and motion are working as
desired.
Could you please try if the same applies to you, @tiagogl
<https://github.com/tiagogl> & @aspiretocode
<https://github.com/aspiretocode>?
Just for the records: the name of a connected controller may be listed by
the command
evtest </dev/null 2>&1 | grep -ioP
'/dev/input/event.*:\s*\K.*controller.*$'
—
Reply to this email directly, view it on GitHub
<#3 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAZCQDANOBC4XWGPM2TKHTDXXAWVXANCNFSM6AAAAAAZRRW5XU>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Problem of name being detected still persists: Now the problem is a little bit worse. I can't use controller inside cemu , Is not being detected. |
I removed the patches because they are now part of dsdrv-cemuhook - thanks for merging, @lirannl! Now let's try to solve the remaining problems. It is OK that a controller is shown twice in Batocera. The first one is coming from the system natively. It is listed even when dsdrv-cemuhook is not running. To confirm that, make sure dsdrv is not running, so that When dsdrv is started (by calling The message
The output shows name and pid of processes that use this device. You can get more info by running Example:
I hope you can find out the process that locks your controller this way. |
I can confirm that a DS5 controller is working with motion and touch in Citra and Cemu, both started from Batocera. |
This looks all good to me. You probably have You wrote you can't control cemu anymore. Are you able to navigate through batocera with the controller? Maybe you have to check the controller/button mapping in the cemu settings (Batocera main menu / F1 / cemu). |
I will do a double check! Thanks a lot |
Good News. It's working ,I was able to play Breath of the Wild using the motion perfectly. The only problem that I noted the "rumble" it's not working, I don't know if it's normal or other bug. |
Since dsdrv is just ds4drv with additional features, and dsdrv is now proven to work for both DS4 and DS5 controllers, I will remove ds4drv in favor of dsdrv. Important The default port of dsdrv is no longer 26766 but 26762 so that it may be used as drop-in replacement for ds4drv. Please update your configuration accordingly after your next update ( |
When connected via USB, my controller "plays" the music via rumble. Tested in Cemu started from Batocera and from Applications menu (F1). When connected via Bluetooth, this is not the case. |
PS4 controller and Switch Pro controller don't have this feature. But I think this is something different, not "rumble", because Known issues/limitations contains:
So if you'd like to have rumble, it has to be implemented upstream in lirannl/dsdrv-cemuhook. |
Yes. You are right, this a driver limitation. I think this topic can be closed. I really appreciate all efforts to making this work. Thans a lot again |
Sorry for the delay in responding. I've run some of the tests, seems I'm connecting, somewhat but not getting the same, or as many processes picking up my controller. If you put the patches into Batocera, does that mean I need to update Batocera? Hopefully I can work around having to update, since I've got my system at a good spot for the moment. Thanks so much for all the work on this again, awesome! |
The output looks good. dsdrv is running on port 26762, and the controller was detected via bluetooth. What is the problem? Are you able to control batocera with your controller? In which emulator do you want motion control? |
This looks all correct. Idea 1: Please check if you have Idea 2: start cemu from the applications menu (F1 from the batocera main menu) and configure your controller manually. Set API to |
The property keys in your
|
Sorry, got that all changed (custom.sh and batocera.conf) and it still won't work through Batocera/ES, but does if I set it up manually in the emulator's settings. |
What is your batocera version? |
When motion works when cemu is started from the application menu, it means that dsdrv-cemuhook is setup correctly and is working. There must be a problem with the patch, then. The patch is written for batocera 37. If you have an older version and don't want to update, you can try one of the patches for batocera-36 or batocera-35. You can also check if the patch was applied properly by looking at |
After patching, |
batocera-37 does not contain the tool |
I updated |
I'm using A dev version V 38. I'll get going on testing this soon. Thought
I'd go ahead and respond since I have a second.
Thanks so much for all the help!
…On Tue, Aug 29, 2023, 11:02 PM Christian ***@***.***> wrote:
What is your batocera version?
—
Reply to this email directly, view it on GitHub
<#3 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAZCQDBYPO3OSCT4EIRJAODXX23MXANCNFSM6AAAAAAZRRW5XU>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Awesome, it's working, sorry for all the trouble and thank you! Also using on Yuzu just configured thru the emulator menu |
Nice to hear that! |
Good news, @tiagogl and @aspiretocode! A few days ago, another cemuhook implementation evdevhook2 with support for DS5 controllers was released. It has two advantages:
I added it to batocera-extra, it works perfectly here. If you'd like to test it, update batocera-extra, adapt your Another improvement: The setting |
Hello, I was able to test and worked fine but only using a cable if you use Bluetooth this implementation still duplicate the controller because the name is different when you use cable x bluetooth. |
Thanks for your feedback! |
Hello,
I tried all steps and I was able to start driver and patches but motion still not working. A new device was recognized on batocera as DS4, both I was able to control but no motion. I tried both devices and no motion!
The text was updated successfully, but these errors were encountered: