-
Notifications
You must be signed in to change notification settings - Fork 5
Installation
Getting the driver installed takes one command on most distributions. Most people want the desktop app, which installs everything in one go; if you prefer scripts or run a headless box, there is a command-line path too.
The driver supports the Logitech RS50 and the G PRO Racing Wheel (both the Xbox/PC and PS/PC versions). If you have a G920, G923 or G29, those keep working with the in-tree kernel driver; this project is for the direct-drive wheels.
-
Most people: the desktop app. Install
logi-dd-guiand you get everything (the driver, the settings app, and the game helpers) from one package. You do the rest from inside the app: no terminal beyond the single install command and one one-time permission step. Start here. - Prefer the command line, or running headless? Skip to Manual / command-line install for the from-source script, the individual packages and the health check.
Install the logi-dd-gui package for your distribution. It pulls in the
driver and the helpers automatically, so this one command installs the whole
stack and adds a menu entry:
| Distribution | Install |
|---|---|
| Arch, CachyOS, Manjaro |
paru -S logi-dd-gui (AUR, or your AUR helper) |
| Debian, Ubuntu, Mint, Pop!_OS | download the .debs from Releases, then sudo apt install ./logitech-trueforce-dkms_*.deb ./logi-dd_*.deb ./logi-dd-gui_*.deb
|
| Fedora, Nobara | sudo dnf copr enable mescon/logitech-trueforce && sudo dnf install akmod-logitech-trueforce logi-dd-gui |
| openSUSE | OBS repo home:mescon, then sudo zypper install logi-dd-gui
|
| Bazzite, Silverblue, Kinoite | atomic; see the atomic section below |
| Others | build from source (in the manual section below) |
Settings and the tools write to the wheel through the input group, so add
yourself to it once. This is the only terminal step the desktop app needs, and
it is a one-time thing:
sudo usermod -aG input "$USER" # then log out and back inAfter the log out and back in, plug in the wheel and open logi-dd-gui from your applications menu. Everything else lives in the app:
- Setup page: force feedback, TrueForce and per-game setup (see below).
- The other pages: rotation range, strength, LIGHTSYNC LEDs, response curves, profiles and a live input tester.
See Configuring the Wheel for a tour of the app, and Force Feedback in Games for what force feedback and TrueForce are and how to set up each game.
To confirm the driver loaded, plug in the wheel; the app's Info / Testing page
names your wheel model. (If you ever want to check from a terminal, sudo dmesg | grep -iE 'rs50|g pro' shows the same thing.)
Safety: this is a direct-drive wheel producing up to 8 Nm. Keep hands clear (or hold the rim) whenever the driver loads, the wheel replugs, or profiles switch; it can rotate under power.
Everything below is for people who prefer scripts, want the individual packages, or run a headless / SSH-only box with no desktop. It installs the same software; you just drive it from the terminal app and sysfs instead of the desktop app.
Every channel builds the same three packages from this one repository. Dependencies pull the rest automatically, so you normally install just one:
| Package | Contents | Install it when |
|---|---|---|
logitech-trueforce-dkms (akmod on Fedora) |
the kernel driver + udev rules | you only want the wheel to work; games and sysfs are enough |
logi-dd |
the terminal settings app, logi-ffb (force feedback for DirectInput games), logi-tf-sim (the simulated-TrueForce background helper), and the tool that installs Logitech's TrueForce files into your games |
a headless or terminal-first setup; depends on the driver package |
logi-dd-gui |
the desktop settings app, menu entry and icon | a desktop; depends on logi-dd, so this one package installs everything |
All channels are DKMS/akmod-based: the kernel module rebuilds automatically on kernel upgrades.
For a box with no desktop, install logi-dd instead of logi-dd-gui; it
carries the terminal app and every helper:
| Distribution | Install |
|---|---|
| Arch, CachyOS, Manjaro |
paru -S logi-dd (pulls the driver too) |
| Debian, Ubuntu, Mint, Pop!_OS | download the .debs from Releases, then sudo apt install ./logitech-trueforce-dkms_*.deb ./logi-dd_*.deb
|
| Fedora, Nobara | sudo dnf copr enable mescon/logitech-trueforce && sudo dnf install akmod-logitech-trueforce logi-dd |
| openSUSE | OBS repo home:mescon, then sudo zypper install logi-dd
|
After installing, plug in the wheel and check dmesg for a line naming your
wheel model (RS50 (native):, RS50 (G PRO compatibility mode):, or
G PRO:). Add yourself to the input group once so settings and the tools
work without root:
sudo usermod -aG input "$USER" # then log out and back inOne command does it all: DKMS module, udev permissions, module load, and (if Logitech's TrueForce files are in place, see Force Feedback in Games) it adds TrueForce support to every Steam game's Proton folder:
git clone https://github.com/mescon/logitech-trueforce-linux-driver.git
cd logitech-trueforce-linux-driver
sudo ./tools/setup.shIt is safe to run again after a git pull or a kernel update. It ends with a
health check you can re-run alone at any time, as your normal user:
./tools/setup.sh doctorEvery line should say PASS; warnings tell you exactly what to run. Then replug the wheel's USB cable and check the kernel log:
sudo dmesg | grep -iE 'rs50|g pro' # expect: "... Force feedback initialized"Building the Rust apps (logi-dd, logi-dd-gui, logi-ffb, logi-tf-sim)
from source needs Rust 1.88 or newer (1.92 for the GUI); on distributions
whose packaged rustc is older, install the toolchain with
rustup first. The prebuilt packages do not need Rust at
all. See Building and Contributing for details.
Safety: this is a direct-drive wheel producing up to 8 Nm. Keep hands clear (or hold the rim) whenever the driver loads, the wheel replugs, or profiles switch; it can rotate under power.
On rpm-ostree systems DKMS does not apply. Instead you build a kmod RPM
once in a toolbox (a mutable Fedora container sharing the host kernel) and
layer it onto the base image. Verified on Fedora Silverblue 44.
Build the kmod in a toolbox:
toolbox create -y logitech-build
toolbox enter logitech-buildInside the toolbox:
sudo dnf install -y rpm-build make gcc kmodtool kernel-rpm-macros \
elfutils-libelf-devel git kmod "kernel-devel-$(uname -r)"
git clone https://github.com/mescon/logitech-trueforce-linux-driver.git
cd logitech-trueforce-linux-driver
VER=0.16.0 # match the upstream_ver line in the spec
mkdir -p ~/rpmbuild/SOURCES
git archive --prefix=logitech-trueforce-linux-driver-$VER/ \
-o ~/rpmbuild/SOURCES/logitech-trueforce-kmod-$VER.tar.gz HEAD
rpmbuild -bb packaging/akmods/logitech-trueforce-kmod.spec \
--define "kernels $(uname -r)"
exitLayer the resulting RPMs onto the host and reboot (on the host, not in the toolbox):
sudo rpm-ostree install \
~/rpmbuild/RPMS/x86_64/kmod-logitech-trueforce-*.rpm \
~/rpmbuild/RPMS/noarch/logitech-trueforce-kmod-common-*.rpm
sudo systemctl rebootAfter the reboot the module auto-loads when you plug the wheel in. Confirm
with modinfo hid-logitech-dd.
Notes:
-
After a kernel update, rebuild. A static kmod does not rebuild itself
the way DKMS does: repeat the toolbox build and re-run
rpm-ostree installbefore rebooting into the new kernel. -
Bazzite ships a custom uBlue kernel, so
kernel-devel-$(uname -r)is not in the standard Fedora repos. Enable uBlue's akmods repo inside the toolbox first (sudo dnf copr enable ublue-os/akmods), then run the same steps.
- Set your rotation range and strength: Configuring the Wheel.
- TrueForce in Proton sims: Force Feedback in Games.
- Anything off: Troubleshooting.