-
Notifications
You must be signed in to change notification settings - Fork 5
Installation
Getting the driver installed takes one command on most distributions. This page covers the packages, the from-source path, and atomic/immutable distros.
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.
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.
| Distribution | Install |
|---|---|
| Arch, CachyOS, Manjaro |
paru -S logi-dd-gui (AUR, or your AUR helper; pulls logi-dd and the driver. Headless box: paru -S logi-dd) |
| 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 (skip the gui one on a headless box) |
| Fedora, Nobara |
sudo dnf copr enable mescon/logitech-trueforce && sudo dnf install akmod-logitech-trueforce logi-dd-gui (headless: logi-dd instead of logi-dd-gui) |
| openSUSE | OBS repo home:mescon, then sudo zypper install logi-dd-gui (headless: logi-dd) |
| Bazzite, Silverblue, Kinoite | atomic; see the section below |
| Others | build from source (below) |
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.