-
Notifications
You must be signed in to change notification settings - Fork 20
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
Thrustmaster TX Support #48
Comments
Hi, I could try adding the wheel ID to my driver, if we're lucky it might work without much tweaking. Although I wouldn't say it's bound to work, as the T500 also uses the same driver installer files but doesn't work the same way as a T300. Not sure about the base, looks very similar but I guess we'll see. I see you've found the Okay, let's try to get the PC mode working. I added the TX to the With the fork installed, please show the |
First off, thanks for looking into this for me! I am a bit of a linux noob (trying to set this up on my steamdeck). I cloned your fork into a folder, went into that folder and ran
Not sure if it is a configuration issue on my end, or something with the file. I am getting the sense that the veriable needs to be declared before it is used, but I am unsure what to declare it as. Any help is appreciated. |
Should be provided for you in Btw, I'm not familiar with the steam deck, how are you compiling things? Is there a kernel header package and have you installed it? |
I think this inline wasn't introduced until some later 5.x version. Probably Steam Deck uses a kernel that doesn't have this inline yet. |
Thanks for the tip, 5.15 apparently. Solves that mystery. |
I am not 100% on linux things, but I installed the 5.13.0-valve21.3-1-neptune header via pacman. The package was called I can try removing that if and seeing where that gets me. Thanks to both for the help so far! |
It was able to make and install after removing the if. Wheel is showing in dmesg but not recognized in games just yet. dmesg didn't work at first so I ran what I found here: https://unix.stackexchange.com/questions/390184/dmesg-read-kernel-buffer-failed-permission-denied
My
|
I suspect |
Added everything that seemed kinda relevant. but it looks like I am seeing something from tminit. |
Just checking: did you also remove |
Yep, commented out the statement like this: FWIW, I did run into SSL errors when running the make. From what I am reading online, it looks like the module has to be signed, which I am not sure is possible on the steamdeck. Trying to look if there is a way to sign it myself or bypass the check altogether. |
Generally speaking the SSL error should be treated more as a warning, and I can't see anything in the pasted output about the module being rejected, so I'm not entirely sure what's going on. Signing yourself is still probably a good idea. I did notice that the Could you paste the output of
Preferably unplugging the wheel before running the commands? |
the output of this was insanely large. Saved to a file, hope its not a pain to look through 😄 |
Sorry, should've been more clear, didn't need the whole output, just the bit that's generated when the wheel is plugged in. |
Do you need me to generate a new message? I made that dmesg when my wheel was unplugged. I can another one with the wheel plugged in or out if you need. |
Yeah, what I meant was that the two first commands would hopefully load the newer module and the |
So we are looking for
to instead say something about hid-thrustmaster? Okay, so just to confirm, I am a bit confused on what would help you more:
What would you advise? EDIT: After doing the second option dmesg no longer shows hid-tminit, but no mention of hid-thrustmaster. I have confirmed hid-thrustmaster exists in in my modules.
|
Yep, pretty much. The confusing bit here is that the module's filename is
The second one. Possibly also run By the by, you can also run Sorry again for the confusing requests. |
Lol do not be sorry, you are helping out here which I really appreciate 😄 But yeah, i was a bit confused as to why the driver would be hid-thrustmaster when the file is tminit, but i understand now. I ran the second set of commands. I edited my last reply a ton to update info but I did run the second set of commands again, and hid-tminit is no longer showing up.
I confirmed that hid-thrustmaster exists as a module and it is loaded via EDIT: On a side note, I have tried rebooting after all this, and I don't see Also, I ran |
I love Plasma too.
But pasting screenshots instead of code diffs ('git diff $file.c' does
wonders) is ridiculous at best.
…On 10/21/22, Austin-2 ***@***.***> wrote:
> Just checking: did you also remove `return -EINVAL;` after the if
> statement?
Yep, commented out the statement like this:
![image](https://user-images.githubusercontent.com/65965601/197227873-ec34d1fb-e9ee-45f6-9a93-3242678a999e.png)
--
Reply to this email directly or view it on GitHub:
#48 (comment)
You are receiving this because you are subscribed to this thread.
Message ID: ***@***.***>
|
Yeah, typically the kernel only loads the drivers when it needs to, and in this case the kernel for some reason doesn't associate the driver with the wheel, though I don't really understand why. The
I believe it updates the kernel's internal cache of available modules, it doesn't generate any files.
Bit rude, though I agree with the sentiment. |
Any ideas on where to go from here? Would the answer lie in updating hid-tminit to accept my device idea be the key here? Or really any other reasonable next steps |
I suspect the Please try it out, so
We should see |
No luck with that one.
No mention of hid-tminit-dev in that. Something odd I noticed, not sure if it will lead us anywhere, but `listing the modules returns
Should it be To be safe, I ran Also, part of me is wondering if |
The underscores are expected, they're just for show I suppose. The commands work with dashes.
If you want to, you could just copy the definition from here: Though I doubt it'll do much, as I'm guessing you're connecting the wheel via USB and the line exists to fail if the device is not a USB device. Did you get the module signing to work? My understanding is that unsigned modules should be prevented from loading, but I guess it could be possible that they're prevented from being probed as well. Also, I wonder if the Steam Deck is making things difficult. Do you have some other Linux machine or virtual machine you could test? |
Yes it is a USB device. I can try this out. I assume I just copy over that definition somewhere before of that if statement and remove the exclamation from the original script.
I didn’t try to sign the modules at all. Your understanding is what I have as well. The modules did show as loaded, and tminit did show the message in
If the hid_is_usb doesn’t work, i can try this hopefully today or more likely tomorrow. Might just go with Ubuntu as that is what I am familiar with. Just gotta grab a usb drive big enough to run it off of. |
Got the module to make and install, but had to manually load by inserting this definition. Since it has been a couple of days I forgot if this is new, but I am seeing
Haven't figured out how to do this quite yet.
Just tried on Ubuntu, and no major differences vs. what I am seeing on the Steamdeck in regards to the
|
This is arguably the most telling. Based on the I don't know if it's possible to make the driver accept raw USB IDs or if we'd need a separate driver for it. I'll do some research and report back. |
Do you know if there is anyway I can confirm this for you? Either on windows or Linux? |
Not really, no. My plan is to maybe write a couple skeleton drivers to check if this theory holds water. Typically a HID device would get picked up by In other words, uncharted territory for me. |
The Logitech G920 for XBOX/PC needs a |
Good point. |
Hello again, sorry for the wait. Assuming my theory about
might work for the first init stage, based on this. Short-term, I'd like to see if the TX actually is just a T300 in disguise. I suggest @Austin-2 you try initializing the wheel with If |
Hey, Thanks for looking into this, but I am a little confused. Do you want me to do anything with
Or just make a driver with your branch at https://github.com/Kimplul/hid-tmff2/tree/tx? |
I installed the driver from that new branch I was getting errors of no makefile, but I was able to install via dkms. After installing I had to run
After installing
I am unable to run usb_modeswitch on my Steamdeck. If this is the right direction, I can try the following on my Ubuntu install. |
I did find a typo which causes the compilation to fail, sorry about that, but what do you mean no makefile?
Looks about right, I can see
What exactly do you mean? Is it not installed by default, or did you get an error message? Is it not available through |
Wow I thought I replied earlier but it just did not post!
My directory contains the makefile, here is the
I noticed a mention of the folder,
I didn't know I was able to do that. I was able to install it is Just for clarification, what is the next plan we are attempting? I am unsure how the usb_modeswitch falls into the equation.
|
Oh, right, you're missing the git submodule. You just need to run
and then the compilation should succeed. Usually the submodule is added automatically when
Okay, good to know.
Right now, 1. Mostly because I want to see if the wheel actually is just a T300 in disguise. If it is, then great, we can do some bughinting and see if there are any obvious differences. If it doesn't, trying to figure out how to optimize booting a non-working device seems like wasted effort and I'd prefer to get the wheel working first, then streamlining the init process. You already showed that 2 works more or less how I expect it to, but this step is temporary and eventually it'd be nice to have the wheel automatically initialized without having to install third-party tools besides this and the init driver (which are bundled together in this repo, the errors you reported was for the The TX init sequence differs from the other wheels that I'm aware of in that it doesn't show up as a HID device, which would either require rewriting |
I was able to make the driver. I wasn't sure what this driver name was, but I did a
|
You need to initialize the wheel first with |
Installed, initiated
|
Not sure if this is related: I thought Other things that came to mind:
|
Hi, was looking around for Thrustmaster TX Linux support and ended up here. Can you tell me what it's needed to test/gather data for the current research stage? also: will it be useful if I can share an ssh access to a machine to test the hardware on (create a temp ssh keypair and send the public here, I'll provide a public endpoint to ssh into it) |
Hi @penzoiders , the main issue right now seems to be that the driver for some reason either isn't being probed or rejects the wheel when presented with it. I'm unsure why this is, as the wheel's vendor / product ids should be correct in the driver and I can't see any attempts by this driver to pick up the wheel in the provided I would appreciate it if you checked if the |
OK, I'll try on my Manjaro desktop and give you feedback. |
Yep, the package uses the main branch. |
Using TX branch, at first dmesg told me to update the wheels firmware, which made sense because I had never updated it so I went and did that using windows. After doing that, when I run tmdrv, the lights on the wheel start blinking, then they go out, dmesg says the thrustmaster is in bootloader mode, and the wheel becomes unusable until I do a rescue-mode reflash on windows again.
|
Thanks for the info @bytes-ls, from the Anycase, more pressing is that the driver apparently causes the wheel to brick itself, and as such the wheel unfortunately isn't a drop-in replacement for the T300 as far as this driver is concerned. They may still be really similar, but we would need to do some digging and slight reverse engineering. I've outlined the steps in the wiki, if anyone is interested. |
I might give it a try with my wheel on my pc and see if i can get anything working. |
Hello again, @davidedmundson recently got FFB for the TX working and submitted a patch. I merged it into |
Works for me in Euro Truck Simulator 2 and Project CARS 2 with force feedback. I don't have a comparison to Windows therefore I don't know how accurate the force feedback is. Here is the dmesg output (with added comments):
The only thing I did not manage to do is to set up a proper
Yes, I did reload the System info:
|
Hi all, |
Hello,
I was looking for support for a Thrustmaster TX wheel. Mine is the Ferrari 458 wheel, but it is technically a Thrustmaster TX.
https://support.thrustmaster.com/en/product/txracingwheel-en/
From my understanding, this wheel is the same as the T300RS, but for Xbox/PC instead of PS4/PC. The drivers on Windows use the same files.
I was able to get the wheel working with tmdriv, but it did not have FFB.
I would love if there would be support for my wheel on Linux!
thanks!
The text was updated successfully, but these errors were encountered: