ValveSoftware / ValveSoftware/Proton
Steering Wheel Input Not Recognized
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 32.8k
- Forks
- 1.6k
- PR merge metrics
- PR metrics pending
Description
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.

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.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce with the T300RS, Proton 7, Assetto Corsa, and Steam Linux Runtime Soldier, comparing normal execution with protontricks --no-bwrap and the generated PROTON_DUMP_DEBUG_COMMANDS launch under /tmp/proton_/run. Use the Soldier/runtime behavior described in the report as the starting boundary; done means steering and button input is recognized while the runtime is enabled.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux
- Domain
- operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100