protonscr

winejoystick.drv Ignores Steam Input

protonclosed
ValveSoftware/Proton#5388 · opened 2021-12-07 by Sterophonick · updated 2022-04-08 · 2 comments · github
SSterophonick 2021-12-07 github

Older games that rely on the WinMM Joystick functionality such as Jazz Jackrabbit 2 will ignore Steam Input controller configs completely, and the game will accept input even when the Steam Overlay is open. Tested with an Xbox One controller and a DualShock 4, both wired.

The reason why this happens is because dlls/winejoystick.drv/joystick_linux.c still relies on reading joysticks through /dev/input/jsX. The current workaround is to delete C:\Windows\SysWOW64\winejoystick.drv, however, doing that makes local multiplayer impossible.

The real fix would be to reimplement joystick_linux.c using SDL2 instead of the legacy Linux joystick API, which would allow for proper local multiplayer in games like this.

System Information

Distro: Manjaro Linux
GPU: Intel CometLake-U GT2 [UHD Graphics]
Driver: Mesa 21.2.5
Kernel: 5.15.6-2-MANJARO
Proton: 1637264280 experimental-6.3-20211118 (and earilier)

Iipr 2021-12-10 github

In Wine 7.0-rc1 winejoystick.drv has been removed.
https://www.winehq.org/announce/7.0-rc1

Joystick APIs are implemented on top of dinput.
See history at: https://github.com/wine-mirror/wine

I don't know when this would arrive in Proton..

SSterophonick 2021-12-11 github

Oh, I didn't see that, I'm excited now! 👀

Nothing extracted yet.