Giter VIP home page Giter VIP logo

oversteer's Introduction

Oversteer - Steering Wheel Manager for Linux Packaging status

Oversteer manages steering wheels on Linux using the features provided by the loaded modules. It doesn't provide hardware support, you'll still need a driver module that enables the hardware on Linux.

Most wheels will work but won't have FFB without specific drivers that support that feature.

I can test only on a Logitech G29 Driving Force. Please, report your results with other devices. More wheel models will be added to this list as they are requested.

Use at your own risk. Suggestions, bugs and pull requests welcome.

Supported devices

Oversteer maintains a list of known wheel devices. If your wheel isn't recognized, please contact me.

This section lists devices currently recognized. Being in this list doesn't imply good hardware support. When thinking about buying a wheel don't rely solely on the information here.

Oversteer recognizes the following Logitech wheels which are supported by the default in-kernel module:

  • Wingman Formula GP
  • Wingman Formula Force GP
  • Driving Force / Formula EX
  • Driving Force Pro
  • Driving Force GT
  • Momo Force
  • Momo Racing Force
  • Speed Force Wireless
  • G25 Racing Wheel
  • G27 Racing Wheel
  • G29 Driving Force Racing Wheel (PS3 mode)
  • G920 Driving Force Racing Wheel
  • Logitech G923 for XBox (since Linux 6.3)
  • OpenFFBoard, (https://github.com/Ultrawipf/OpenFFBoard).

Wheels using the Logitech driver (except XBOX/PC versions) can get improved support using new-lg4ff, with more effects and features. Some games won't have full FFB without it.

The following wheels will need custom driver modules for FFB support. These drivers are still being worked on. (I'm NOT claiming they will fully work. Please, check the related projects for more information.):

These wheels are recognized but don't have driver support (Force Feedback and other features won't work):

  • Thrustmaster Force Feedback Racing Wheel
  • Thrustmaster TX Racing Wheel
  • Thrustmaster T500 RS
  • Thrustmaster T80
  • Thrustmaster Ferrari 458

Features

When supported by the device and the driver:

  • Change rotation range.
  • Change emulation/working modes.
  • Combine accelerator/brakes pedals for games that use just one axis.
  • Change autocentering force strength.
  • Change force feedback gain.
  • Device configuration profiles.
  • Overlay window to display/configure range.
  • Use wheel buttons to configure range.
  • Hardware performance testing.
  • Combine accelerator/clutch pedals. Useful for flight simulators. (Not supported with in-kernel modules)
  • Change global force feedback gain. (Not supported with in-kernel modules)
  • Change each conditional force feedback effect type gain. (Not supported with in-kernel modules)
  • FFBmeter to monitor FFB clipping using wheel leds or overlay window. (Not supported with in-kernel modules)

Installation

Packaging status

Arch

User DNModder has created an AUR package. Install following the Arch Wiki instructions.

Gentoo

User gripped has created a Gentoo ebuild.

Other distributions

Requirements

Install all dependencies on Debian systems with the following command:

apt install python3 python3-distutils python3-gi python3-gi-cairo python3-pyudev python3-xdg python3-evdev gettext meson appstream-util desktop-file-utils python3-matplotlib python3-scipy

Install all dependencies on Fedora systems with the following command:

dnf install python3 python3-distutils-extra python3-gobject python3-pyudev python3-pyxdg python3-evdev gettext meson appstream desktop-file-utils python3-matplotlib-gtk3 python3-scipy

Install all dependencies on OpenSUSE systems with the following command:

zypper in python3 python3-distutils-extra python3-gobject python3-pyudev python3-pyxdg python3-evdev meson AppStream desktop-file-utils python3-matplotlib-gtk3 python3-scipy gettext-tools

For other distributions, use your package manager to find and install the equivalent packages.

Permissions

Accessing the wheel settings requires some permissions.

Oversteer will automatically install udev rules to grant these permissions to any user in the system after a reboot.

By default, the udev rules will be installed at /usr/local/lib/udev/rules.d when installing to prefix /usr/local or /lib/udev/rules.d when installing to any other prefix. The location can be changed using meson option udev_rules_dir but it shouldn't be required except maybe for packagers.

Older rules might be already installed at /etc/udev/rules.d or /lib/udev/rules.d. You may need to remove these files manually in case you're experiencing issues with permissions.

The installed udev rules files will have these names:

  • 99-fanatec-wheel-perms.rules
  • 99-logitech-wheel-perms.rules
  • 99-thrustmaster-wheel-perms.rules

Build and install

Start by downloading Oversteer and change your working directory to it. It could be a release package or the master branch.

git clone https://github.com/berarma/oversteer.git
cd oversteer

Prepare build system:

meson build
cd build

Installing (needs administration rights):

ninja install

A reboot will be needed to reload the newly installed udev rules. Alternatively, running the command udevadm control --reload-rules && udevadm trigger will do the same.

Uninstalling

Run these commands inside the project directory to uninstall:

cd build
ninja uninstall

Updating

To avoid leaving old files behind, it's recommended to always uninstall the old version first, then install the new version.

Follow the uninstall instructions for the old version, then follow the install instructions for the new version.

Using it

Oversteer can be launched as any desktop application. It doesn't need to be running for the settings to remain changed, but some features require it.

It can also be used from the console to change wheel settings. Run oversteer --help to see the command line help.

Leillo1975 has kindly created a video explaining the basics of Oversteer (Spanish).

Using it as a companion app to your games

You can configure game launchers to run Oversteer and load a profile or change settings so that it automatically configures the wheel when the game runs. When the game exits the app will close too. Please, refer to the command line help for more info.

It can also stop before the game runs so you can change some settings manually each time. This can be done from the command line or from a setting in the UI.

An example that would work for any Steam game would be:

oversteer -p myprofile -g "%command%"

Known issues

  • Most drivers don't support Global Gain and Autocenter settings, only new-lg4ff for now. The Linux API is used instead when they aren't available. If this happens, Oversteer has to reset their values everytime it starts. Also, games will be able to override these settings.

Updating translations (for translators)

From the project root directory:

ninja oversteer-pot
ninja oversteer-update-po

Contributing

We could all greatly benefit from your help as with any other free software project.

Reports about what works and what not on different devices and systems are very welcome. You can also help by contributing specific notes for your distro, or doing the packaging work and everything else.

Disclaimer

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.

oversteer's People

Contributors

albfan avatar ananace avatar atzufuki avatar berarma avatar bluemancz avatar cazzoo avatar fuzunspm avatar gripped avatar jackun avatar jinnko avatar jo5huajohn avatar kami911 avatar kimplul avatar mitaa avatar mmarusiak avatar projectsynchro avatar s3rg3 avatar spikerguy avatar termuellinator avatar tgurr avatar totalcaesar659 avatar yassineimounachen avatar zrtmwrjqxcjbqblimbymceuw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

oversteer's Issues

Can't resize application.

I just upgraded oversteer and installed new-lg4ff and I can't resize the application. The maximize button doesn't work right (it makes the vertical size larger than the display) and I can't make the application smaller by grabbing the corners or edges. The initial size is taller than the display so the bottom is always cut off.

There also seems to be a dead band for the steering display when centered.

I'm running ubuntu 18.04 with an ultra wide display.

Should I have uninstalled the old version before installing the newer one? Uninstalling and installing the new version doesn't help.

Does not find Wheel without sudo

Oversteer does not find the wheel without sudo.
Plus after changing some settings and reinstalling windows, in windows 10 it was detected as gt driving force - different wheel. I never had that before, using that g27 for almost ten years now. i had to manually force the g27 driver in windows to fix this. So something might be wrong here.

using the package from the aur under arch linux.

Axes don't reach the end/is there a way to calibrate?

Recording-2021-06-29_12.06.06.mp4

Using a Logitech WingMan Formula Force GP, the axes don't reach the end. Because of this, I can't fully accelerate in ETS2 (I can only accelerate slowly)

On Windows I could fix this by calibrating the wheel in the Logitech software, but I couldn't find a calibration option anywhere in Oversteer

G920 Problems

Hello,

I seem to face a couple problems on my G920.
Firstly, the "tests" does not work properly, after the 2 initial tests, the third one (Steps measure) fails with "Steering wheel not responding." error.
Secondly, there seems to be a big problem with inverted pedals, as G920 works as inverted by default, some games (like F1 2020) makes the brake pedal (in my case) always be at 100%. Not sure if this is a game issue or if there's an option in the driver to flip it around as the game does not allow me to change the inverted status. Further, when remapped to any other pedal the brake simply doesn't work (although i can see it work on oversteer). Similar inverted behavior can be found in other games, but most have an option to "invert" the pedal which resolves the issue.

Any help would be appreciated.
Thank you

Edit: I do realize the second issue could be related to Proton as well, or F1 being wonky however, from protondb it would appear that most people have no issues with both G920 and G29. Maybe new update (F1) broke something? Really confused about this.

How to launch oversteer profile with a steam game?

Hello,

Nice software ! I already configured a profile for F1 2019 but unfortunately I can't launch the game with a profile.

Tried GUI ON and launching the game with steam, the (broken) managing of FFB of the game takes command

Tried in launch options /usr/local/bin/oversteer -p F12019 %command% , the game is not starting

Tried /usr/local/bin/oversteer -p F12019 -- %command% and it's not launching too.

Can we have additional information to launch the game with oversteer profile active?

pidals are maped wrongly

the application show that i press brake while in reality i am pressing throttle and for clutch for brake and so on
i have g920 on popos 20.04

G923 support

Hi,

I was wondering if the new Logitech G923 wheel could also be supported or if you know if Linux kernel drivers for this wheel are planned? I know this isn't really a question about Oversteer, but couldn't find any info on driver development and you probably do know where to find this information (i'm on a debian-based distro).

I thought it would be supported out of the box, but alas it seems like it´s too different from the G92/920.

Thank you for any info you might have.

Saving a profile resets everything

I can confirm the problem.
I Just updated from 0.4.1 to 0.5.0 and Profiles doesnt work anymore.
Changes will take effect, but clicking the 'save' button will reset everything.
Back on 0.4.1 everythings fine.

One Question:
Where is the storage location of the profiles?

Thanks for your great work.
I love it.

Helge

Originally posted by @Helge102 in #28 (comment)

T300RS range can't be set to 1080°

The UI shows 1080° degrees, but the slider can't be pulled up higher than 900°. Fiddling around with main.ui I figured out that changing line 578, <property name="fill-level">90</property> to <property name="fille-level">108</property> fixes the issue for me, but I don't know if it affects wheels that can only go up to 900°.

No autocenter on rFactor 2

Whenever I plug in my G29 and load a profile on Oversteer, I need to manually change the autocenter strength to get it to "bite", so the wheel feels firm and tries to stay centered. Then I am usually able to load the game and everything is fine.

However, things don't work as well when playing rFactor 2. I load the game and everything seems fine up until I get on the cockpit. Then the wheel feels flimsy again and going back to Oversteer just repeats the whole process. Other FFB effects seem fine, although a bit too mild.

Running Endeavour OS (Arch-based) with the new-lg4ff-dkms-git package installed. Also tried running Oversteer with sudo, but it doesn't make a difference.

Application won't start

When I try to start oversteer with the --gui or -g options, I am getting this error:

Traceback (most recent call last):
  File "/usr/local/bin/oversteer", line 51, in <module>
    sys.exit(app.run(sys.argv))
  File "/usr/lib/python3.8/site-packages/oversteer/application.py", line 106, in run
    Gui(self)
  File "/usr/lib/python3.8/site-packages/oversteer/gui.py", line 70, in __init__
    self.ui = GtkUi(self)
  File "/usr/lib/python3.8/site-packages/oversteer/gtk_ui.py", line 20, in __init__
    Gtk.StyleContext.add_provider_for_screen(
TypeError: Argument 0 does not allow None as a value

From CLI with parameters it seems to be working though ... for example the --list command works

csaba@csaba-pc:~/Personal/oversteer> oversteer --list
Devices found:
  /dev/input/event8: Logitech G29 Driving Force Racing Wheel

Also, if I try to set some value, it says I should copy a file to get udev permissions, but it doesn't specify the file's name and path.

csaba@csaba-pc:~/Personal/oversteer> oversteer --range 300 /dev/input/event8
You don't have the required permissions to change your wheel settings. You can fix it yourself by copying the {} file to the /usr/local/share/oversteer/udev/99-logitech-wheel-perms.rules directory and rebooting.

Notes:

  1. I am using OpenSuse Thumbleweed
  2. The weel works without issues in games like DiRT Rally 2 through Steam and Proton
  3. I tried fftest and it works
  4. I tried using pyLinuxWheel and it works (however I have issues with that application not displaying fonts at all).

1080° Range Support for Thrustmaster 300RS

Hi, thanks for your work on Oversteer. Now that Oversteer also supports TM 300RS wheels and these wheels are 1080°, it would be nice to have an option to select wheel's full range. Currently the range slider maxes out at 900°.

Doesn't Launchwith Logitech G920 on Arch Linux

xpander@arch ~ $ lsusb
Bus 001 Device 005: ID 046d:c262 Logitech, Inc. 

Launching without root access gives me:

Traceback (most recent call last):
  File "./oversteer.py", line 10, in <module>
    from wheels import Wheels
  File "/home/xpander/Build_Projects/oversteer-master/wheels.py", line 4, in <module>
    import pyudev
ModuleNotFoundError: No module named 'pyudev'

Launching with gksudo draws a small window for a less than second and then quits, without any errors shown in the terminal.

0.6.0 core dumped

Trying to install/run oversteer core dumps after a delay of some seconds on my machine. I have no clue where to start searching (first time I actually see a Python core dump). Attached is a log, I hope it can be of any use to find the root cause.

oversteer-604003-gdb.log

Remapping wheel axis and buttons (cobine accelerator + clutch / brake to diffrent axes)

i don't know if this is the only scenario, but on dethkarz (an old '90s game) the only detected axe is the clutch for both acceleration and braking, so combining accelerator + clutch into accelerator leaves me with no usable pedals, if i could combine accelerator + clutch into clutch it would work flawlessly (almost, braking would still be the clutch, but i can live with that)
cheers and happy new year

Clicking "Save As" for a new profile results in error

Save As button doesn't seem to work. Profiles are not saved.
When I click the button I see this error in the console:

Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/oversteer/gtk_ui.py", line 484, in on_save_profile_as_clicked
    self.gui.save_profile_as(profile_name)
  File "/usr/lib/python3.8/site-packages/oversteer/gui.py", line 252, in save_profile_as
    self.save_profile(profile_file)
  File "/usr/lib/python3.8/site-packages/oversteer/gui.py", line 239, in save_profile
    profile.set_ffbmeter_overlay(self.ui.get_ffbmeter_overlay())
  File "/usr/lib/python3.8/site-packages/oversteer/profiles.py", line 69, in set_ffbmeter_overlay
    self.set('ffbmeter_overlay', int(state))
TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'

PS: I am on the gdkfix branch.

command line options?

Depending on the game, I would like to apply different settings to the wheel. So it would be very convenient if this could be done automatically with a script before the game starts.

Does oversteer support changing wheel settings by command line? If so, where can I find the documentation? If not, would you consider adding this feature to your tool?

Unable to do permissions fix

Everything seemed to install and run fine until I got asked about the permissions thing. I clicked OK to fix it for me which ended up failing. When I tried doing it manually, it turns out that /usr/local/share/oversteer/udev didn't even exist in the first place to make the change. When I press cancel, it does detect all my inputs though.

Using Ubuntu 21.04 with Logitech G29 + H-Shifter.

Loading profile on steam game launch

Hi,

First of all thank you very much for this awesome software. It really works without an issue.

My only issue here is about mentioned line in Readme file:

You can configure game launchers to run oversteer to load a profile or change settings so that it automatically configures the wheel when the game runs.

But I couldn't find it from --help on how to do this for steam games. I have a profile named "gg" and i want to load it as soon as i launch Assetto Corsa Comp. on steam (via proton). I tried oversteer -p gg but that didn't work

Thanks

Changing language to English assumes en_US (and that the other selectable languages locale's are generated)

Hi

Great program. And new-lg4ff as well. Fantastic work.

Just looking around the gui I changed the language in the preferences to English.
Next time I tried to start the program

Traceback (most recent call last):
  File "/usr/local/lib64/python3.6/site-packages/oversteer/gui.py", line 340, in save_preferences
    locale.setlocale(locale.LC_ALL, (language, 'UTF-8'))
  File "/usr/lib64/python3.6/locale.py", line 598, in setlocale
    return _setlocale(category, locale)
locale.Error: unsupported locale setting

Found the config file and saw

locale = en_US

Changing that to en_GB, or back to nothing, allowed the program to start.
I don't have en_US.
Very minor problem. I almost didn't report it. But then decided you'd probably rather know. If you don't already?

This is on Gentoo btw. At some point I'll try and make ebuilds for both new-lg4ff and oversteer.
Do you have any intention of getting the driver accepted into the kernel ?
Thanks

Fails to detect wheel if there are other joystick devices

Oversteer does not detect my G29 because I have a number of joystick devices (HOTAS and gamepad) that are listed before it during device enumeration. The fix is straightforward:

diff --git a/oversteer/device_manager.py b/oversteer/device_manager.py
index aab6202..5fbb1b2 100644
--- a/oversteer/device_manager.py
+++ b/oversteer/device_manager.py
@@ -77,7 +77,7 @@ class DeviceManager:
         for udevice in context.list_devices(subsystem='input', ID_INPUT_JOYSTICK=1):
             usb_id = str(udevice.get('ID_VENDOR_ID')) + ':' + str(udevice.get('ID_MODEL_ID'))
             if usb_id not in self.supported_wheels:
-                return
+                continue
             self.update_device_list(udevice)
 
         logging.debug('Devices:' + str(self.devices))

Wrong number type when changing master gain on Ubuntu 20.04

When changing autocentering or gain values, Python spits out

Traceback (most recent call last):
  File "/home/kimi/Documents/oversteer/oversteer/gtk_handlers.py", line 101, in on_autocenter_value_changed
    self.model.set_autocenter(autocenter)
  File "/home/kimi/Documents/oversteer/oversteer/model.py", line 154, in set_autocenter
    self.device.set_autocenter(value * 65535 / 100)
  File "/home/kimi/Documents/oversteer/oversteer/device.py", line 191, in set_autocenter
    input_device.write(ecodes.EV_FF, ecodes.FF_AUTOCENTER, int(autocenter))
ValueError: invalid literal for int() with base 10: '0.0'

The latest commit that still worked was d257e70, and the fix seems to be to just replace value * 65535 / 100 on lines 146 and 154 in model.py with int(value * 65535 / 100). No clue why it doesn't work on Ubuntu, but does work on Debian.

EDIT: Sorry, got mixed up, the first commit that causes these errors is d257e70.

TypeError: 'NoneType' object is not iterable

Python 3.9 spits out this error when I run Oversteer with the T300RS wheel:

Traceback (most recent call last):
  File "/home/kimi/Documents/Projects/oversteer/oversteer/gtk_handlers.py", line 53, in on_device_changed
    self.controller.change_device(device_id)
  File "/home/kimi/Documents/Projects/oversteer/oversteer/gui.py", line 181, in change_device
    self.ui.set_modes(self.model.get_mode_list())
  File "/home/kimi/Documents/Projects/oversteer/oversteer/gtk_ui.py", line 249, in set_modes
    for key, values in enumerate(modes):
TypeError: 'NoneType' object is not iterable

This issue seems to have originated in 778d277.

G920 Help

Hi,
sorry, this is not the right place to ask.

Can somebody help me to get work my G920 on Ubuntu 20.04?
I have connected it, the led blink. but nothing happened, also in oversteer. The device will be shown in the app.

ls -lR /dev/input/

/dev/input/:
crw-rw---- 1 root input 13, 87 aug 5 21:55 event2
crw-rw-r--+ 1 root input 13, 0 aug 5 21:55 js0

/dev/input/by-id:
lrwxrwxrwx 1 root root 9 aug 5 21:55 usb-Logitech_G920_Driving_Force_Racing_Wheel_for_Xbox_One_000024a0dc026cf0-event-joystick -> ../event2
lrwxrwxrwx 1 root root 6 aug 5 21:55 usb-Logitech_G920_Driving_Force_Racing_Wheel_for_Xbox_One_000024a0dc026cf0-joystick -> ../js0

/dev/input/by-path:
lrwxrwxrwx 1 root root 9 aug 5 21:55 pci-0000:00:16.0-usb-0:2:1.0-event-joystick -> ../event2
lrwxrwxrwx 1 root root 6 aug 5 21:55 pci-0000:00:16.0-usb-0:2:1.0-joystick -> ../js0

Thanks a lot for the help !!! :)

Application doesn't start under Garuda Linux

Hi, I've installed Oversteer with Garuda Gamer application, all dependencies are satisfied, but launching under the GUI the application doesn't start, and if I try to launch it from the terminal it shows this output:
╰─λ sudo oversteer -gui
Traceback (most recent call last):
File "/usr/bin/oversteer", line 49, in
from oversteer.application import Application
File "/usr/lib/python3.9/site-packages/oversteer/application.py", line 8, in
from xdg.BaseDirectory import *
ModuleNotFoundError: No module named 'xdg.BaseDirectory'

I also tried to install libxdg-basedir 1.2.0-5 but the output is the same.

any clue?

Thanks

Disable oversteer option

Hello,

Is it possible to disable oversteer (or only run it for specific games)?

The reason I asked is, I used oversteer to lock steering wheel (g29) tot 270 degrees for Need For Speed Underground 2 and heavily modified FFB settings. But if I close oversteer application and start Euro Truck Simulator 2 for example in which the g29 worked perfectly before I installed oversteer everything is now locked to configured settings for NFS UG2. I only wanted to configure that game not fuckup ever other game.

Otherwise this is an awesome addition for the wheel :)

Support for Fanatec Wheels / DD1

Hey,

i have a Fanatec DD1 Wheel with Formula V2 and Porsche GT3R.
I am helping here: gotzl/hid-fanatecff#9 to make the ffb working on linux. The wheel itself works.
Would be great if we could make your tool work for that device, too.

Regards

How to disable Deadzones?

This program seems to be great, but it seems to add a Deadzone for center of the steering wheel and the start of the pedals. I don't see a way to disable this and especially the steering wheel should never have a Deadzone.
Jstest-gtk isn't showing any configured Deadzone, only Oversteer does.

Bus error (core dumped)

Hello, just yesterday, this program worked just fine, but today, when I came from school, I wanted to play American Truck Simulator, but I couldn't. When I open Oversteer from the normal program menu, it does nothing after clicked. When I try to run it with terminal, it says 'bus error (core dumped)' and doesn't run. I tried reinstalling and removing the dir, cloning and installing again. Please help! :-
Screenshot from 2021-05-21 13-30-41
(

Latest build does not run in Ubuntu 20.04

First off, thanks a bunch for this awesome application, love it to bits.
I downloaded and installed the latest build, but unfortunately I get the following errors when trying to run 'oversteer --gui' in Ubuntu 20.04:

Traceback (most recent call last):
File "/usr/local/bin/oversteer", line 53, in
sys.exit(app.run(sys.argv))
File "/usr/lib/python3.8/site-packages/oversteer/application.py", line 122, in run
Gui(self, model, argv)
File "/usr/lib/python3.8/site-packages/oversteer/gui.py", line 66, in init
self.load_preferences()
File "/usr/lib/python3.8/site-packages/oversteer/gui.py", line 254, in load_preferences
self.button_config[0] = list(map(int, config['DEFAULT']['button_toggle'].split(',')))
File "/usr/lib/python3.8/configparser.py", line 1254, in getitem
raise KeyError(key)
KeyError: 'button_toggle'

Using Logitech G27 with new-lg4ff. A previous build I had installed 9 months ago was working.

EDIT: OK I got it to work by following the suggestion to delete the config.ini file in .config/oversteer.

Swapped axis in Momo wheel

Submitted by @thcobl at #29:

i have it working now but in gui when i push accel i see the clutch and when i push brake i see accel

and every time i start oversteer it ask me again about udev rules

im using a logitech momo

Extra force feedback option not enabled after new-lg4ff is installed

Hi again,
I installed new-lg4ff from a RPM made for my distribution (OpenSuse) from this link: https://download.opensuse.org/repositories/home:/regataos/openSUSE_Tumbleweed/x86_64/

The module seems to be installed based on dkms output. Can I check anything else?

csaba-pc:/home/csaba/Personal # dkms status
new-lg4ff, 0.3.1, 5.8.2-1-default, x86_64: installed (original_module exists)

However, in Oversteer, on the Force Feedback tab I have only the first two options enabled, just like before.
Screenshot_20200917_113554

Did I miss something or is it a bug?

[Feature request] Shift LED options

Found this which can interface with the wheel and LEDs

https://github.com/nightmode/logitech-g29

Ideally they would work in games but mapping them to other inputs is the next best thing.

Would it be possible to maybe have a section in oversteer to map the LEDs to another input? (In the example above they were mapped to the throttle axis)

As a side note: There apparently was a program to make the LEDs work in games but the link is dead and the file is nowhere to be seen https://steamcommunity.com/groups/linuxff/discussions/0/2119355556493928179/

Installing on Fedora fails

ninja -C build install fails on Fedora 33.
It installs all the files into /usr/lib/python3.9/site-packages/, but then it tries Listing '/usr/local/lib/python3.9/site-packages/oversteer'... and fails. Note that the directories differ. After copying the files manually it works.

Trying to combine pedals for Logitech WingMan Formula GP

Hi!

I'm trying to configure my "old" racing wheel formula gp. I'm on EndeavourOS for now. I installed Oversteer from the AUR and apparently is working, but I don't understand why the combine pedals option on one axis is greyed out, I can't change anything.

Well, I would to try this option to play another "old" game, ColinMcRae Dirt (first version), and in game the pedals only appears in digital mode, I configure brake and gas, and seems a normal button of gamepad, not an analogic axis.
What I can do to solve this problem? I can't found any info for this issue.

Thanks in advance.

Logitech WingMan Formula Force GP not supported

Hi!

Title says it all.. :) Force GP is not detected, and as I read the README it's not on the list of supported devices.

The wheel is supported by kernel, and also by your new-lg4ff. :)

