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

No Input with T300RS in Steam Games #100

Open
roomfullofcommits opened this issue Jun 5, 2024 · 11 comments
Open

No Input with T300RS in Steam Games #100

roomfullofcommits opened this issue Jun 5, 2024 · 11 comments

Comments

@roomfullofcommits
Copy link

roomfullofcommits commented Jun 5, 2024

I'm on PopOS, trying to run my T300RS in Assetto Corsa Competizione.

I installed the dependencies and then the driver with DKMS, then booted into Windows to update my firmware to v34, I was on v29 before.
I tried it in ACC on pop and I'm pretty sure the game already recognized the wheel at that point and loaded the correct profile. However, none of my buttons and pedals worked and I got no input with the wheel. The wheel also always tried to center itself like it does by default, not sure if that is how it's supposed to behave in menus.
I then tried installing the windows drivers in the proton prefix and I think they installed correctly, but I'm not sure. Is there a way to check that?
After that I had no change in behavior in ACC. I did notice though that in PS4 mode at least my buttons worked, but not my wheel and pedals.
The blacklisting thing didn't work for me, it says bash: /etc/modprobe.d/hid_thrustmaster.conf: Permission denied.
During that whole process I rebooted multiple times and nothing changed.

sudo dmesg -w logs this:

Log

Full log in pastebin

