Getting RailDriver to work on Linux
Getting a RailDriver console recognized by Train Sim World 6 on Linux, running through Proton, takes a few steps that aren't obvious anywhere in one place. Here's what worked for me, on Ubuntu 26.04.
-
Find the device ID with
lsusbafter plugging in the RailDriver. It's probably05f3:00d2, but it may be different depending on your exact controller. -
Add a udev rule,
/etc/udev/rules.d/90-raildriver.rules:SUBSYSTEM=="usb", ATTRS{idVendor}=="05f3", MODE="0666", GROUP="plugdev" KERNEL=="hidraw*", ATTRS{idVendor}=="05f3", MODE="0666", TAG+="uaccess"Substitute your own vendor ID from step 1.
Add yourself to
plugdevif you aren't already (sudo usermod -aG plugdev $USER), then reboot. There's probably some way to cause this to take effect without rebooting, but I'd bet rebooting is easier.-
In Steam, set TSW6's launch options (in the game's properties) to this, making sure to match the same device ID you found in step 1, prefixed with
0x:PROTON_ENABLE_HIDRAW="0x05f3/0x00d2" %command% -
This launch option won't take effect until Proton's prefix registry is rebuilt, which can be forced by switching Proton versions. First, back up and remove
system.regfrom TSW6's Proton prefix (with 3656800 being TSW6's Steam app ID)mv ~/.local/share/Steam/steamapps/compatdata/3656800/pfx/system.{reg,reg.bak} -
Then, in the game's compatibility options, choose a different Proton version. If no specific version was selected, then select one now, going two versions before the latest should be plenty safe.
Launch the game once. This is important, otherwise the new version won't fully take. TSW loves compiling Vulkan shaders for a thousand years, so you may find yourself with surprise meditation time, especially if you have many DLCs. You should probably be able to skip compiling, since you're not going to play the game in this state, but when I tried this, the game simply wouldn't launch.
Now close the game, and switch back to your default Proton version, or latest (I switched to Proton 9 when this post was written).
-
Launch, then in the game settings: Controls > Advanced Controls, click Calibrate (or press E), run through calibration. Calibration is per-train, and while some trains work without it, most need it. I wish calibration were game-level instead, but there's a lot of things I wish about Train Sim World working differently.
If calibration works at all, then that's it! RailDriver reads as a native controller in TSW6 on Linux from there. In the future you can simply plug and play.
If calibration doesn't register controller movement at all, try rerunning these steps, making sure to actually launch the game on a different Proton version. And maybe try picking another different Proton version. If nothing works, then I wish you luck in further research getting your rather expensive controller working ♥.