To make things more complicated, my wheel is actually a Momo Force which has it's controller chip replaced from Force GP. More details on this insanity at https://zuikk.is/momo/start

Anyway on software side it should be exactly as Force GP, except perhaps slightly different ranges on the pedals.

Listing devices does not work with latest

Oversteer calls DeviceManager.list_devices() which no longer exists.

kaixiong@XXX:~/Documents/sources/oversteer$ oversteer --list
Traceback (most recent call last):
  File "/usr/local/bin/oversteer", line 51, in <module>
    sys.exit(app.run(sys.argv))
  File "/usr/lib/python3.8/site-packages/oversteer/application.py", line 63, in run
    device_list = device_manager.list_devices()
AttributeError: 'DeviceManager' object has no attribute 'list_devices'

G920 not recognized

Hello! I know this might not be the best place but i really dont know where to ask for help.

I cant make usb_modeswitch to automatically switch the wheel's mode. I can make it work by running
sudo usb_modeswitch -c /etc/usb_modeswitch.d/046d:c261

But i would love this to be automatically. I have created the udev and the modeswitch rule for the wheel but it wont do it automatically.

If you know a better place to ask for help, please let me know.

Thank you!

Fedora needs python3-matplotlib-gtk3

Hi there,
Just FYI, on Fedora 31, the package python3-matplotlib-gtk3 is needed to be installed for the app to run. I suppose the instructions need this added.

