Kimplul / hid-tmff2

Linux kernel module for Thrustmaster T300RS, T248 and (experimental) TX, T128 and TS-XW wheels
GNU General Public License v3.0
198 stars 20 forks source link
driver force-feedback linux t128 t248 t300rs thrustmaster ts-xw tx usb-hid

Linux kernel module for Thrustmaster T300RS, T248 and (experimental) TX, T128 and TS-XW wheels

DISCLAIMER: The module is now ready for near-stable USE in most force feedback games, supports rangesetting as well as gain and autocentering along with most force feedback effects. While I haven't personally come across any crashes or lockups with this version, I can't promise that they won't occur under any circumstances.

GitHub last commit (master) License GitHub contributors

Description

A Linux kernel module for Thrustmaster T300RS, T248, and (experimental support) TX and TS-XV wheels.

I've been working on enhancing the real-time updating of effects, and although it's not flawless yet, the overall experience is gradually improving. There are a couple of issues, though. First, there might be occasional inaccuracies in how the effects compare to the Windows driver. Second, in certain games, the mapping of pedal inputs can be inconsistent. This means that while all pedals should be recognized by the games, they might not be mapped correctly.

I only have access to the base editions of T300RS and T248 wheels to test with, but from reports it seems that other editions (F1, GT, Alcantara, etc.) should also work with this driver.

TX support was contributed by @davidedmundson, TS-XW support was contributed by @yassineimounachen.

Installation

You can either install this kernel module by using DKMS or manually building from source. If you're unsure which to pick, go with DKMS, it will automatically recompile the driver whenever needed.

An AUR package is also available: hid-tmff2-dkms-git

Dependencies

Kernel modules require kernel headers to be installed. Use any one of the right command for your distribution:

sudo apt install linux-headers-$(uname -r)   # Debian-based
sudo pacman -S linux-headers                 # Arch-based
sudo pacman -S linux-neptune-61-headers      # For SteamDeck specifically
sudo yum install kernel-devel kernel-headers # Fedora-based

Manual installation

DKMS (Dynamic Kernel Module Support)

NOTE: See INTEGRATION for install instructions for other linux distributions.

NOTE: On some systems, you will get an error/warning about SSL. This is normal for unsigned modules. For info on signing modules yourself (completely optional), see here.

NOTE: Thrustmaster TX and TS-XW wheels aren't supported by hid-tminit as of yet, meaning that the wheels have to be initialized with tmdrv. Please see https://github.com/Kimplul/hid-tmff2/issues/48.

WARNING: There have been reports that this driver does not work if the wheel's firmware version is older than v. 31. To update the firmware, you will have to fire up a Windows installation and update the firmware using the official Thrustmaster tools.

WARNING: There was a name change when adding support for the T248 from hid-tmt300rs to hid-tmff-new, and you may have to uninstall the older version of the driver.

Contributing

This project wants help from people who can contribute. If you would like to help add a wheel to this driver, please have a look through docs and/or CONTRIBUTING.md for what might need to be done.

If you have a wheel that's not not supported, but suspect it might fit into the driver, please feel free to open up an issue about it. Currently open requests for wheels:

Common issues and notes