[    0.000000] Linux version 6.8.0-76060800daily20240311-generic (jenkins@warp.pop-os.org) (x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #202403110203~1715181801~22.04~aba43ee SMP PREEMPT_DYNAMIC Wed M
. . . . . . . . . . .
. . . . . . . . . . .
[   21.074133] usb 7-4: 4:1: All rates were zero
[   21.074143] usb 7-4: 4:2: All rates were zero
[   21.074149] usb 7-4: 4:3: All rates were zero
[   21.074153] usb 7-4: 4:4: All rates were zero
[   21.074158] usb 7-4: 4:5: All rates were zero
[   21.074163] usb 7-4: 4:6: All rates were zero
[   21.261204] usbcore: registered new interface driver snd-usb-audio
[   24.921287] logitech-hidpp-device 0003:046D:4074.000A: HID++ 4.2 device connected.
[   33.581260] rfkill: input handler enabled
[   36.849235] rfkill: input handler disabled
[   89.500664] xone-dongle 3-3:1.0: xone_mt76_suspend_radio: suspended
[  228.802646] usb 3-4: USB disconnect, device number 5
[  231.802958] usb 3-4: new full-speed USB device number 11 using xhci_hcd
[  231.974998] usb 3-4: New USB device found, idVendor=044f, idProduct=b65d, bcdDevice= 1.00
[  231.975004] usb 3-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  231.975007] usb 3-4: Product: Thrustmaster FFB Wheel
[  231.975009] usb 3-4: Manufacturer: Thrustmaster
[  232.010847] input: Thrustmaster Thrustmaster FFB Wheel as /devices/pci0000:00/0000:00:01.2/0000:01:00.0/0000:02:08.0/0000:05:00.3/usb3/3-4/3-4:1.0/0003:044F:B65D.000B/input/input31
[  232.071258] hid-thrustmaster 0003:044F:B65D.000B: input,hidraw2: USB HID v1.00 Gamepad [Thrustmaster Thrustmaster FFB Wheel] on usb-0000:05:00.3-4/input0
[  232.089473] Error: Driver 'hid-thrustmaster' is already registered, aborting...
[  232.090056] hid-thrustmaster 0003:044F:B65D.000B: Wheel with model id 0x206 is a Thrustmaster T300RS
[  232.091162] usb 3-4: USB disconnect, device number 11
[  232.093066] hid-thrustmaster 0003:044F:B65D.000B: Success?! The wheel should have been initialized!
[  232.782965] usb 3-4: new full-speed USB device number 12 using xhci_hcd
[  232.950045] usb 3-4: New USB device found, idVendor=044f, idProduct=b66e, bcdDevice= 1.00
[  232.950055] usb 3-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  232.950060] usb 3-4: Product: Thrustmaster T300RS Racing wheel
[  232.950064] usb 3-4: Manufacturer: Thrustmaster
[  232.963398] input: Thrustmaster Thrustmaster T300RS Racing wheel as /devices/pci0000:00/0000:00:01.2/0000:01:00.0/0000:02:08.0/0000:05:00.3/usb3/3-4/3-4:1.0/0003:044F:B66E.000C/input/input32
[  232.963668] tmff2 0003:044F:B66E.000C: input,hidraw2: USB HID v1.11 Joystick [Thrustmaster Thrustmaster T300RS Racing wheel] on usb-0000:05:00.3-4/input0
[  232.967017] tmff2 0003:044F:B66E.000C: force feedback for T300RS
[  526.816430] usb 3-4: USB disconnect, device number 12
[  529.316353] usb 3-4: new full-speed USB device number 13 using xhci_hcd
[  529.485770] usb 3-4: New USB device found, idVendor=044f, idProduct=b66d, bcdDevice= 1.00
[  529.485777] usb 3-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  529.485780] usb 3-4: Product: Thrustmaster Racing Wheel FFB
[  529.485782] usb 3-4: Manufacturer: Thrustmaster
[  529.503051] input: Thrustmaster Thrustmaster Racing Wheel FFB as /devices/pci0000:00/0000:00:01.2/0000:01:00.0/0000:02:08.0/0000:05:00.3/usb3/3-4/3-4:1.0/0003:044F:B66D.000D/input/input33
[  529.503364] tmff2 0003:044F:B66D.000D: input,hiddev4,hidraw2: USB HID v1.10 Gamepad [Thrustmaster Thrustmaster Racing Wheel FFB] on usb-0000:05:00.3-4/input0
[  529.506737] tmff2 0003:044F:B66D.000D: force feedback for T300RS
[  608.391662] usb 3-4: USB disconnect, device number 13
[  610.570562] usb 3-4: new full-speed USB device number 14 using xhci_hcd
[  610.742560] usb 3-4: New USB device found, idVendor=044f, idProduct=b65d, bcdDevice= 1.00
[  610.742568] usb 3-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  610.742571] usb 3-4: Product: Thrustmaster FFB Wheel
[  610.742574] usb 3-4: Manufacturer: Thrustmaster
[  610.758730] input: Thrustmaster Thrustmaster FFB Wheel as /devices/pci0000:00/0000:00:01.2/0000:01:00.0/0000:02:08.0/0000:05:00.3/usb3/3-4/3-4:1.0/0003:044F:B65D.000E/input/input34
[  610.758920] hid-thrustmaster 0003:044F:B65D.000E: input,hidraw2: USB HID v1.00 Gamepad [Thrustmaster Thrustmaster FFB Wheel] on usb-0000:05:00.3-4/input0
[  610.780602] hid-thrustmaster 0003:044F:B65D.000E: Wheel with model id 0x206 is a Thrustmaster T300RS
[  610.781673] usb 3-4: USB disconnect, device number 14
[  610.783616] hid-thrustmaster 0003:044F:B65D.000E: Success?! The wheel should have been initialized!
[  611.135210] Error: Driver 'hid-thrustmaster' is already registered, aborting...
[  611.474654] usb 3-4: new full-speed USB device number 15 using xhci_hcd
[  611.657618] usb 3-4: New USB device found, idVendor=044f, idProduct=b66e, bcdDevice= 1.00
[  611.657625] usb 3-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  611.657628] usb 3-4: Product: Thrustmaster T300RS Racing wheel
[  611.657630] usb 3-4: Manufacturer: Thrustmaster
[  611.671793] input: Thrustmaster Thrustmaster T300RS Racing wheel as /devices/pci0000:00/0000:00:01.2/0000:01:00.0/0000:02:08.0/0000:05:00.3/usb3/3-4/3-4:1.0/0003:044F:B66E.000F/input/input35
[  611.671985] tmff2 0003:044F:B66E.000F: input,hidraw2: USB HID v1.11 Joystick [Thrustmaster Thrustmaster T300RS Racing wheel] on usb-0000:05:00.3-4/input0
[  611.674560] tmff2 0003:044F:B66E.000F: force feedback for T300RS
[  801.782934] usb 3-4: USB disconnect, device number 15

