Linux Support - Limited › T.16000M
Star Citizen · Linux · Bazzite
Thrustmaster T.16000M FCS on Linux
Two T.16000M sticks, or the stick with the TWCS throttle: on Linux both need Wine to read them as raw devices, plus one Wine setting the LUG lists for the T.16000M. This page takes you from a fresh Bazzite install to flying with either of our profiles.
hidrawBazziteLUG Helper v4.17
At a glance
What this setup involves
| Linux talks to it through | Raw HID (hidraw), enabled by the LUG Helper, plus a Wine DLL override |
|---|---|
| USB IDs to look for | 044f:b10a (T.16000M stick, one line per stick), 044f:b687 (TWCS throttle), 044f:b679 (TFRP pedals on their USB adapter) |
| How the game should see it | Dual sticks: joystick 1 = right stick, joystick 2 = left stick. HOTAS: joystick 1 = stick, joystick 2 = TWCS |
| Our profile | layout_AbsoluteGaming_T16000M_Dual.xml (dual sticks) or layout_AbsoluteGaming_T16000M_TWCS.xml (HOTAS) · same files as the Windows kits |
| Extra Linux setup | Hidraw rule from the LUG Helper and a dinput/xinput DLL override (Step 3) |
Step 1
Install Star Citizen with the LUG Helper
Do this once for any controller. The full walkthrough on our Linux Support page goes screen by screen; here is the checklist.
-
Done these?
- LUG Helper AppImage downloaded and allowed to run (how).
- Preflight Check (System Optimization) passes.
- Install Star Citizen Launcher finished, with the default prefix
~/Games/star-citizen. - The game is installed from the RSI Launcher at its default path, and starts.
Step 2
Plug it in and make sure Linux sees it
-
Plug it straight into the PC
Use a USB port on the PC itself rather than an unpowered hub. Every unit has its own USB cable: plug in both sticks, or the stick and the TWCS. TFRP pedals go into the back of the TWCS for HOTAS, or into their own USB adapter for dual sticks.
-
Set the hand switches
Each T.16000M base has a LEFT HANDED / RIGHT HANDED switch that swaps the two banks of base buttons. Dual sticks: left stick on LEFT HANDED, right stick on RIGHT HANDED. HOTAS: the stick on RIGHT HANDED. Both sticks report the same name and USB ID either way, so the game can’t tell them apart by name; Step 6 shows how to check the order.
-
Confirm Linux sees it
Open a terminal and run:
lsusb | grep -iE '044f:b10a|044f:b679|044f:b687'
You should get one line per device you have plugged in:
044f:b10a= T.16000M stick, one line per stick,044f:b687= TWCS throttle,044f:b679= TFRP pedals on their USB adapter. Nothing printed? Try another USB port and cable before going further.
Step 3
Let Wine read the sticks directly (hidraw)
The LUG’s fix for Thrustmaster sticks: give Wine raw access so the game gets the same device, buttons and axes as on Windows.
-
Create the hidraw rule with the LUG Helper
Open the LUG Helper and choose Maintenance and Troubleshooting › Create joystick hidraw rules, then enter your password. It writes one rule file that lets Wine read Thrustmaster (vendor
044f), VKB and Virpil devices directly, the same way Windows does. Check it is there:cat /etc/udev/rules.d/40-starcitizen-joystick-uaccess.rules
You should see a line with
KERNEL=="hidraw*", ATTRS{idVendor}=="231d|3344|044f"…TAG+="uaccess". -
Use LUG Wine 11.4 or newer
In the LUG Helper open Manage Wine Runners. The LUG says hidraw for Thrustmaster needs LUG Wine 11.4 or newer. Check which runner you are on; if it is older, install the newest LUG Wine from that menu and switch to it.
-
Unplug and replug
Unplug the USB cable(s) and plug them back in so the new rule applies. No reboot needed.
-
Add the dinput and xinput overrides
The LUG wiki notes that T.16000M sticks may not show up in Wine’s game controller list until DLL overrides for dinput and xinput are added. In the LUG Helper choose Maintenance and Troubleshooting › Open Wine prefix configuration. In the Wine configuration window open the Libraries tab, pick
dinputin New override for library and click Add, then do the same forxinput. If the list offers more than one xinput entry, add them all. Click OK.
Step 4
Check it in Wine
-
Open Wine’s controller configuration
In the LUG Helper choose Maintenance and Troubleshooting › Open Wine controller configuration. This is Wine’s version of Windows’ joy.cpl, running inside your game’s Wine prefix.
-
One entry per stick, not two
With hidraw on, a stick can appear twice: once as the raw device and once as the Linux event device. Keep the one that matches your USB ID and select the copy that doesn’t, then click Disable. You want exactly two active entries (both sticks, or the stick and the TWCS), or three with TFRP pedals on their own adapter.
-
Test every axis and button
Use the window’s test view: move every axis through its full range and press each button. Thrustmaster’s T.A.R.G.E.T. software doesn’t exist on Linux, which is fine: our profile is built for the sticks without it.
Step 5
Install our profile into the game
These lines create Star Citizen’s mappings folder inside your Wine prefix if it’s missing and download our profile straight into it. Change the prefix if you didn’t use the default. Built your own profile with the generator? Copy that file into the same folder instead.
Dual sticks (HOSAS)
~ and run
Devices the wrong way round? Run pp_resortdevices joystick 1 2 in the console, then run the pp_rebindkeys line again.
Stick and TWCS (HOTAS)
~ and run
Devices the wrong way round? Run pp_resortdevices joystick 1 2 in the console, then run the pp_rebindkeys line again.
Prefer to do it by hand? Download layout_AbsoluteGaming_T16000M_Dual.xml or layout_AbsoluteGaming_T16000M_TWCS.xml and copy it into ~/Games/star-citizen/drive_c/Program Files/Roberts Space Industries/StarCitizen/LIVE/user/client/0/controls/mappings.
Step 6
Load it and check it in the game
-
Load the profile
Start the game, open the console with
~and runpp_rebindkeys layout_AbsoluteGaming_T16000M_Dual(no.xml), orpp_rebindkeys layout_AbsoluteGaming_T16000M_TWCSfor HOTAS. Or use Options › Keybindings › Advanced Controls Customization › Control Profiles. -
Check the device order
Both setups need the stick that carries pitch and yaw as joystick 1: the right stick for dual sticks, the stick for HOTAS. Two T.16000M sticks have the same name and USB ID, so Wine lists them in the order it finds them. If pushing the right stick strafes instead of pitching (or the TWCS steers the ship), run
pp_resortdevices joystick 1 2, then the pp_rebindkeys line again. Check again after moving a cable. TFRP pedals on their adapter are joystick 3. -
Check the directions
Our profile carries the same axis inverts as on Windows, but Wine can report a device under a slightly different name, and then those settings don’t attach. If an axis comes out backwards, go to Options › Keybindings, pick the joystick, open Inversion Settings and flip it there.
-
Fly a test circuit
In the hangar or on a pad: power on, flight ready, lift off, every main axis, fire, landing gear, then quantum mode. Compare with the control map below. Anything off? Rebind it in the game or fix it in the form and regenerate.
Dual sticks: right stick (joystick 1).
Dual sticks: left stick (joystick 2).
HOTAS: stick (joystick 1).
HOTAS: TWCS throttle (joystick 2).
Step 7
Good to know for the T.16000M
- No T.A.R.G.E.T. or Thrustmaster drivers. Thrustmaster’s drivers, control panel and T.A.R.G.E.T. are Windows-only. Our profiles are built for the sticks and throttle without them, so you lose nothing in the game.
- TWCS mini-stick deadzone. The TWCS center deadzone option is set from Thrustmaster’s Windows control panel and saved in the throttle. If you have a Windows PC, set it there once; otherwise give the mini-stick axes a small deadzone in Options › Keybindings.
- Calibration. Thrustmaster says to plug in with the stick, twist and pedals centred and leave them alone for a moment: the sticks calibrate themselves. Unplug and replug if an axis sits off-centre.
- The TWCS slide switch. Buttons 4 and 5 hold their position, so both profiles leave them unbound.
- Pedals. Pedal axes are unbound in both profiles. With the TWCS they come through as part of the throttle; on their own adapter they show up as T-Rudder. Bind them in the game or with the generator.
Troubleshooting
If something’s not right
- A device is missing in the game? Thrustmaster: redo Step 3 and check the rule file and Wine version. Anything else: in Wine’s controller configuration, select it and click Override (dinput).
- An axis does nothing? Check the game hasn’t set that axis’s deadzone to 100% under Options › Keybindings.
- Everything broke after a game or Wine update? Check the LUG wiki news first; fixes usually land there.
- Still stuck? Use the LUG Helper’s Maintenance and Troubleshooting › Show logs, then ask in the LUG’s channels (game on Linux) or on our Discord (our profiles).