#216 Dualsense not working correctly

Closed
opened 2 years ago by Ghost · 5 comments
Ghost commented 2 years ago

Hey guys,

I've long waited for the dualsense support, and now it's here in Patch 2.2. Now my Dualsense Controller is recognized in the Game, unlike before. Even the Dualsense graphics for button mapping is displayed in the mapping settings, so I gues the game knows its a Dualsense controller.

Speaking of button mapping. Everithing is screwed up here. The camera turns around and around the whole time. I can just pull the camera up & down when I move the right analog stick left & right. Weird, I know. The start button seems to work correctly but confirm is on triangle instead of circle and back/cancle is on circle instead of cross.

I calibrated the gamepad in KDE Settings a few times, but no changes. I also started several Games on Steam with Gamepad support. And guess what... everything just workes fine. Also steam recognizes the controller as a Dualsense controller.

Soo, is Dualsense support broken on Genshin side or on Linux side? Would be great to play it with the Dualsense gamepad.

I use Arch btw. XD

Hey guys, I've long waited for the dualsense support, and now it's here in Patch 2.2. Now my Dualsense Controller is recognized in the Game, unlike before. Even the Dualsense graphics for button mapping is displayed in the mapping settings, so I gues the game knows its a Dualsense controller. Speaking of button mapping. Everithing is screwed up here. The camera turns around and around the whole time. I can just pull the camera up & down when I move the right analog stick left & right. Weird, I know. The start button seems to work correctly but confirm is on triangle instead of circle and back/cancle is on circle instead of cross. I calibrated the gamepad in KDE Settings a few times, but no changes. I also started several Games on Steam with Gamepad support. And guess what... everything just workes fine. Also steam recognizes the controller as a Dualsense controller. Soo, is Dualsense support broken on Genshin side or on Linux side? Would be great to play it with the Dualsense gamepad. I use Arch btw. XD
Krock commented 2 years ago
Owner

@kurolinlin

Even if either Wine or Genshin now support this controller, you might still need to apply some workarounds/overrides to get it working.

Relevant links:

To test whether the wine/proton interaction is working, you could also change the game executable option from launcher.bat to control and open the joystick testing interface (example here).

Good luck!

@kurolinlin Even if either Wine or Genshin now support this controller, you might still need to apply some workarounds/overrides to get it working. Relevant links: * Arch wiki entry to configure: https://wiki.archlinux.org/title/Gamepad#Playstation_5_(Dualsense)_controller * FFXIV test report: https://www.protondb.com/app/39210#kt9LZY3VbK To test whether the wine/proton interaction is working, you could also change the game executable option from `launcher.bat` to `control` and open the joystick testing interface ([example here](https://github.com/ValveSoftware/steam-for-linux/issues/7473#issuecomment-734518898)). Good luck!

the camera turns around and around the whole time

I'd think this is due to the way those controllers gyro is managed in Linux.

There's no easy way to disable it save from tinkering with the kernel module params.

A good workaround is to have something else grab the gyro input while you play. This is what I use in Lutris for my DS4 that has the same problem:

if test -e /dev/input/by-id/usb-Sony_Interactive_Entertainment_Wireless_Controller-event-if03 ; then nohup evtest --grab /dev/input/by-id/usb-Sony_Interactive_Entertainment_Wireless_Controller-event-if03 >/dev/null ; else  echo "No DS4 Gyro detected" ; fi

It might not be reliable enough for detecting the device though, so adapt locally.

For the button mapping I don't know it reminds me of the nighmarish time where input was always f*cked up one way or another in Wine/Proton, especially in JRPGs.

> the camera turns around and around the whole time I'd think this is due to the way those controllers gyro is managed in Linux. There's no easy way to disable it save from tinkering with the kernel module params. A good workaround is to have something else grab the gyro input while you play. This is what I use in Lutris for my DS4 that has the same problem: ``` if test -e /dev/input/by-id/usb-Sony_Interactive_Entertainment_Wireless_Controller-event-if03 ; then nohup evtest --grab /dev/input/by-id/usb-Sony_Interactive_Entertainment_Wireless_Controller-event-if03 >/dev/null ; else echo "No DS4 Gyro detected" ; fi ``` It might not be reliable enough for detecting the device though, so adapt locally. For the button mapping I don't know it reminds me of the nighmarish time where input was always f*cked up one way or another in Wine/Proton, especially in JRPGs.
lahvuun commented 2 years ago

