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

Unwanted deadzone with steering wheel and xinput, vanilkla wine is ok. #4066

Open
kokoko3k opened this issue Jul 14, 2020 · 5 comments
Open

Comments

@kokoko3k
Copy link

Proton Version tested: 4.11 and 5.0-9

I've tried several racing games via proton, and it seems there is always a deadzone on the steering wheel (grid autosport, dirt rally)
The deadzone setting in the game was always 0

  • steam input is disabled.

To inspect the issue,

  • i calibrated the wheel with jscal (before the calibration js0 had a dead zone too)
  • i downloaded an xinput joystick tester for windows and replaced the grid autosport main executable with it.
  • Started it via steam and verified that my stearing wheel has an unwanted dead zone.
  • started it manually to compare proton and vanilla wine (This does NOT happen if i use vanilla wine (tested version 5.3 and 5.10, also wine-staging 5.10, they all works ok)
#unwanted deadzone:
STEAM_COMPAT_DATA_PATH=/home/big/Giochi/Steam/SteamApps/compatdata/255220 WINEPREFIX=/home/big/Giochi/Steam/SteamApps/compatdata/255220/pfx/ /mnt/rotativo/steam/steamapps/common/Proton\ 5.0/proton run  /koko/tmp/ControllerTester/ControllerTester.exe
#no deadzone:
STEAM_COMPAT_DATA_PATH=/home/big/Giochi/Steam/SteamApps/compatdata/255220 WINEPREFIX=/home/big/Giochi/Steam/SteamApps/compatdata/255220/pfx/ wine  /koko/tmp/ControllerTester/ControllerTester.exe
  • Also it may be helpful to know that this does NOT happen if i use an xbox360 controller
#dmesg
[31753.055574] input: Thrustmaster F430 Force Feedback as /devices/pci0000:00/0000:00:14.0/usb2/2-10/2-10.1/2-10.1:1.0/0003:044F:B65A.001E/input/input57
#lsusb
Bus 002 Device 023: ID 044f:b65a ThrustMaster, Inc. 

My tests point me to believe that the issue is entirely related to protonè

@kokoko3k kokoko3k changed the title Unwanted deadzone with steering wheel and xinput, works fine in wine. Unwanted deadzone with steering wheel and xinput, vanilkla wine is ok. Jul 14, 2020
@kakra
Copy link
Contributor

kakra commented Jan 29, 2021

This probably comes from using SDL2 and will be fixed with one of the next updates of SDL2 which should find its way into Proton.

@kokoko3k
Copy link
Author

kokoko3k commented Feb 1, 2021

Thanks for answering.
Since vanilla wine works ok, do you think i can try to preload system sdl libs (or find another way to make proton use them) and workaround the issue?

@kakra
Copy link
Contributor

kakra commented Feb 1, 2021

Preloading won't work in pressure vessel. You'll have to wait for the steam runtime picking up the new SDL version. Updates are posted here: ValveSoftware/wine#94 - it also has the links to the SDL bug reports and repo to see the progress.

@kakra
Copy link
Contributor

kakra commented Feb 1, 2021

If you want to work around that NOW, you can use the following udev rule for Thrustmaster devices:

# /etc/udev/rules.d/99-joystick.rules
KERNEL=="event*", ATTRS{id/vendor}=="044f", ACTION=="add", RUN+="/usr/bin/evdev-joystick --evdev %E{DEVNAME} --deadzone 0"

@kokoko3k
Copy link
Author

kokoko3k commented Feb 1, 2021

Thank you very much for pointing me out to that thread, very informative.

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

2 participants