Logitech momo racing linux

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Experimental Logitech force feedback module for Linux

License

berarma/new-lg4ff

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Improved Linux module driver for Logitech driving wheels.

Thanks to Oleg Makarenko for adding support for the Logitech G923 Racing Wheel (PS4/PC version).

  • Logitech WingMan Formula GP (without force feedback)
  • Logitech WingMan Formula Force GP
  • Logitech Driving Force
  • Logitech MOMO Force Feedback Racing Wheel
  • Logitech Driving Force Pro
  • Logitech G25 Racing Wheel
  • Logitech Driving Force GT
  • Logitech G27 Racing Wheel
  • Logitech G29 Driving Force (switch in PS3 mode)
  • Logitech G923 Racing Wheel for PlayStation 4 and PC (046d:c267, 046d:c266)
  • Logitech MOMO Racing
  • Logitech Speed Force Wireless Wheel for Wii

This module is not compatible with the Logitech G920 Driving Force and XBOX/PC version of the Logitech G923 (046d:c26d, 046d:c26e). Both wheels use the HID++ protocol and should be supported by the HID++ driver in the kernel but as of this writing the driver hasn’t yet been patched to support the Logitech G923 for XBOX/PC.

Reports on success or failure using this module on untested devices are welcome.

Differences with the in-tree module

It has all the features in the in-kernel hid-logitech module and adds the following ones:

  • Support for most effects defined in the Linux FF API (except inertia) rather than just constant the force effect.
  • Asynchronous operations with realtime handling of effects.
  • Rate limited FF updates with best possible latency.
  • Tunable sprint, damper and friction effects gain.
  • It can combine accelerator and clutch.
  • Use the wheel leds as a FFBmeter to monitor clipping.
  • Added a system gain setting that modulates the gain setting used by applications.
  • SYSFS entries for gain, autocenter, spring/damper/friction effect gain and FFBmeter.
Читайте также:  Change user admin linux

The module can be installed with DKMS or manually. Follow just one of these procedures.

The module will be installed in the /usr/src directory. Removal, updates, and rebuilds for kernel upgrades will be managed by dkms . The module will load automatically at system reboot.

  • Install dkms from the package manager in your system.
  • Download the project to /usr/src/new-lg4ff .
  • Install the module:

$ sudo dkms install /usr/src/new-lg4ff

Installing the module won’t load it into memory. You’ll have to load it manually or update your initramfs image and reboot.

When using DKMS the module will be installed as hid-logitech so it automatically replaces the old module. Once loaded, it will be displayed as hid-logitech-new though.

NOTE: If you had previously installed the module using the manual method then you must delete the module by hand: $ sudo rm /lib/modules/$(uname -r)/extra/hid-logitech-new.ko

DKMS is deprecating the feature to automatically update the initramfs image so after a reboot the default module will load instead of the new one. It needs to be done manually.

Users using the generic initramfs tool can do it with the command:

When updating the module, update the code in /usr/src/new-lg4ff and repeat the install step.

In case you want to rebuild the module, remove it and install again:

$ sudo dkms remove new-lg4ff/ --all $ sudo dkms install /usr/src/new-lg4ff 

Replace with the version you want to remove.

Type the following commands inside the project directory:

In some distributions, the install step might throw some SSL errors because it’s trying to sign the module. These errors can be ignored.

Now the module is installed but not loaded.

To unload the module (restoring the in-kernel module):

Check that the driver is loaded

You should see something like this (notice the version at the end of the module description):

[347092.750524] logitech 0003:046D:C24F.000B: Force feedback support for Logitech Gaming Wheels (0.2b) [347092.750525] logitech 0003:046D:C24F.000B: Hires timer: period = 2 ms 

There’s been work done to be able to monitor FF clipping and avoid it. The FF force level is calculated as a maximum since we can’t know the exact amount of force the wheel is applying because conditional effects are dynamic depending on wheel movements.

Games using conditional effects will report the maximum force level as if the conditional effects were playing at the maximum level. This way we may get a higher value than real one but never lower. Since the goal is to avoid clipping, this is the measure we are interested in.

Читайте также:  Linux local bin directory

Conditional effects gain can be tuned seperately for each effect type to leave more dynamic range for the other effects. The default value seems close enough to the gain used in the official Logitech driver for Windows.

Clipping isn’t necesarily bad. To allow a wider dynamic range of forces to be played, it may be good to have some very light clipping, and even lots of clipping are acceptable when crashing or driving over very rough ground.

