A downloadable tool for Linux

pyLinuxWheel is a graphical program developed in gtk3 to configure your Logitech Steering Wheel in Linux. Currently it supports the following features:

  • Range: allows you to change the default wheel range.
  • Resistance: set the strength needed to turn the steering wheel.
  • Gain: adjust the overall strength of the force feedback effects.
  • Combine pedals: useful for old games which can do not work with separate accelerator/brake axis.
  • Alternate modes: with this option your wheel can emulate other Logitech models. For example, a G29 steering wheel can emulate a G27 model. Useful only when a game does not support your steering wheel model.
  • Test: you can check the force feedback, buttons and pedals of your steering wheel with pyLinuxWheel.
  • Profiles: create, modify, import and export profiles of your steering wheel settings. You can also get a set of profiles made by us using the premade-profiles.zip file.
  • Auto Adaptive Interface: pyLinuxWheel enables only those options from its interface that are supported for your steering wheel.
  • Automatic installation udev rules: pyLinuxWheel can automatic install or update udev rules for your wheel, so you don't need root permission to change your Logitech driver configuration.
  • Models supported: Driving Force (EX, RX, Pro, GT), G25, G27, G29, G920, Logitech Racing Wheel USB, WingMan Formula (Yellow, GP, Force GP) and MOMO (Force, Racing).
  • AppImage support: you don't need to install pyLinuxWheel, only make it executable, and run thanks to the AppImage support.
  • Deb package: if you use Debian or a Ubuntu based distribution you can install pyLinuxWheel using a deb package. This package has been made using as reference the pyLinuxWheel package created by MX Linux developers.
  • Tested in many distributions: Ubuntu, Debian, OpenSuse, Manjaro, etc.
  • Free software: pyLinuxWheel is published under GPL3 license.
  • Multi language: English, French and Spanish translations.
  • Source available: if you don't like use AppImage packages you can download the source from the pyLinuxWheel gitlab repository

Install instructions

Before running the AppImage, it is necessary to make it executable. You can make it executable using your file manager or from the command line with chmod u+x pyLinuxWheel-v0.6.0-x86_64-glibc_2.27.AppImage.

If you use an old distribution or a new distribution but with a glibc version less than glibc-2.27, you have to download the  pyLinuxWheel-v0.6.0-x86_64-glibc_2.23.AppImage package. Users with a modern distribution (from Ubuntu 18.04 to the last Ubuntu version), that supports glibc_2.27 or newer they should download and use the pyLinuxWheel-v0.6.0-x86_64-glibc_2.27.AppImage package


pyLinuxWheel-v0.6.0-x86_64-glibc_2.27.AppImage 47 MB
pyLinuxWheel-v0.6.0-x86_64-glibc_2.23.AppImage 42 MB
pylinuxwheel_0.6.0-1.deb 306 kB
premade-profiles.zip 3 kB
pyLinuxWheel-v0.5.2-x86_64-glibc_2.27.AppImage 47 MB
pyLinuxWheel-v0.5.2-x86_64-glibc_2.23.AppImage 42 MB
pyLinuxWheel-v0.5.1-x86_64-glibc_2.27.AppImage 47 MB
pyLinuxWheel-v0.5.1b-x86_64-glibc_2.23.AppImage 42 MB
pyLinuxWheel-v0.4-x86_64.AppImage 53 MB


Log in with itch.io to leave a comment.

Hi, I tried the 0.6.0-1.deb on Ubuntu 18.04.3 and it detected my G27 correctly. However when I go to the test tab and execute the force feedback test, it gives the following error:

Traceback (most recent call last):
  File "/usr/bin/pyLinuxWheel", line 1083, in on_test_rumble_clicked
  File "/usr/bin/pyLinuxWheel", line 551, in test_rumble
    effect_id = input_device.upload_effect(effect)
  File "/usr/lib/python3/dist-packages/evdev/device.py", line 309, in upload_effect
    data = bytes(buffer(effect)[:])
NameError: name 'buffer' is not defined

Out of curiosity I installed the glibc 2.27 version and it seems to execute the force feedback test correctly.

(1 edit)


just found your app for Debian and tried it. Looks very promising,  but im having little trouble with my wheel - Momo Force feedback - 2 pedals.

In the Test Menu the wheel goes from 0 to 17 degrees and thats it. When pressing throttle  the program shows clutch and when pressing brake, program shows throttle. Both pedals go from 0 to 100 correctly.

Also my wheel is detected as Momo Racing and not as Momo Force.

Full name of the wheel: Logitech 3 MOMO Force Feedback Racing Wheel

Can you pls check the issue.



 Thanks for your comment!

Could you open an issue in my gitlab with the following information:

  • the output of the lsusb command
  • the button clicked number that pyLinuxWheel shows in its Test tab when you push your throttle and brake pedals
  • the output of evtest command

To know how to use  lsusb and evtest to get the information of your steering wheel you can follow this guide from the arch wiki

(2 edits)

thank you very much.

This is a nice app and work fine with debian.

just a little problem, in test page when press brake pedal only go at 99, clutch pedal make same problem 

Update: lost feedback when project cars 2 start


thanks for your comment!

I made a new version to fix the problem with the pedals values (it was an error in how the values are stored and calculated) . Now you can press throttle and clutch pedals and get 100, but depending  on the hardness of the pedals of your steering wheel you may not get the maximum value (100). For example I never get 100 with the brake pedal in my Logitech G29 but I get easy 100 in clutch and throttle pedals.

On the other hand, about your problem with project cars 2. I don't have this game, but I think the force feedback with proton does not work in project cars 2 as there is an issue about force feedback for this game in the proton github. I have project cars 1 and force feedback works properly but keep in mind that PyLinuxWheel is not a driver for Logitech wheels. PyLinuxWheel is only a program to configures the values of the Logitech kernel driver. So the support of your steering wheel in a game with proton depends on proton and the kernel driver. 


now I try project cars because I use this game too.

Another thing, in assetto corsa comeptizione there is same problem then solved with reload after game launch because after game launch lost FFB

Thanks for work

Sorry for my bad English

Hi! Very important and nice project, thank you for this! But will there be a snap package for it?? I just can't seem to ever get these Appimage packages to run :/

Do you mark the excutable bit in the file?


Before to create a new release I have been study how to package PyLinuxWheel with  snap and flatpak. The problem is PyLinuxWheel needs to write in the sys interface to configure the steering wheel.  In flatpak this is not possible due to the sandbox design and with snap, only is possible if I use the classic confinement, but in this mode you need a manual approval to publish in the snapstore. 

So in the end, for this release, I tried to create a more compatible AppImage. If you have a problem executing this new appimage, please, open an issue in my gitlab repository so I can fix it.