protonscr

Steering Wheel Input Not Recognized

protonopen Regression
ValveSoftware/Proton#6674 · opened 2023-04-09 by yacinbm · updated 2025-05-10 · 19 comments · github
Yyacinbm 2023-04-09 github

Hi,

I've spent the last two weeks tracking down this issue. I have a T300RS steering wheel, using the hid-tmff2 driver, and I cannot seem to make it work within Proton 7. I have based my tests mainly on Assetto Corsa (id 244210), but this is common to any game using Proton with a version more recent than 5.13.
My issue is that the game can see my device (see below), but any steering/button input is not recognized in game.
AC_controls
Some users have reported a similar issue and solved it by adding a udev rule to their system in order to add r/w accesses to all users for the wheel, which I have successfully done.

$ ls -al /dev/hidraw2
  crw-rw-rw-+ 1 root root 240, 2 Apr  8 22:45 /dev/hidraw2
$ cat /sys/class/hidraw/hidraw2/device/uevent 
  DRIVER=tmff2
  HID_ID=0003:0000044F:0000B66E
  HID_NAME=Thrustmaster Thrustmaster T300RS Racing wheel
  HID_PHYS=usb-0000:04:00.3-1.3/input0
  HID_UNIQ=
  MODALIAS=hid:b0003g0001v0000044Fp0000B66E

I have confirmed that the device works with native Linux programs, with udevtest and oversteer. The farthest I have gotten in my investigation is that when running protontricks -c "wine control" 244210, I can replicate the behavior that I see in game, meaning that my wheel is listed, but it does not respond to any sort of inputs. That being said, by adding the --no-bwrap flag to protontricks, the wheel does respond. Now the question is, does this point to a permissions error for bubblewrap, or is something else amiss?

I am running Steam OS 3.4.6 on my Steam Deck, with the latest stable Steam for Deck version and proton 7.0-6 (also tried Proton GE, but the same symptom occurs). Let me know if you need any more details!

EDIT
The issue seems to stem from Steam Linux Runtime Soldier. If I run the game without the runtime, by generating the PROTON_DUMP_DEBUG_COMMANDS and launching via /tmp/proton_<username>/run, the wheel works perfectly! I also tried running the game with Soldier with the --devel flag, but it did not change the behaviour.

Kkisak-valve maintainer 2023-04-09 github

Hello @yacinbm, for clarity does Proton with a version more recent than 5.13 mean that the wheel works with Proton 5.13, and not Proton 6.3? Proton 5.13 and newer are run inside the Steam Linux Runtime - Soldier container environment, and if Proton 5.13 has differing behavior, that hints there is a regression on Proton's side instead of a permissions issue with the container environment.

Please add PROTON_LOG=1 %command% to a couple affected game's launch options and attach the generated $HOME/steam-$APPID.log to this issue report as a file. (Proton logs compress well if needed.) Also, please copy your system information from Steam (Steam -> Help -> System Information) and put it in a gist, then include a link to the gist in this issue report.

Yyacinbm 2023-04-09 github

Hi @kisak-valve,
It's funny you should say that, we actually narrowed down the issue to Steam Linux Runtime Soldier this morning in another issue over on the protontricks Github.
The TLDR of that issue it that, when running the game without the Steam Linux Runtime Soldier, the wheel is properly recognized in game.

I only own three affected games, so here are the files you asked for (Note that Assetto Corsa-244210 uses GE-Proton7-54 because it is the only way I found to get it working on the Deck). I had to archive the files because F1-2019 somehow generated 349 MB of logs?! steam-logs.zip

Also, please find the Steam -> Help -> System Information.

Kkisak-valve maintainer 2023-04-09 github

Again, please clearly state if your wheel works or doesn't with Proton 5.13.

This Proton version is run inside Steam Linux Runtime - Soldier and if it behaves differently than newer Proton versions, that's a useful data point.

Yyacinbm 2023-04-09 github

I have based my tests mainly on Assetto Corsa (id 244210), but this is common to any game using Proton with a version more recent than 5.13.

yes, the wheel works with 5.13, but not with any more recent version.

LLawstorant 2023-11-04 github