And I feel the effects with fftest.
Let me know I there's more info I can provide, I think in the meantime I'll try using the wheel in other games and see how that goes.

@Kimplul
Copy link
Owner

Kimplul commented Jun 6, 2024

Hi, thanks for the detailed report. This sounds a lot like #56, unfortunately that one still hasn't really been resolved. Looks like the driver is correctly installed and responds like it should to fftest, so this is (probably) something in either Proton or ACC itself.

I would recommend trying out different Proton versions, would be cool if some newer version of Proton fixed things but I wouldn't hold my breath. Unfortunately I just went on holiday and can't really test anything on my end for a bit over a week, but I'd be happy to try and help otherwise.

The blacklisting thing didn't work for me, it says bash: /etc/modprobe.d/hid_thrustmaster.conf: Permission denied.

Whoops, wrong command in the README, good thing you pointed it out. Should be

echo 'blacklist hid_thrustmaster' | sudo tee /etc/modprobe.d/hid_thrustmaster.conf

Fixed it in the README.

@roomfullofcommits
Copy link
Author

Thanks for the reply!
The behavior I'm seeing is different from #56, but good to know that it probably won't work well in ACC anyway. I'll continue trying it out in ACC and other games with different proton versions.

Do you know how I can test if the windows drivers are working correctly in the proton prefix?

@Kimplul
Copy link
Owner

Kimplul commented Jun 6, 2024

You could check that registry keys associated with Thrustmaster show up, like here: #46 (comment)

Though, that's just checking that the driver installed, not necessarily if it is having any effect. Here's a list of some games that seem to benefit from the driver being installed, you could maybe do an A/B test, before vs after installing the driver: #46 (comment)

@roomfullofcommits
Copy link
Author

I had absolutely no luck testing today. I tried Dirt 4 and my wheel didn't show up before or after installing the windows drivers. Or rather, it showed up as an Xbox Controller and none of the input worked.

I was unsure before if the driver installed correctly for ACC, but I was able to uninstall it with the installer, so that seemed to work.

In #46 (comment) it sounds like both Dirt 4 and ACC should work as well as on Windows.

As for Proton versions, I didn't try a lot of different ones today because I was busy getting steam installed correctly and installing a up to date version of protontricks, that didn't have an effect on wheel functionality though. I tried Experimental, 9-0-1, 8-0-5, and Proton-GE 9-7. None of them made a difference for me for ACC or Dirt, maybe I'll try going further back tomorrow.

tbh I'm pretty discouraged right now and I feel like there's something more basic wrong apart from individual games.

@Kimplul
Copy link
Owner

Kimplul commented Jun 7, 2024

I had absolutely no luck testing today. I tried Dirt 4 and my wheel didn't show up before or after installing the windows drivers. Or rather, it showed up as an Xbox Controller and none of the input worked.

That is pretty weird, does not match my experience with DiRT 4. It does have its own problems, mentioned in #38, but no input at all is rather strange.

tbh I'm pretty discouraged right now [...]

Really very frustrating having nonworking hardware for mysterious reasons, totally get it.

[...] I feel like there's something more basic wrong apart from individual games.

There have been some reports of Steam itself sometimes being an issue, effectively because of some sandboxing it tries to do in some circumstances, though so far I've only received reports of it happening on the SteamDeck, but it might be a good idea to read #54 (comment) and the rest of the thread.

@roomfullofcommits
Copy link
Author

No good news again, unfortunately. I read through #54 and tried some stuff, but none of it worked for me.

I followed yacinbm's experiment of running protontricks -v -c "wine control" with --no-bwrap and unlike them I didn't get input in wine control.

I tried adding a udev rule for the wheel, but it didn't help.

I tried running the protontricks wine control command without the Steam runtime like described here, but the run script didn't generate for me, so I don't know if the Steam runtime is the problem (but it seems pretty likely at this point. like, what else is there?).

