免责声明:该模块可在大多数力反馈游戏中使用,支持范围设置以及增益和自动居中以及大多数力反馈效果。虽然我个人没有遇到过此版本的任何崩溃或锁定情况,但我不能保证它们在任何情况下都不会发生。
适用于 Thrustmaster T300RS、T248 以及(实验支持)TX 和 TS-XV 车轮的 Linux 内核模块。
我一直在致力于增强效果的实时更新,虽然还不是完美无缺,但整体体验正在逐渐改善。不过,还有几个问题。首先,与 Windows 驱动程序相比,效果可能偶尔会不准确。其次,在某些游戏中,踏板输入的映射可能不一致。这意味着虽然游戏应该识别所有踏板,但它们可能无法正确映射。
我只能使用 T300RS 和 T248 车轮的基本版本进行测试,但从报告来看,其他版本(F1、GT、Alcantara 等)似乎也可以与该驱动程序配合使用。
TX 支持由@davidedmundson 提供,TS-XW 支持由@yassineimounachen 提供。
您可以使用 DKMS 或从源代码手动构建来安装此内核模块。如果您不确定选择哪个,请使用 DKMS,它会在需要时自动重新编译驱动程序。
还提供 AUR 软件包:hid-tmff2-dkms-git
内核模块需要安装内核头文件。使用适合您的发行版的任何一个正确命令:
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
git clone --recurse-submodules https://github.com/Kimplul/hid-tmff2.git
cd hid-tmff2
make
sudo make install
git clone --recurse-submodules https://github.com/Kimplul/hid-tmff2.git
cd hid-tmff2
sudo ./dkms/dkms-install.sh
注意:有关其他 Linux 发行版的安装说明,请参阅集成。
注意:在某些系统上,您会收到有关 SSL 的错误/警告。这对于未签名的模块来说是正常的。有关您自己签署模块的信息(完全可选),请参阅此处。
注意:
hid-tminit
尚不支持 Thrustmaster TX 和 TS-XW 方向盘,这意味着必须使用tmdrv
初始化方向盘。请参阅#48。
警告:有报告称,如果方向盘的固件版本低于 v.31,则此驱动程序将无法工作。要更新固件,您必须启动 Windows 安装并使用官方 Thrustmaster 工具更新固件。
警告:添加对 T248 的支持时,名称从
hid-tmt300rs
更改为hid-tmff-new
,您可能必须卸载旧版本的驱动程序。
该项目需要能够做出贡献的人们的帮助。如果您想帮助向该驱动程序添加轮子,请查看docs
和/或 CONTRIBUTING.md 以了解可能需要做什么。
如果您的车轮不受支持,但怀疑它可能适合驱动程序,请随时提出有关它的问题。目前开放的轮子请求:
据报道,如果没有在前缀中安装官方 Thrustmaster 驱动程序,一些在 Wine/Proton 下运行的游戏将无法识别车轮。参见#46。有关安装说明,请参阅驱动程序。
请注意,您仍然需要 Linux 驱动程序,Windows 驱动程序只是安装游戏正确识别 Linux 驱动程序所需的一些文件。 Windows 驱动程序本身无法在 Wine/Proton 下运行。
在更新的hid-tminit
上传到上游之前,您可能需要将内核模块hid-thrustmaster
列入黑名单。这样做与
echo ' blacklist hid_thrustmaster ' | sudo tee /etc/modprobe.d/hid_thrustmaster.conf
如果您购买了新车轮,则很可能必须通过 Windows 更新固件,然后它才能与此驱动程序配合使用。
T300 RS 具有先进的 F1 模式,可以在 PS3 模式下使用 F1 附件激活。基轮也可以在 PS4 模式下工作,但测试较少,如果您遇到此模式的问题,请随时提出有关它的问题。
T248 没有像 T300 RS 那样经过广泛测试,如果遇到问题,请查看问题并打开新问题。目前不支持内置屏幕。
TX 支持被认为是实验性的,请查看问题(尤其是 #48),如果遇到任何问题,请打开新问题。
要更改增益、自动居中等,请使用过度转向。
如果游戏中的轮子有死区,您可以尝试设置 udev 规则: /etc/udev/rules.d/99-tmff2.rules
# T300RS PS3 normal mode
SUBSYSTEM=="input", ATTRS{idVendor}=="044f", ATTRS{idProduct}=="b66e", RUN+="/usr/bin/evdev-joystick --evdev %E{DEVNAME} --deadzone 0"
# T300RS PS3 advanced mode
SUBSYSTEM=="input", ATTRS{idVendor}=="044f", ATTRS{idProduct}=="b66f", RUN+="/usr/bin/evdev-joystick --evdev %E{DEVNAME} --deadzone 0"
# T300RS PS4 mode
SUBSYSTEM=="input", ATTRS{idVendor}=="044f", ATTRS{idProduct}=="b66d", RUN+="/usr/bin/evdev-joystick --evdev %E{DEVNAME} --deadzone 0"
# T248 + T128
SUBSYSTEM=="input", ATTRS{idVendor}=="044f", ATTRS{idProduct}=="b696", RUN+="/usr/bin/evdev-joystick --evdev %E{DEVNAME} --deadzone 0"
# TX
SUBSYSTEM=="input", ATTRS{idVendor}=="044f", ATTRS{idProduct}=="b669", RUN+="/usr/bin/evdev-joystick --evdev %E{DEVNAME} --deadzone 0"
# TSXW
SUBSYSTEM=="input", ATTRS{idVendor}=="044f", ATTRS{idProduct}=="b692", RUN+="/usr/bin/evdev-joystick --evdev %E{DEVNAME} --deadzone 0"
# TSPC
SUBSYSTEM=="input", ATTRS{idVendor}=="044f", ATTRS{idProduct}=="b689", RUN+="/usr/bin/evdev-joystick --evdev %E{DEVNAME} --deadzone 0"
这应该确保轮子的行为就像你想要的轮子一样。
有报告称,某些游戏在不同的计时器周期下运行效果更好(参见 #11 和 #10)。
要更改计时器周期,请创建/etc/modprobe.d/hid-tmff-new.conf
并向其中添加options hid-tmff-new timer_msecs=NUMBER
。默认计时器周期为 8,但低至 2 的数字也应该可以正常工作。