Linux Support - Limited › SOL-R 2

Star Citizen · Linux · Bazzite

Thrustmaster SOL-R 2 HOSAS on Linux

Two Sol-R flightsticks on Linux need one extra step: letting Wine read them as raw devices. This page walks you from a fresh Bazzite install to flying with our dual-stick profile.

hidrawBazziteLUG Helper v4.17

Thrustmaster SOL-R 2 dual flightsticks

At a glance

What this setup involves

Linux talks to it throughRaw HID (hidraw), enabled by the LUG Helper
USB IDs to look for044f:042a (left stick, LEFT HANDED), 044f:0422 (right stick, RIGHT HANDED)
How the game should see itJoystick 1 = left stick, joystick 2 = right stick
Our profilelayout_AbsoluteGaming_SOLR2.xml · same file as the Windows kit
Extra Linux setupHidraw rule from the LUG Helper (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.

  1. 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

  1. Plug it straight into the PC

    Use a USB port on the PC itself rather than an unpowered hub. Two devices means two cables: plug in both.

  2. Check the handedness switches

    Each Sol-R base has a left/right-handed switch on the back, and Linux sees it just like Windows does: the switch changes the stick’s USB ID. Set the left stick’s base to LEFT HANDED and the right one to RIGHT HANDED; if both are on the same setting, the game sees two identical sticks and can’t tell them apart.

  3. Confirm Linux sees it

    Open a terminal and run:

    lsusb | grep -iE '044f:0422|044f:042a'

    You should get one line per device: 044f:042a = left stick, LEFT HANDED, 044f:0422 = right stick, RIGHT HANDED. 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.

  1. 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".

  2. 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.

  3. Unplug and replug

    Unplug the USB cable(s) and plug them back in so the new rule applies. No reboot needed.

Step 4

Check it in Wine

  1. 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.

  2. 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.

  3. 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.

Paste this into a terminal (Konsole)
Then in the game, open the console with ~ 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_SOLR2.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

  1. Load the profile

    Start the game, open the console with ~ and run pp_rebindkeys layout_AbsoluteGaming_SOLR2 (no .xml). Or use Options › Keybindings › Advanced Controls Customization › Control Profiles.

  2. Check the device order

    The left stick must be joystick 1. Take off and push the left stick forward: you should fly forward. If the nose pitches down instead, the sticks are swapped: run pp_resortdevices joystick 1 2, then the pp_rebindkeys line again.

  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.

  4. 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.

SOL-R 2 left stick page of the control map

Left stick: thrust and strafe.

SOL-R 2 right stick page of the control map

Right stick: pitch, yaw, roll and weapons.

Step 7

Good to know for the SOL-R 2

  • Calibrating without Windows. The LUG wiki gives the Sol-R’s built-in manual calibration: start with the base unplugged; hold the upper trigger and the left grip button (35) while plugging in (the thumbstick ring LED blinks slowly); let the thumbstick and twist rest at center and press the scroll-wheel under the thumbstick; move the thumbstick to its limits on both axes and twist fully left and right, gently; press the scroll-wheel again (the LED stops blinking). Unplug and replug to finish.
  • No T.A.R.G.E.T.. Thrustmaster’s T.A.R.G.E.T. and control panel are Windows-only. Our profile is built for the sticks without them.
  • Hats. Leave PoV at the factory setting. If you turned it off on a Windows PC, the hats report as plain buttons (30 to 34 and 40 to 44).
  • Rotary selectors. Positions 20 to 23 hold their position, so only bind them to mode-style actions.
  • LEDs. The LUG links a small script for changing the Sol-R LEDs on Linux (solr-led by gort818).

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).