Proton needs to ship updated SDL2 for newer wheels compatibility.

TTheogore 2023-11-07 github

Proton needs to ship updated SDL2 for newer wheels compatibility.

Not sure what that is but I agree that wheel support needs to be improved.

RRustyPedrosa 2024-03-13 github

For anyone just trying to get their wheel working, PROTON_DUMP_DEBUG_COMMANDS has been removed from Proton 9, as mentioned recently in https://github.com/ValveSoftware/Proton/issues/7575#issuecomment-1988223540

That said, I can't get the game to launch from the tmp script with proton 8 or 7 either. No wheel for me.

Kkrims0n32 2024-06-17 github

Is there any progress on this issue? I’ve been troubleshooting this for hours and can’t find a workaround either. Many carsim enthusiasts would love for this to be fixed <3

I don’t want to install Windows again to be able to play, feels bad man. Let me know if I can do anything to test/troubleshoot.

TTheogore 2024-06-17 github

@krims0n32 I would check with the folks over at #simracer:matrix.org, they have been working tirelessly to provide kernel level drivers for Simracing hardware and FFB solutions.

Kkrims0n32 2024-06-18 github

@krims0n32 I would check with the folks over at #simracer:matrix.org, they have been working tirelessly to provide kernel level drivers for Simracing hardware and FFB solutions.

@Theogore thanks but I am unable to find this room on matrix.org

TTheogore 2024-06-18 github

Try this:
https://matrix.to/#/#simracing:matrix.org

The Join page includes both "simracer" and "Simracing" but that's the correct URL. Hope it helps!

Kkrims0n32 2024-06-18 github

I set my wheel to PS4/PS5 mode and now it works all of a sudden, including FFB. I tried this earlier and it didn’t work then and I can’t think of anything else I changed on my system. Strange but I’m happy. Tried BeamNG and ACC, both work.

Rricardofiorani 2024-06-30 github

Any update on this?

I have a t300rs and can't make it work.

I'm on a steam deck, and I have the exact same problem described here

The device is recognized normally on the OS level (on System settings -> Input Devices -> Game controller) and I can see input in there.
image

However, inside proton on "wine control" I can see the device, but no input is registered.
image

I tried switching to both PS3 and PS4 modes and it still doesn't work (turn wheel off -> switch -> turn wheel on)

EDIT: I'm trying on Assetto Corsa and DIRT 3.

Kkrims0n32 2024-08-07 github

My T300RS worked fine in PS4/5 mode but now I can't get it to work at all anymore. Changed modes (PS3/PC and PS4/PS5 mode), proton versions, udev rules are all fine. Oversteer works. Game sees the wheel but no input gets detected. Frustrating because it worked just fine.

LLawstorant 2024-08-07 github

Steam input disabled?

Kkrims0n32 2024-08-08 github

Steam input disabled?

Yes.

Kkevenwyld 2024-09-03 github

I'm also experiencing this issue and launching a shell per the instructions is both quite difficult and of no use in this particular case as you can't use it to run the game without the runtime (not 100% on that, but I can't figure it out at least). There seems to be no workaround at all and according to https://github.com/berarma/new-lg4ff/issues/103#issuecomment-2253732775 this maybe impacts more than just the t300rs!?! It appears wheel input on the Steam Deck, at least with the hardware I have, is a complete no-go at the moment.

Eeskeletor97 2024-12-13 github

~Some recent updates in steam libraries made my wheel detectable again, albeit with no force feedback. As a workaround I use this project https://gitlab.com/openirseny/protopedal
It makes a virtual duplicate of a device and that passes all things correctly to the proton.~
Nevermind, I had to reload the driver. It seems that the issue got resolved at least for me.

LLisyFOX 2025-05-10 github

Seems like it does recognize input now. I'm not sure, if changing versions did something since it was a Steam Linux Runtime issue. I had GE-Proton 9-23 before and it didn't recognize input at all (at least some time ago). I downloaded Proton 10 beta and it started recognizing it flawlessly. After that, I tested it with GE-Proton 9-23 and it recognizes as well.

Proton versions

Launch options

Upstream links