JacKeTUs / linux-steering-wheels

Project to track Linux steering wheels support
27 stars 3 forks source link

Cammus Wheels Proton support #1

Closed JacKeTUs closed 2 months ago

JacKeTUs commented 4 months ago

Wheel and FFB works perfectly fine on native games like truck sims (ETS/ATS) We got it working with BeamNG when I launch the game installed using steam but launched using lutris using wine instead of proton FFB also works on Assetto Corsa Competizione when I launch it with lutris/wine but not when I launch it using steam/proton or proton/ge

JacKeTUs commented 4 months ago

For now we are trying to copy pidff driver with cammus IDs (0x3416 0x0301) (https://github.com/spikerguy/cammus-ff) Cammus does not seem to have 0xa7 descriptor, it is already removed in a fork May be something with SDL joystick detection

JacKeTUs commented 4 months ago

cammus-c5-descriptor.txt

JacKeTUs commented 4 months ago

Seems that Proton detects wheel as XInput by default, and therefore disables FFB But we tested it with evdev rules that sets SDL hints (ENV{ID_INPUT_JOYSTICK}="1", ENV{ID_CLASS}="joystick"), we will try without it later

If we override base to DInput, FFB starts working in WheelCheck.exe

JacKeTUs commented 4 months ago

https://github.com/JacKeTUs/linux-steering-wheels/commit/ffba6b191b56e37df5ab1002aab2bb6e9ca4bff9

JacKeTUs commented 4 months ago

Adding Cammus wheel to the SDL whitelist https://github.com/libsdl-org/SDL/pull/9806

JacKeTUs commented 2 months ago

Testers said that Cammus wheel with latest fixes works perfectly for most of the games (ACC, ETS/ATS, etc)

Using driver from https://github.com/JacKeTUs/universal-pidff