I tried older proton versions and went as far back as 4.11-13 because I read somewhere that someone had problems starting with 5-something, but nothing.

I was using the Steam .deb version from Steam's website and tried using the flatpak instead, but no change.

@Kimplul
Copy link
Owner

Kimplul commented Jun 8, 2024

What does Steam's game controller input menu say about the wheel? Try disabling Steam Input if it isn't already. If that doesn't work, it really does seem like some bug in the Steam runtime. May or may not be related to ValveSoftware/Proton#6674.

@roomfullofcommits
Copy link
Author

roomfullofcommits commented Jun 8, 2024

OH. MY GOD

I mistyped the file name of the udev rule. I had [...]-rules instead of [...].rules. I'll still have to test if it works in other games but I have input in Dirt 4 and ACC.

Can I send you a few bucks or gift you a game for your awesome work on the driver and your time?

Edit: Okay, I still have problems in ETS2. I can't use the native version, because the graphics are glitchy and I'm getting no input with the proton version, but the game sees the wheel. I have the Windows driver installed and tried disabling Steam Input.

@Kimplul
Copy link
Owner

Kimplul commented Jun 9, 2024

I mistyped the file name of the udev rule. I had [...]-rules instead of [...].rules. I'll still have to test if it works in other games but I have input in Dirt 4 and ACC.

Hah, good catch. Seems to be a common enough issue that I might add it to the list of common issues. Might also be a good idea to set up some database of which games are expected to work and how well and workarounds, most of the opened issues tend to be about game support these days.

Okay, I still have problems in ETS2. I can't use the native version, because the graphics are glitchy and I'm getting no input with the proton version, but the game sees the wheel. I have the Windows driver installed and tried disabling Steam Input.

Interesting, ETS2 has showed some other issues before but not missing input completely. I can't remember if I tested ETS2 via Proton or natively, but I believe it might've been natively. I should check that when I get back, it's also been a while since I last played it and I believe it's gotten some updates to how input is handled, could've introduced some new issues.

Can I send you a few bucks or gift you a game for your awesome work on the driver and your time?

Assuming ETS2 hasn't soured your mood too badly, I would be happier if you used that money to make a donation to your charity/software project/whatever of choice :)

@roomfullofcommits
Copy link
Author

Seems to be a common enough issue that I might add it to the list of common issues

Agree. To be specific, I was talking about the udev rule to give read/write access to the wheel #54 (comment):
KERNEL=="hidraw*", ATTRS{idVendor}=="044f", ATTRS{idProduct}=="b66e", MODE="0660", TAG+="uaccess"
I think that was the main reason I didn't have input in games.

Might also be a good idea to set up some database of which games are expected to work and how well and workarounds

That's a really good call. I imagine it to be pretty difficult to keep that organized well, but it would be incredibly helpful.
Don't know if this would be worth putting on that list because it technically isn't linux/your driver specific, but I had a problem in Dirt 4 where in some menus it would continuously scroll down, making it very difficult to do anything.
The solution is to edit the input preset of the wheel in steamapps/common/DiRT 4/input/actionmaps and remove the two lines starting with <axis name= below <group name="scroll">. Then load the preset in game.
You have to edit the file because (for me at least) these mappings are greyed out in the game settings.

Assuming ETS2 hasn't soured your mood too badly

I can live with that, at least I know things are mostly working. The graphical glitching I have in the native version is probably because I'm using the Nvidia 555 beta driver. I'd still love to hear from you when you get around to testing the proton version :)

I would be happier if you used that money to make a donation to your charity/software project/whatever of choice :)

Will do, thank you SO much for your help and have a great rest of your holiday :)

@roomfullofcommits roomfullofcommits changed the title No Input with T300RS in ACC No Input with T300RS in Steam Games Jun 9, 2024
@Kimplul
Copy link
Owner

Kimplul commented Jun 16, 2024

Alright, ETS2 worked fine for me both natively and under Proton 9.0.2. Just a sanity check, you did run the input wizard after selecting the wheel as the input device?

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