Skip to content

Linux kernel modules for Logitech Flight System G940

License

Notifications You must be signed in to change notification settings

atlesn/G940-linux

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

G940-linux

Improvements to Linux kernel support for Logitech Flight System G940

This device has partial Linux support since 2010, but with bugs including some axes conflated/missing.

I have made both some relatively uncontroversial improvements, submitted upstream (fix axis/button mappings, support LEDs, remove hard autocenter) and some more experimental changes which are only here, to support additional force feedback effects by including ff-memless-next from Michal Malý, a sort of emulation layer for periodic and rumble effects which was submitted upstream circa 2014, never merged, but it still works great for this.

The repository contains a replacement for the hid_logitech module called hid_logitech_next and a support module called ff_memless_next.

Support

Module is tested with kernel version 5.4.0. Other kernels might work, but this is not tested. In any case, use of this module is at your own risk.

Module may be installed manually or by creating a DKMS package (for Ubuntu, Debian etc.).

Build and install kernel module without packackage

This installation procedure must be run whenever the kernel has been upgraded.

Preconditions: The repository has been cloned from GitHub, and current directory is the top level source directory.

  1. Kernel headers for running kernel must be present in /lib/modules/(VERSION)/
  2. Compile and install module: cd drivers/ && ./local_make.sh modules && sudo ./local_make.sh modules_install
  3. Blacklist the old hid_logitech module: sudo echo "blacklist hid_logitech" > /etc/modprobe.d/blacklist-hid-logitech.conf
  4. Unload old module if loaded: sudo rmmod hid_logitech

Build .deb DKMS package (for Debian, Ubuntu etc.)

The DKMS package will ensure that a new module is automatically built whenever the kernel is upgraded.

Preconditions: The repository has been cloned from GitHub, and current directory is the top level source directory.

  1. Install kernel headers package (linux-headers-(VERSION))
  2. Install dependencies: sudo apt install dkms debhelper dpkg-dev
  3. Build package: dpkg-buildpackage
  4. Install package: sudo dpkg -i ../g940-dkms*.deb

NOTE : Other packages might be required for building, install those who are missing if step 3 fails.

Check that correct module is loaded

  1. (re)connect device
  2. Run and verify that hid_logitech_next exists, but not hid_logitech: lsmod | grep hid
  3. If the old module is still loaded, perform a restart.

About

Linux kernel modules for Logitech Flight System G940

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 99.8%
  • Other 0.2%