- Arch Linux
- #2 2013-07-22 08:52:55
- Re: Logitech Driving Force GT,How limit 900º steering wheel angle to 200º?
- Saved searches
- Use saved searches to filter your results more quickly
- License
- berarma/new-lg4ff
- Name already in use
- Sign In Required
- Launching GitHub Desktop
- Launching GitHub Desktop
- Launching Xcode
- Launching Visual Studio Code
- Latest commit
- Git stats
- Files
- README.md
- About
Arch Linux
Hi,
I’ve read that iRacing is going to be ported to linux soon and I’ve said to myself «Hey man! The time has come, I already can almost say. goooooood bye win!» So, I must be ready when that time comes.
I’ve got a Logitech Driving Force GT wheel. It’s well detected by the kernel at boot time and I can check that it’s well detected with jstest-gtk (its whole 900 degrees and pedals are well detected). It’s not a problem if you’re going to drive a street car, in fact it’s what must be since the 900º is a feature of this wheel. But when you need to drive an F1 you must limit the steering wheel angle to 200 or 270 degrees. In windows works perfectly with the logitech profiler, it’s the easiest thing ever, but in linux I have no idea how to do it.
When I drive an F1 car I must turn my wheel one turn and a half to reach the side limit, while the wheel of the car in the game just turns about 3/4 of a turn. We both (me with my wheel and the wheel at the videogame) reach the side end of the range at the same time, but the wheel in the videogame just turns 3/4 of a turn while I must turn one whole turn and a half.
I’ve tried with LTWheelConf ($ sudo ltwheelconf —wheel DFGT —range 200), G25manage, usb-tool. but anything succeed. I’ve read something about that since kernel 3.2 the FFB and wheels control is built into the kernel modules so these tools are not working anymore or something like that. But, if that’s true, how do we do those things that these program did now?
About Force Feed Back, it just works in Live for Speed (although not as good as in windows) while in rFactor, GTR 2, GTR Evolution, TORCS, VDrift and Speed Dreams does not work at all. But I think this needs other topic.
How can I limit the steering angle to my desired degrees?
#2 2013-07-22 08:52:55
Re: Logitech Driving Force GT,How limit 900º steering wheel angle to 200º?
May I continue this thread in the kernel & hardware forum because I’ve realize that the wheel isn’t detected with the 900 grades and full range pedals at boot time, I have to run ltwheelconf —wheel DFGT —nativemode. So it is more a device configuration than a software use of it.
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.
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.
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.
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