ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
23.9k stars 1.04k forks source link

Thrustmaster T150 (t150_driver) not detected by games, but works in Proton wine control panel #4819

Open thomasa88 opened 3 years ago

thomasa88 commented 3 years ago

I'm trying to use my Thrustmaster T150 wheel with Steam Play/Proton, but my games do not detect any inputs when I try to assign inputs.

Games:

Proton 6.3-3 T150 driver: https://github.com/scarburato/t150_driver (master a47b1bcb0e8aeee9af8acd36ee83aee923ecd82b)

Project Cars 2 Demo proton log of launching the game and trying to assign keys by pressing on buttons on the wheel. Launch options: WINEDEBUG=+dinput,+joystick PROTON_LOG=1 %command% steam-737770.log

I have tried connecting an Xbox controller and the inputs are correctly detected by the games. When I have tested, I have had only one controller connected each time (and I removed the Wacom tablet that produced an extra /dev/js*).

If I launch "wine control", with the Proton wine, and open Game Controllers, I can see that both the controllers appear and wine reacts to the inputs.

Running "proton-joystick-debug.sh.txt control" (aka wine control with correct environment) I can see that Proton wine detects the wheel correctly and both analog and button inputs work. Here I am pressing some of the buttons. (One device is shown, which is the same as what happens when I plug in an Xbox controller ("Normal" wine shows two devices for each controller: joystick + event)) Screenshot from 2021-05-13 08-45-30

Screenshot from 2021-05-13 08-54-45

Here are logs from opening wine control -> Game Controllers -> Test Joystick, with WINEDEBUG=+dinput,+joystick Thrustmaster T150: wine-t150-test-joystick.log Xbox gamepad: wine-xbox-test-joystick.log

lsusb -v lsusb-v-t150.txt lsusb-v-t150-sudo.txt

Any ideas on how to fix this? Is there a whitelist somewhere?

thomasa88 commented 3 years ago

I have not solved the issue yet, but I found that there were no XInput events for my wheel.

This environment fixed that: SDL_GAMECONTROLLERCONFIG="030000004f04000077b6000000010000,Thrustmaster T150RS,platform:Linux,a:b1,b:b2,x:b4,y:b3,back:b9,guide:b0,start:b10,leftstick:b5,rightstick:b6,leftshoulder:b11,rightshoulder:b12,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a1,-rightx:b7,+rightx:b8,lefttrigger:a3,righttrigger:a2,"

Now I can see inputs in XInput Controller Tester https://www.softpedia.com/get/Gaming-Related/xInput-Controller-Tester.shtml

image

Project Cars 2 Demo and Automobilista 2 still does not detect any inputs.

edit. I guess Steam's controller mapping does the same thing. I mapped out the buttons there, but no events detected in the games.

Also added ControllerTester.exe as a game, setting the command to wine /path/to/CommandTester.exe and it correctly detect my inputs.

spikerguy commented 7 months ago

Hello,

Is there any update ?

I have Cammus C5 and It seems to have a similar problem. Even though I am able to register the input in games settings and calibrate the wheel but in race it does not respond any all. Only Rumble works when care goes off road.

I have made a video about it here https://www.youtube.com/watch?v=pV_ozOSd0iY

Any help will be appreciated.

albfan commented 5 months ago

I would report all this on automobilista 2 issue: https://github.com/ValveSoftware/Proton/issues/3748

Looks at this specific comment: https://github.com/ValveSoftware/Proton/issues/3748#issuecomment-1107816202 probably thrustmaster lib is in conflict with kernel driver?