Linux Support - Limited › G PRO Yoke

Star Citizen · Linux · Bazzite

Logitech G PRO Flight Yoke System on Linux

The yoke and its throttle quadrant show up as one controller through Linux’s standard joystick driver. This page takes you from a fresh Bazzite install to flying with our yoke profile.

evdevBazziteLUG Helper v4.17

Logitech G PRO Flight Yoke and throttle quadrant

At a glance

What this setup involves

Linux talks to it throughStandard Linux joystick driver (evdev)
USB IDs to look for06a3:0bac (yoke with its quadrant)
How the game should see itJoystick 1 = yoke (the quadrant comes through the yoke)
Our profilelayout_AbsoluteGaming_GProYoke.xml · same file as the Windows kit
Extra Linux setupNone required; optional deadzone fix in 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. One USB cable carries the yoke and its quadrant.

  2. Confirm Linux sees it

    Open a terminal and run:

    lsusb | grep -iE '06a3:0bac'

    You should get one line per device: 06a3:0bac = yoke with its quadrant. Nothing printed? Try another USB port and cable before going further.

Step 3

Nothing to install (one optional tweak)

Logitech devices work through Linux’s standard joystick driver. You can go straight to Step 4.

  1. Optional: remove Linux’s extra deadzone

    Linux’s joystick driver adds a small center deadzone and anti-jitter smoothing on top of the hardware. Most pilots never notice. If the throttle “hitches” in the middle or the stick won’t settle exactly on center, the LUG’s fix is a udev rule that runs evdev-joystick. On Bazzite that tool isn’t installed, so this is the advanced route: layer the linuxconsoletools package and reboot, then create the rule.

    rpm-ostree install linuxconsoletools
    systemctl reboot

    After the reboot, save this as /etc/udev/rules.d/99-evdev-joystick.rules (for example with sudo nano), then unplug and replug:

    # Custom Joystick Udev Rules (Logitech G PRO Flight Yoke System)
    ACTION=="add", SUBSYSTEM=="input", KERNEL=="event*", \
      ENV{ID_VENDOR_ID}=="06a3", ENV{ID_MODEL_ID}=="0bac", \
      RUN+="/usr/bin/evdev-joystick --e %E{DEVNAME} --d 0 --f 0"

    Bazzite’s own advice is to layer packages only when you need to; skip this if your controls feel fine.

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. Make sure it’s a joystick, not xinput

    The yoke should be listed. If one shows as Connected (xinput), select it and click Override so it is treated as a dinput joystick, as the LUG recommends. Missing entirely? Unplug, replug and reopen the window.

  3. Test every axis and button

    Use the window’s test view: move every axis through its full range and press each button. Pull each quadrant lever past its detent and turn the mode selector to see which button numbers they report; Logitech doesn’t publish those, so our profile leaves them free for you.

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

Prefer to do it by hand? Download layout_AbsoluteGaming_GProYoke.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_GProYoke (no .xml). Or use Options › Keybindings › Advanced Controls Customization › Control Profiles.

  2. Check the device order

    Only one device, so order can’t go wrong. If you also have rudder pedals or another stick plugged in, the yoke must be joystick 1.

  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.

G PRO yoke page of the control map

Yoke and quadrant: every button and lever.

G PRO yoke setup page

Setup page.

Step 7

Good to know for the G PRO Yoke

  • Yaw. A yoke has no twist, so yaw is on the lower right-hand rocker (T5/T6). Rudder pedals are the comfortable answer.
  • Quadrant does nothing. Check the round PS/2 cable between quadrant and yoke. If the yoke works in Wine’s controller test but the levers don’t move, it’s that cable or its socket.
  • Separate USB quadrant. A quadrant bought on its own is a second controller, not part of the yoke. Bind it in the game.
  • NAV mode. Yoke rocker T2 (button 4) switches between SCM and NAV.

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