You can use modinfo to query for available options.

  • timer_msecs: Set the timer period. The timer is used to update the FF effects in the device. It changes the maximum latency and the maximum rate at which commands are sent. Maximum 4 commands every timer period get sent. The default value is 2ms, less will have no benefit and greater may add unrequired latency.
  • fixed_loop: Set the firmware loop mode to fixed or fast. In fixed mode it runs at about 500Hz. In fast mode it runs as fast as it can. The default is fast loop to try to minimize latencies.
  • timer_mode: Fixed (0), static (1) or dynamic (2). In fixed mode the timer period will not change. In static mode the period will increase as needed. In dynamic mode the timer period will be dynamic trying to maintain synch with the device to minimize latencies (default).
  • profile: Enable debug messages when set to 1.
  • spring_level: (see the corresponding SYSFS entry).
  • damper_level: (see the corresponding SYSFS entry).
  • friction_level: (see the corresponding SYSFS entry).
  • ffb_leds: (see the corresponding SYSFS entry).

They are located in a special directory named after the driver, for example:

Entries in this directory can be read and written using normal file commands to get and set property values.

This entry already existed. It has been extended, setting the value to 2 combines the clutch and gas pedals in the same axis.

Get/set the global FF gain (0-65535). This property is independent of the gain set by applications using the Linux FF API.

Get/set the autocenter strength (0-65535). This property can be overwritten by applications using the Linux FF API.

Set the level (0-100) for the spring type effects.

Set the level (0-100) for the damper type effects.

Set the level (0-100) for the friction type effects.

Use the wheel leds (when present) to monitor FF levels.

It returns the maximum detected FF level value as an integer. It can be written to reset the value and start reading again. Values read will be always greater or equal than the last value written. Values between 0-32768 mean no clipping, greater values mean there can be clipping.

Читайте также:  Open source linux servers

Please, use the issues to discuss bugs, ideas, etc.

THE SOFTWARE IS PROVIDED «AS IS», WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

About

Experimental Logitech force feedback module for Linux

Источник

How to get Logitech steering wheels working properly on Ubuntu (G25/G27/DF/DFP/DFGT/MF/MR)

Through the tool LTWheelConf it is possible get to fully working on Linux (separate axes, full wheel range, clutch pedal, H-shifter) the following Logitech steering wheels:

  • Driving Force
  • Momo Racing
  • Momo Force
  • Driving Force Pro
  • Driving Force GT
  • G25
  • G27
  • set wheel to «native» mode (support separate axes and clutch pedal, H shifter, full 900 degree rotation)
  • Set wheel rotation range
  • Set autocenter force and rampspeed
  • Set ForceFeedback gain

Compile guide [ ]

You can easily compile LTWheelConf using the following commands:

Get some dependencies (for Ubuntu 13.04 x86)

sudo apt-get install libusb-1.0-0-dev git

Install cp ltwheelconf /usr/local/bin/ You should now have an executable named ltwheelconf.

List all found/supported devices

Supported wheel shortname values:

  • ‘DF’ (Driving Force)
  • ‘MR’ (Momo Racing)
  • ‘MF’ (Momo Force)
  • ‘DFP’ (Driving Force Pro)
  • ‘DFGT’ (Driving Force GT)
  • ‘G25’ (G25)
  • ‘G27’ (G27)

Set wheel to native mode

sudo ltwheelconf —wheel —nativemode

Set wheel rotation range of 900 degrees

sudo ltwheelconf —wheel —range 900

Examples [ ]

Put wheel into native mode:

$ sudo ltwheelconf —wheel G25 —nativemode

Set wheel rotation range to 540 degree:

$ sudo ltwheelconf —wheel G27 —range 540

$ sudo ltwheelconf —wheel DFP —autocenter 100 —rampspeed 1

Disable autocenter completely:

$ sudo ltwheelconf —wheel G25 —autocenter 0 —rampspeed 0

Set native mode, disable autocenter and set wheel rotation range of 900 degrees in one call:

$ sudo ltwheelconf —wheel DFGT —nativemode —range 900 —autocenter 0 —rampspeed 0

Now you can configure the steering wheel directly from Euro Truck Simulator 2. To test and calibrate the steering wheel outside ETS2 you can use jstest-gtk

Add UDEV rule [ ]

It is possible to add a rule to UDEV to automatically invoke LTWheelConf when the steering wheel is connected.

This can be done using the following command (use the correct shortname instead of !):

echo ‘ATTRS==»046d», ATTRS==»c294″, RUN+=»/usr/local/bin/ltwheelconf —wheel —nativemode —range 900″‘ | sudo tee -a /etc/udev/rules.d/90-logitech-wheel.rules

Now you need to restart UDEV:

sudo service udev restart

Источник

Оцените статью
Adblock
detector