https://bugs.winehq.org/show_bug.cgi?id=56306
Bug ID: 56306 Summary: Dualshock 4 stopped working entirely since Wine 9.0 Product: Wine Version: 9.1 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: dinput Assignee: wine-bugs@winehq.org Reporter: barrosleo10@gmail.com Distribution: ---
It used to work mostly fine in version 8.XX, but something changed in 9.00 that now not a single game or wine itself detects it anymore, be it on Bluetooth or USB. The only way I can make it work again is by using a tool like SC controller to fake it as an xbox controller.
https://bugs.winehq.org/show_bug.cgi?id=56306
PlayNeth barrosleo10@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Distribution|--- |ArchLinux
https://bugs.winehq.org/show_bug.cgi?id=56306
mickski56@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mickski56@hotmail.com
--- Comment #1 from mickski56@hotmail.com --- To add some information. For me a Dualshock 4 connected wirelessly shows up as a dinput only device, which can be disabled but not reset to xinput. When disabled it shows up as disabled in the registry at HKEY_CURRENT_USER\Software\Wine\DirectInput\Joysticks, when enabled it does not show up in the registry at all and is a dinput only device in joy.cpl. Editing the registry to enabled has no effect.
https://bugs.winehq.org/show_bug.cgi?id=56306
Rémi Bernon rbernon@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |rbernon@codeweavers.com
--- Comment #2 from Rémi Bernon rbernon@codeweavers.com --- (In reply to mickski56 from comment #1)
To add some information. For me a Dualshock 4 connected wirelessly shows up as a dinput only device, which can be disabled but not reset to xinput.
Can you confirm that this happens in Wine 9.0?
Fwiw this could be explained by some later changes that are in 9.1 but not in 9.0. This is for better compatibility with many games which will see the DS4 controller exactly as it is on Windows. You can return to the old behavior by setting the DisableHidraw winebus registry key described on https://wiki.winehq.org/Useful_Registry_Keys.
https://bugs.winehq.org/show_bug.cgi?id=56306
--- Comment #3 from mickski56@hotmail.com --- This does not happen in wine 9.0. On a fresh wine 9.0 prefix my Dualshock4 appears as an xinput device and can be overridden or disabled as expected in joy.cpl.
https://bugs.winehq.org/show_bug.cgi?id=56306
--- Comment #4 from Rémi Bernon rbernon@codeweavers.com --- (In reply to mickski56 from comment #3)
This does not happen in wine 9.0. On a fresh wine 9.0 prefix my Dualshock4 appears as an xinput device and can be overridden or disabled as expected in joy.cpl.
Then this doesn't look like the same thing. You should be able to fix your issue with the DisableHidraw = 1 registry key as described above (it needs the prefix to be restarted after adding it).
https://bugs.winehq.org/show_bug.cgi?id=56306
--- Comment #5 from mickski56@hotmail.com --- For clarity I hope
For me a Dualshock 4 connected wirelessly shows up as a dinput only device, which can be disabled but not reset to xinput.
In affected versions 9.1 9.2
Can you confirm that this happens in Wine 9.0?
No it does not.
You should be able to fix your issue with the DisableHidraw = 1 registry key Yes I can, in affected versions 9.1 9.2
Thanks.
https://bugs.winehq.org/show_bug.cgi?id=56306
--- Comment #6 from mickski56@hotmail.com --- OP should probably comment on whether the DisableHidraw = 1 registry key works for them. If so this should probably be closed as expected behaviour.
Just a few notes for anyone interested.
The dualshock 4 is a direct input only controller. In windows if you want xinput you have to use a wrapper. Wine after version 9.0 is behaving more like windows (a good thing). Meaning going forward either the registry key or sc controller or some other wrapper is required to use a dualshock 4 with games that expect xinput.
https://bugs.winehq.org/show_bug.cgi?id=56306
--- Comment #7 from PlayNeth barrosleo10@gmail.com --- (In reply to mickski56 from comment #6)
OP should probably comment on whether the DisableHidraw = 1 registry key works for them. If so this should probably be closed as expected behaviour.
Just a few notes for anyone interested.
The dualshock 4 is a direct input only controller. In windows if you want xinput you have to use a wrapper. Wine after version 9.0 is behaving more like windows (a good thing). Meaning going forward either the registry key or sc controller or some other wrapper is required to use a dualshock 4 with games that expect xinput.
Yep, disabling that did the trick. WINE now sees it properly now, it wasn't detecting whatsoever neither as a dinput or xinput controller in the control panel.
https://bugs.winehq.org/show_bug.cgi?id=56306
Michał Górny mgorny@gentoo.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mgorny@gentoo.org
--- Comment #8 from Michał Górny mgorny@gentoo.org --- This is a duplicate of bug #56292.
That said, I don't understand why wine should default an option that can't work out of the box unless you hack permissions on /dev/input*.
https://bugs.winehq.org/show_bug.cgi?id=56306
--- Comment #9 from Michał Górny mgorny@gentoo.org --- Sorry, I meant /dev/hidraw*.
https://bugs.winehq.org/show_bug.cgi?id=56306
--- Comment #10 from Rémi Bernon rbernon@codeweavers.com --- DS4 and DS5 gamepads often have udev rules that make them accessible through hidraw, because Sony implements a proprietary HID protocol that works better that way.
https://bugs.winehq.org/show_bug.cgi?id=56306
--- Comment #11 from Rémi Bernon rbernon@codeweavers.com --- And if your distribution doesn't have such rules it should probably add them, many games depend on this to correctly support the Sony controllers.
https://bugs.winehq.org/show_bug.cgi?id=56306
--- Comment #12 from Michał Górny mgorny@gentoo.org --- Is there any specific information on such rules on the wiki? I was only able to find https://wiki.winehq.org/Hid which doesn't really say what the rules should do, in particular how to set the access to the right user.
That said, from a quick attempt, it seems that my DS4 has Y axis upside down with hidraw (while it works fine with xinput). Am I doing something wrong?
https://bugs.winehq.org/show_bug.cgi?id=56306
--- Comment #13 from Rémi Bernon rbernon@codeweavers.com --- If you have a steam-devices package on your distribution (this is the name of the package on Debian, I assume other distro will have something similar) I believe it will install all the rules you need for you.
The corresponding rules are here: https://github.com/ValveSoftware/steam-devices/blob/master/60-steam-input.ru...
I will add some information to the wiki.
https://bugs.winehq.org/show_bug.cgi?id=56306
--- Comment #14 from Rémi Bernon rbernon@codeweavers.com ---
That said, from a quick attempt, it seems that my DS4 has Y axis upside down with hidraw (while it works fine with xinput). Am I doing something wrong?
That doesn't sound right though.
https://bugs.winehq.org/show_bug.cgi?id=56306
Rémi Bernon rbernon@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |9427421240@posteo.net
--- Comment #15 from Rémi Bernon rbernon@codeweavers.com --- *** Bug 56292 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=56306
Marc P pytha@ga.mr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |pytha@ga.mr
https://bugs.winehq.org/show_bug.cgi?id=56306
--- Comment #16 from 9427421240@posteo.net --- Would it be acceptable to make the packages from WineHQ recommend (in the meaning from Debian-packaging) the "steam-devices"-package, so that people who upgrade Wine from 9.0 will be able to simply continue using these controllers (and even have them be recognised as PlayStation-controllers with motion-controls)?
This improvement basically made my gaming-setup non-functional after the upgrade, until i learned about how to solve this issue. [I actually simply downgraded Wine to the stable version, until i learned about the "steam-devices"-package; but when Wine 10 will be available, the controllers would be non-functional by default, for people who do not have the "steam-devices"-package (or an equivalent) installed on their PC.]
https://bugs.winehq.org/show_bug.cgi?id=56306
Chiitoo chiitoo@gentoo.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |chiitoo@gentoo.org
https://bugs.winehq.org/show_bug.cgi?id=56306
archlinuxuser anode.dev@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |anode.dev@gmail.com
--- Comment #17 from archlinuxuser anode.dev@gmail.com --- It caused by https://gitlab.winehq.org/wine/wine/-/commit/173ed7e61b5b80ccd4d268e80c5c15f...
https://bugs.winehq.org/show_bug.cgi?id=56306
--- Comment #18 from archlinuxuser anode.dev@gmail.com --- can be fixed by add HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\winebus dword DisableHidraw=1
or changing permissions on gamepad device chmod a+rw /dev/hidrawX
Perhaps this problem should be fixed by distro maintainers in udev rules