I got the Dualsense working with wine-staging 6.21 by adding a new DWORD value 0 "Enable SDL" to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\winebus

I attached a screenshot of how it should look.

Sadly I get no force feedback or haptics. Haven't unlocked fishing yet, so I can't check the adaptive triggers.

But at least there are correct buttons prompts and the camera is not spinning anymore.

I think this issue can be closed, since it's a problem with wine itself. Currently the developers are working on rewriting controller handling in wine, so presumably this registry option won't be needed in the future.

edit: tried fishing and adaptive triggers triggers work exactly the same as on Windows. That doesn't mean it's good, though. While the triggers feel harder to press, it doesn't really impact the the fishing in any way. You'd think they could at least make it so the harder you pull, the faster the fishing bar moves to the right side, but there's nothing like that from what I can tell.

I also tested the haptic feedback on Windows and it's pretty basic. I only noticed it while gliding, running through bushes, and, oddly, when rolling for characters. It also feels just like normal vibration, much worse than what you get on Linux if you simply route the sound to the game and plug headphones in the jack. Yes, this means you will be getting the vibration on everything, but it's pretty nice this way, "hearing" with your hands, if that makes sense.

Regardless, I think haptics don't work under Linux out of the box because the game either utilizes the Windows driver (which obviously isn't present) or some Windows surround features (hence why the patch notes in 2.2 explicitly tell you to configure the DualSense speaker in the sound control panel)

I got the Dualsense working with wine-staging 6.21 by adding a new DWORD value 0 "Enable SDL" to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\winebus I attached a screenshot of how it should look. Sadly I get no force feedback or haptics. Haven't unlocked fishing yet, so I can't check the adaptive triggers. But at least there are correct buttons prompts and the camera is not spinning anymore. I think this issue can be closed, since it's a problem with wine itself. Currently the developers are working on rewriting controller handling in wine, so presumably this registry option won't be needed in the future. edit: tried fishing and adaptive triggers triggers work exactly the same as on Windows. That doesn't mean it's good, though. While the triggers feel harder to press, it doesn't really impact the the fishing in any way. You'd think they could at least make it so the harder you pull, the faster the fishing bar moves to the right side, but there's nothing like that from what I can tell. I also tested the haptic feedback on Windows and it's pretty basic. I only noticed it while gliding, running through bushes, and, oddly, when rolling for characters. It also feels just like normal vibration, much worse than what you get on Linux if you simply route the sound to the game and plug headphones in the jack. Yes, this means you will be getting the vibration on everything, but it's pretty nice this way, "hearing" with your hands, if that makes sense. Regardless, I think haptics don't work under Linux out of the box because the game either utilizes the Windows driver (which obviously isn't present) or some Windows surround features (hence why the patch notes in 2.2 explicitly tell you to configure the DualSense speaker in the sound control panel)
Krock commented 2 years ago
Owner

Thank you very much for this input. It's not documented in INSTALLATION.md -> 4e100ba

Thank you very much for this input. It's not documented in INSTALLATION.md -> 4e100ba

Writing this here in case anyone else has a similar issue.

I'm currently running EndeavourOS with XFCE, and installed the game + patch through an-anime-game-launcher via AUR. The 'Enable SDL=0' patch worked for me previosuly on Arch with KDE and the game installed through the same method. On this install though, the controller would have the incorrect mapping issue while the patch was applied and would be emulated as an Xbox controller without.

I was able to fix this with the game-devices-udev package from AUR. I'm still rather new on Linux, so I don't completely understand what the udev rule does, but the controller works properly with the 'Enable SDL=0' patch now.

Writing this here in case anyone else has a similar issue. I'm currently running EndeavourOS with XFCE, and installed the game + patch through an-anime-game-launcher via AUR. The 'Enable SDL=0' patch worked for me previosuly on Arch with KDE and the game installed through the same method. On this install though, the controller would have the incorrect mapping issue while the patch was applied and would be emulated as an Xbox controller without. I was able to fix this with the [game-devices-udev](https://aur.archlinux.org/packages/game-devices-udev) package from AUR. I'm still rather new on Linux, so I don't completely understand what the udev rule does, but the controller works properly with the 'Enable SDL=0' patch now.
Sign in to join this conversation.
Loading...
Cancel
Save
There is no content yet.