Thanks,
-Pat

Thrustmaster T300 RS T2PA pedals incorrectly showing up as Clutch and Brake

(Related to Kimplul/hid-tmff2#24, since Oversteer is manually remapping the pedals for this wheel in a way that looks incorrect)

This commit introduced the re-mapping for the TM_T300RS, although from looking at the linked issue (#40) the change seems to have been made to fix an issue with a Logitech Momo wheel, it's not clear to me if the T300 RS was tested at the time.

Oversteer seems to normalize the pedal codes like so:

  • ABS_Y -> accelerator
  • ABS_Z -> brake
  • ABS_RZ -> clutch

On my T300 RS with T2PA pedals the brake is ABS_Y and the throttle is ABS_RZ.

Which means for the for the T300 RS with T2PA pedals device.py should do ABS_Y -> ABS_Z and ABS_RZ -> ABS_Y, although I don' t know if it would cause issues for people using other pedals with the same weel:

-           elif self.usb_id in [self.device_manager.LG_G25, self.device_manager.LG_G27, self.device_manager.LG_G29, self.device_manager.TM_T300RS]:
+           elif self.usb_id in [self.device_manager.LG_G25, self.device_manager.LG_G27, self.device_manager.LG_G29]:
                if event.code == ecodes.ABS_Y:
                    event.code = ecodes.ABS_RZ
                elif event.code == ecodes.ABS_Z:
                    event.code = ecodes.ABS_Y
                elif event.code == ecodes.ABS_RZ:
                    event.code = ecodes.ABS_Z
+           elif self.usb_id in [self.device_manager.TM_T300RS]:
+               if event.code == ecodes.ABS_Y:
+                   event.code = ecodes.ABS_Z
+               elif event.code == ecodes.ABS_Z:  # Doesn't exist with T2PA, not sure if this is how the clutch shows up
+                   event.code = ecodes.ABS_RZ
+               elif event.code == ecodes.ABS_RZ:
+                   event.code = ecodes.ABS_Y

Logitech Wheel 923 doesn't show as an option in Oversteer

I am running Ubuntu 18.04.5 and installed Oversteer. After a reboot and running Oversteer with my G923 wheel plugged in, it's not detected as an option in the Oversteer dropdown selection box. I checked in HWINFO for the Logitech wheel and it does show up. Am I missing something and this should work, or can someone add support for the G923? From my understanding it should be compatible with all G29/G920 functions. I can test if a change is made.
Here is the info from my Linux HWINFO list.

89: USB 00.0: 0000 Unclassified device
[Created at usb.122]
Unique ID: Uc5H.W3ivzdKOzY1
Parent ID: k4bc.029GFTetOb3
SysFS ID: /devices/pci0000:00/0000:00:01.3/0000:03:00.0/usb1/1-4/1-4:1.0
SysFS BusID: 1-4:1.0
Hardware Class: unknown
Model: "Logitech G923 Racing Wheel for Xbox One and PC"
Hotplug: USB
Vendor: usb 0x046d "Logitech, Inc."
Device: usb 0xc26d "G923 Racing Wheel for Xbox One and PC"
Revision: "39.01"
Serial ID: "0000f2b79b162e71"
Speed: 12 Mbps
Module Alias: "usb:v046DpC26Dd3901dcFFdscFFdpFFicFFisc47ipD0in00"
Config Status: cfg=new, avail=yes, need=no, active=unknown
Attached to: #88 (Hub)

Can't save profiles

I have errors while saving profiles (Gentoo python 3.7)

Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/oversteer/gtk_ui.py", line 483, in on_save_profile_as_clicked
    self.gui.save_profile_as(profile_name)
  File "/usr/lib/python3.7/site-packages/oversteer/gui.py", line 251, in save_profile_as
    self.save_profile(profile_file)
  File "/usr/lib/python3.7/site-packages/oversteer/gui.py", line 237, in save_profile
    profile = Profile(self.device.save_settings())
  File "/usr/lib/python3.7/site-packages/oversteer/profiles.py", line 8, in __init__
    self.import_settings(data)
  File "/usr/lib/python3.7/site-packages/oversteer/profiles.py", line 36, in import_settings
    self.config['DEFAULT'] = {**self.config['DEFAULT'], **data}
  File "/usr/lib/python3.7/configparser.py", line 971, in __setitem__
    self.read_dict({key: value})
  File "/usr/lib/python3.7/configparser.py", line 753, in read_dict
    self.set(section, key, value)
  File "/usr/lib/python3.7/configparser.py", line 1197, in set
    self._validate_value_types(option=option, value=value)
  File "/usr/lib/python3.7/configparser.py", line 1182, in _validate_value_types
    raise TypeError("option values must be strings")
TypeError: option values must be strings

[Feature request] Combine any axis

Hi,
Not an issue but I don't know where to post this.
Would it be possible to introduce a function to combine any axis?
For instance it would be nice to be able to use clutch and gas to simulate rudder pedals as the brake is to stiff for this.
Thanks for your great program !

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.