(linux newbie) Followed all the steps and restarted my computer but Oversteer still says that it still needs permissions.
bugerkin opened this issue · 8 comments
Steering wheel: Logitech Driving force
Linux distro: linux mint 21.3
Oversteer version: 81
I'm not sure if there's any logs that I would need to give but I'm happy to give them upon request with commands.
Oversteer does recognize my steering wheel but I can't calibrate it because I don't have permission.
How did you install?
Also, you can run oversteer --debug in a terminal and paste the console output here.
I Downloaded all the dependencies that I would need via "sudo apt install (dependencies)" then I build and installed the program using the instructions in the README on the github page.
Log:
DEBUG:root:update_device_list: /devices/pci0000:00/0000:00:08.1/0000:11:00.4/usb5/5-1/5-1.2/5-1.2:1.0/0003:046D:C294.0006/input/input16/event14 /dev/input/event14
DEBUG:root:/dev/input/event14: ID_VENDOR_ID: 046d ID_MODEL_ID: c294
DEBUG:root:Devices: {'/devices/pci0000:00/0000:00:08.1/0000:11:00.4/usb5/5-1/5-1.2/5-1.2:1.0/0003:046D:C294.0006/input/input16/event14': <oversteer.device.Device object at 0x7fb727239600>}
DEBUG:root:/devices/pci0000:00/0000:00:08.1/0000:11:00.4/usb5/5-1/5-1.2/5-1.2:1.0/0003:046D:C294.0006/input/input16/event14: {'device_manager': <oversteer.device_manager.DeviceManager object at 0x7fb7273c88e0>, 'input_device': None, 'id': '/devices/pci0000:00/0000:00:08.1/0000:11:00.4/usb5/5-1/5-1.2/5-1.2:1.0/0003:046D:C294.0006/input/input16/event14', 'vendor_id': '046d', 'product_id': 'c294', 'usb_id': '046d:c294', 'dev_path': '/sys/devices/pci0000:00/0000:00:08.1/0000:11:00.4/usb5/5-1/5-1.2/5-1.2:1.0/0003:046D:C294.0006', 'dev_name': '/dev/input/event14', 'name': 'Logitech Logitech Driving Force', 'ready': True, 'max_range': 270}
DEBUG:matplotlib:matplotlib data path: /usr/share/matplotlib/mpl-data
DEBUG:matplotlib:CONFIGDIR=/home/dan/.config/matplotlib
DEBUG:matplotlib:interactive is False
DEBUG:matplotlib:platform is linux
DEBUG:matplotlib:loaded modules: ['sys', 'builtins', '_frozen_importlib', '_imp', '_thread', '_warnings', '_weakref', '_io', 'marshal', 'posix', '_frozen_importlib_external', 'time', 'zipimport', '_codecs', 'codecs', 'encodings.aliases', 'encodings', 'encodings.utf_8', '_signal', '_abc', 'abc', 'io', 'main', '_stat', 'stat', '_collections_abc', 'genericpath', 'posixpath', 'os.path', 'os', '_sitebuiltins', 'types', 'importlib._bootstrap', 'importlib._bootstrap_external', 'warnings', 'importlib', 'importlib._abc', 'itertools', 'keyword', '_operator', 'operator', 'reprlib', '_collections', 'collections', '_functools', 'functools', 'contextlib', 'importlib.util', 'importlib.machinery', 'mpl_toolkits', 'apport_python_hook', 'sitecustomize', 'site', 'enum', 'signal', '_sre', 'sre_constants', 'sre_parse', 'sre_compile', '_locale', 'copyreg', 're', 'locale', 'oversteer', 'gettext', 'argparse', 'token', 'tokenize', 'linecache', 'traceback', '_weakrefset', 'weakref', 'collections.abc', '_string', 'string', 'threading', 'atexit', 'logging', 'errno', 'fcntl', '_posixsubprocess', 'select', 'math', 'selectors', 'subprocess', 'future', '_struct', 'struct', 'six', 'pyudev._errors', '_datetime', 'datetime', 'six.moves', 'pyudev._util', 'pyudev.device._device', 'pyudev.device', 'pyudev.discover', '_ctypes', 'ctypes._endian', 'ctypes', 'pyudev._ctypeslib._errorcheckers', 'pyudev._ctypeslib.libc', 'pyudev._ctypeslib.libudev', 'pyudev._ctypeslib', 'fnmatch', 'zlib', '_compression', '_bz2', 'bz2', '_lzma', 'lzma', 'shutil', '_bisect', 'bisect', '_random', '_sha512', 'random', 'tempfile', 'ctypes.util', 'pyudev._ctypeslib.utils', 'pyudev.core', 'pyudev._os.pipe', 'pyudev._os.poll', 'pyudev._os', 'pyudev.monitor', 'pyudev.version', 'pyudev', 'evdev._input', '_ast', 'ast', '_opcode', 'opcode', 'dis', 'inspect', 'evdev._ecodes', 'evdev.ecodes', 'glob', 'evdev.events', 'evdev.util', 'concurrent', 'concurrent.futures._base', 'concurrent.futures', '_heapq', 'heapq', '_socket', 'array', 'socket', '_ssl', 'binascii', 'base64', 'ssl', 'asyncio.constants', 'asyncio.format_helpers', 'asyncio.base_futures', 'asyncio.log', 'asyncio.coroutines', '_contextvars', 'contextvars', 'asyncio.exceptions', 'asyncio.base_tasks', '_asyncio', 'asyncio.events', 'asyncio.futures', 'asyncio.protocols', 'asyncio.transports', 'asyncio.sslproto', 'typing.io', 'typing.re', 'typing', 'asyncio.mixins', 'asyncio.tasks', 'asyncio.locks', 'asyncio.staggered', 'asyncio.trsock', 'asyncio.base_events', 'asyncio.runners', 'asyncio.queues', 'asyncio.streams', 'asyncio.subprocess', 'asyncio.threads', 'asyncio.base_subprocess', 'asyncio.selector_events', 'asyncio.unix_events', 'asyncio', 'evdev._uinput', 'evdev.eventio', 'evdev.eventio_async', 'evdev.device', 'evdev.ff', 'evdev.uinput', 'evdev', 'grp', 'pwd', 'oversteer.wheel_ids', 'oversteer.device', 'oversteer.device_manager', 'configparser', 'oversteer.model', 'ntpath', 'urllib', 'urllib.parse', 'pathlib', 'xdg.BaseDirectory', 'xdg', 'oversteer.application', 'encodings.unicode_escape', 'oversteer.gui', '_csv', 'csv', 'pkgutil', 'gi._error', 'gi._gi', 'gi._gobject', 'cairo._cairo', 'cairo', 'gi._gi_cairo', 'glib', 'gobject', 'gio', 'gtk', 'gtk.gdk', 'gi', 'gi._constants', 'gi.docstring', 'gi._propertyhelper', 'gi._signalhelper', 'gi.types', 'gi.module', 'gi.overrides', 'gi.importer', 'gi.repository', 'gi.repository.xlib', 'gi.repository.cairo', 'gi._ossighelper', 'textwrap', 'optparse', 'gi._option', 'gi.overrides.GLib', 'gi.repository.GLib', 'gi.overrides.GObject', 'gi.repository.GObject', 'gi.repository.HarfBuzz', 'gi.overrides.Pango', 'gi.repository.Pango', 'gi.overrides.Gio', 'gi.repository.Gio', 'gi.repository.GModule', 'gi.overrides.GdkPixbuf', 'gi.repository.GdkPixbuf', 'gi.repository.GdkX11', 'gi.overrides.Gdk', 'gi.repository.Gdk', 'gi.repository.Atk', 'gi._gtktemplate', 'gi.overrides.Gtk', 'gi.repository.Gtk', 'oversteer.gtk_handlers', 'oversteer.gtk_ui', 'numpy._globals', 'numpy.config', '_json', 'json.scanner', 'json.decoder', 'json.encoder', 'json', 'numpy._version', 'numpy._distributor_init', 'numpy.version', 'numpy.core._multiarray_umath', 'numpy.compat._inspect', '_compat_pickle', '_pickle', 'pickle', 'numpy.compat.py3k', 'numpy.compat', 'numpy.core.overrides', 'numpy.core.multiarray', 'numpy.core.umath', 'numbers', 'numpy.core._string_helpers', 'numpy.core._dtype', 'numpy.core._type_aliases', 'numpy.core.numerictypes', 'numpy.core._exceptions', 'numpy.core._methods', 'numpy.core.fromnumeric', 'numpy.core.shape_base', 'numpy.core._ufunc_config', 'numpy.core.arrayprint', 'numpy.core._asarray', 'numpy.core.numeric', 'numpy.core.defchararray', 'numpy.core.records', 'numpy.core.memmap', 'numpy.core.function_base', 'numpy.core.machar', 'numpy.core.getlimits', 'numpy.core.einsumfunc', 'numpy.core._multiarray_tests', 'numpy.core._add_newdocs', 'platform', 'numpy.core._add_newdocs_scalars', 'numpy.core._dtype_ctypes', 'numpy.core._internal', 'numpy._pytesttester', 'numpy.core', 'numpy.lib.mixins', 'numpy.lib.ufunclike', 'numpy.lib.type_check', 'numpy.lib.scimath', 'numpy.lib.stride_tricks', 'numpy.lib.twodim_base', 'numpy.linalg.lapack_lite', 'numpy.linalg._umath_linalg', 'numpy.linalg.linalg', 'numpy.linalg', 'numpy.matrixlib.defmatrix', 'numpy.matrixlib', 'numpy.lib.histograms', 'numpy.lib.function_base', 'numpy.lib.index_tricks', 'numpy.lib.nanfunctions', 'numpy.lib.shape_base', 'numpy.lib.polynomial', 'numpy.lib.utils', 'numpy.lib.arraysetops', 'numpy.lib.format', 'numpy.lib._datasource', 'numpy.lib._iotools', 'numpy.lib.npyio', 'numpy.lib.arrayterator', 'numpy.lib.arraypad', 'numpy.lib._version', 'numpy.lib', 'numpy.fft._pocketfft_internal', 'numpy.fft._pocketfft', 'numpy.fft.helper', 'numpy.fft', 'numpy.polynomial.polyutils', 'numpy.polynomial._polybase', 'numpy.polynomial.polynomial', 'numpy.polynomial.chebyshev', 'numpy.polynomial.legendre', 'numpy.polynomial.hermite', 'numpy.polynomial.hermite_e', 'numpy.polynomial.laguerre', 'numpy.polynomial', 'cython_runtime', '_cython_0_29_28', 'numpy.random._common', '_hashlib', '_blake2', 'hashlib', 'hmac', 'secrets', 'numpy.random.bit_generator', 'numpy.random._bounded_integers', 'numpy.random._mt19937', 'numpy.random.mtrand', 'numpy.random._philox', 'numpy.random._pcg64', 'numpy.random._sfc64', 'numpy.random._generator', 'numpy.random._pickle', 'numpy.random', 'numpy.ctypeslib', 'numpy.ma.core', 'numpy.ma.extras', 'numpy.ma', 'numpy', 'oversteer.test', 'oversteer.combined_chart', 'matplotlib', 'copy', 'dataclasses', 'pprint', 'packaging.about', 'packaging', 'packaging._structures', 'packaging.version', 'matplotlib._api.deprecation', 'matplotlib._api', 'matplotlib._version', 'gzip', 'shlex', 'matplotlib._c_internal_utils', 'matplotlib.cbook', 'matplotlib.docstring', 'PIL._version', 'PIL', 'PIL.ImageMode', 'PIL.TiffTags', 'PIL._binary', 'PIL._util', 'PIL._imaging', 'PIL.Image', 'PIL.ImageChops', 'PIL.ImageFile', 'PIL.GimpGradientFile', 'PIL.GimpPaletteFile', 'PIL.ImageColor', 'PIL.PaletteFile', 'PIL.ImagePalette', 'PIL.ImageSequence', 'PIL.PngImagePlugin', 'matplotlib._path', 'matplotlib.bezier', 'matplotlib.path', 'matplotlib.transforms', 'matplotlib.ticker', 'matplotlib.scale', 'matplotlib._color_data', 'matplotlib.colors', 'pyparsing', 'matplotlib.fontconfig_pattern', 'matplotlib._enums', 'cycler', 'matplotlib.rcsetup', 'matplotlib.ft2font', 'dateutil._version', 'dateutil', 'kiwisolver']
DEBUG:matplotlib:CACHEDIR=/home/dan/.cache/matplotlib
DEBUG:matplotlib.font_manager:Using fontManager instance from /home/dan/.cache/matplotlib/fontlist-v330.json
DEBUG:matplotlib.pyplot:Loaded backend TkAgg version unknown.
DEBUG:root:populate_devices
DEBUG:root:check_permissions: /sys/devices/pci0000:00/0000:00:08.1/0000:11:00.4/usb5/5-1/5-1.2/5-1.2:1.0/0003:046D:C294.0006
DEBUG:root:check_file_permissions mode: 0o664 user: root group: root file: /sys/devices/pci0000:00/0000:00:08.1/0000:11:00.4/usb5/5-1/5-1.2/5-1.2:1.0/0003:046D:C294.0006/range
DEBUG:root:flush_device
DEBUG:root:Setting autocenter strength: 0
DEBUG:root:Setting FF gain: 65535
DEBUG:root:flush_ui
DEBUG:root:update_device_list: /devices/pci0000:00/0000:00:08.1/0000:11:00.4/usb5/5-1/5-1.2/5-1.2:1.0/0003:046D:C294.0006/input/input16/event14 /dev/input/event14
DEBUG:root:/dev/input/event14: ID_VENDOR_ID: 046d ID_MODEL_ID: c294
DEBUG:root:Devices: {'/devices/pci0000:00/0000:00:08.1/0000:11:00.4/usb5/5-1/5-1.2/5-1.2:1.0/0003:046D:C294.0006/input/input16/event14': <oversteer.device.Device object at 0x7fb727239600>}
DEBUG:root:/devices/pci0000:00/0000:00:08.1/0000:11:00.4/usb5/5-1/5-1.2/5-1.2:1.0/0003:046D:C294.0006/input/input16/event14: {'device_manager': <oversteer.device_manager.DeviceManager object at 0x7fb7273c88e0>, 'input_device': None, 'id': '/devices/pci0000:00/0000:00:08.1/0000:11:00.4/usb5/5-1/5-1.2/5-1.2:1.0/0003:046D:C294.0006/input/input16/event14', 'vendor_id': '046d', 'product_id': 'c294', 'usb_id': '046d:c294', 'dev_path': '/sys/devices/pci0000:00/0000:00:08.1/0000:11:00.4/usb5/5-1/5-1.2/5-1.2:1.0/0003:046D:C294.0006', 'dev_name': '/dev/input/event14', 'name': 'Logitech Logitech Driving Force', 'ready': True, 'max_range': 270}
DEBUG:matplotlib:matplotlib data path: /usr/share/matplotlib/mpl-data
DEBUG:matplotlib:CONFIGDIR=/home/dan/.config/matplotlib
DEBUG:matplotlib:interactive is False
DEBUG:matplotlib:platform is linux
DEBUG:matplotlib:loaded modules: ['sys', 'builtins', '_frozen_importlib', '_imp', '_thread', '_warnings', '_weakref', '_io', 'marshal', 'posix', '_frozen_importlib_external', 'time', 'zipimport', '_codecs', 'codecs', 'encodings.aliases', 'encodings', 'encodings.utf_8', '_signal', '_abc', 'abc', 'io', 'main', '_stat', 'stat', '_collections_abc', 'genericpath', 'posixpath', 'os.path', 'os', '_sitebuiltins', 'types', 'importlib._bootstrap', 'importlib._bootstrap_external', 'warnings', 'importlib', 'importlib._abc', 'itertools', 'keyword', '_operator', 'operator', 'reprlib', '_collections', 'collections', '_functools', 'functools', 'contextlib', 'importlib.util', 'importlib.machinery', 'mpl_toolkits', 'apport_python_hook', 'sitecustomize', 'site', 'enum', 'signal', '_sre', 'sre_constants', 'sre_parse', 'sre_compile', '_locale', 'copyreg', 're', 'locale', 'oversteer', 'gettext', 'argparse', 'token', 'tokenize', 'linecache', 'traceback', '_weakrefset', 'weakref', 'collections.abc', '_string', 'string', 'threading', 'atexit', 'logging', 'errno', 'fcntl', '_posixsubprocess', 'select', 'math', 'selectors', 'subprocess', 'future', '_struct', 'struct', 'six', 'pyudev._errors', '_datetime', 'datetime', 'six.moves', 'pyudev._util', 'pyudev.device._device', 'pyudev.device', 'pyudev.discover', '_ctypes', 'ctypes._endian', 'ctypes', 'pyudev._ctypeslib._errorcheckers', 'pyudev._ctypeslib.libc', 'pyudev._ctypeslib.libudev', 'pyudev._ctypeslib', 'fnmatch', 'zlib', '_compression', '_bz2', 'bz2', '_lzma', 'lzma', 'shutil', '_bisect', 'bisect', '_random', '_sha512', 'random', 'tempfile', 'ctypes.util', 'pyudev._ctypeslib.utils', 'pyudev.core', 'pyudev._os.pipe', 'pyudev._os.poll', 'pyudev._os', 'pyudev.monitor', 'pyudev.version', 'pyudev', 'evdev._input', '_ast', 'ast', '_opcode', 'opcode', 'dis', 'inspect', 'evdev._ecodes', 'evdev.ecodes', 'glob', 'evdev.events', 'evdev.util', 'concurrent', 'concurrent.futures._base', 'concurrent.futures', '_heapq', 'heapq', '_socket', 'array', 'socket', '_ssl', 'binascii', 'base64', 'ssl', 'asyncio.constants', 'asyncio.format_helpers', 'asyncio.base_futures', 'asyncio.log', 'asyncio.coroutines', '_contextvars', 'contextvars', 'asyncio.exceptions', 'asyncio.base_tasks', '_asyncio', 'asyncio.events', 'asyncio.futures', 'asyncio.protocols', 'asyncio.transports', 'asyncio.sslproto', 'typing.io', 'typing.re', 'typing', 'asyncio.mixins', 'asyncio.tasks', 'asyncio.locks', 'asyncio.staggered', 'asyncio.trsock', 'asyncio.base_events', 'asyncio.runners', 'asyncio.queues', 'asyncio.streams', 'asyncio.subprocess', 'asyncio.threads', 'asyncio.base_subprocess', 'asyncio.selector_events', 'asyncio.unix_events', 'asyncio', 'evdev._uinput', 'evdev.eventio', 'evdev.eventio_async', 'evdev.device', 'evdev.ff', 'evdev.uinput', 'evdev', 'grp', 'pwd', 'oversteer.wheel_ids', 'oversteer.
I guess you're rebooting after installing. You should do it after install to reload udev rules.
If that didn't work, you can try installing the udev rules to /etc/udev/rules.d. Run the command meson configure -Dudev_rules_dir= build inside the Oversteer directory, then follow the install path again.
I guess after I put the logitech rules files in etc/udev/rules.d, Oversteer doesn't require permissions anymore.
Also is it possible to to make my pedals a bit sensitive because I can't press the gas all the way down in ETS2.
I guess after I put the logitech rules files in
etc/udev/rules.d, Oversteer doesn't require permissions anymore.Also is it possible to to make my pedals a bit sensitive because I can't press the gas all the way down in ETS2.
No. Can't you do it inside the game?
Yeah I can but still it doesn't max out the gas in ETS2. Is there a program that would allow me to do this?
Hey im also having issues with the permissions.
During the install the rules were installed to /usr/local/lib/udev/rules.d and on launching oversteer after a reboot I get the permissions error.
I have moved the rules file to /etc/udev/rules.d and still I receive the same permission denied error when launching oversteer.
I initially moved the file to /etc/udev/rules.d using nano though this did not fix it so I went back and tried as advised above meson configure -Dudev_rules_dir= build and followed the install again though is has not resolved the issue.
Im sure its something daft as im also new to linux, any help would be appreciated thanks.
debug report below:
versteer --debug
DEBUG:root:update_device_list: /devices/pci0000:00/0000:00:08.1/0000:0b:00.3/usb3/3-3/3-3.4/3-3.4:1.0/0003:044F:B66E.000E/input/input14/event13 /dev/input/event13
DEBUG:root:/dev/input/event13: ID_VENDOR_ID: 044f ID_MODEL_ID: b66e
DEBUG:root:Devices: {'/devices/pci0000:00/0000:00:08.1/0000:0b:00.3/usb3/3-3/3-3.4/3-3.4:1.0/0003:044F:B66E.000E/input/input14/event13': <oversteer.device.Device object at 0x783aafdab920>}
DEBUG:root:/devices/pci0000:00/0000:00:08.1/0000:0b:00.3/usb3/3-3/3-3.4/3-3.4:1.0/0003:044F:B66E.000E/input/input14/event13: {'device_manager': <oversteer.device_manager.DeviceManager object at 0x783aafdabaa0>, 'input_device': None, 'id': '/devices/pci0000:00/0000:00:08.1/0000:0b:00.3/usb3/3-3/3-3.4/3-3.4:1.0/0003:044F:B66E.000E/input/input14/event13', 'vendor_id': '044f', 'product_id': 'b66e', 'usb_id': '044f:b66e', 'dev_path': '/sys/devices/pci0000:00/0000:00:08.1/0000:0b:00.3/usb3/3-3/3-3.4/3-3.4:1.0/0003:044F:B66E.000E', 'dev_name': '/dev/input/event13', 'name': 'Thrustmaster Thrustmaster T300RS Racing wheel', 'ready': True, 'max_range': 1080}
DEBUG:matplotlib:matplotlib data path: /usr/share/matplotlib/mpl-data
DEBUG:matplotlib:CONFIGDIR=/home/marcus/.config/matplotlib
DEBUG:matplotlib:interactive is False
DEBUG:matplotlib:platform is linux
DEBUG:matplotlib:CACHEDIR=/home/marcus/.cache/matplotlib
DEBUG:matplotlib.font_manager:Using fontManager instance from /home/marcus/.cache/matplotlib/fontlist-v330.json
DEBUG:root:populate_devices
DEBUG:root:check_permissions: /sys/devices/pci0000:00/0000:00:08.1/0000:0b:00.3/usb3/3-3/3-3.4/3-3.4:1.0/0003:044F:B66E.000E
DEBUG:root:check_file_permissions mode: 0o644 user: root group: root file: /sys/devices/pci0000:00/0000:00:08.1/0000:0b:00.3/usb3/3-3/3-3.4/3-3.4:1.0/0003:044F:B66E.000E/alternate_modes
DEBUG:root:flush_device
DEBUG:root:Setting autocenter strength: 0
DEBUG:root:Setting FF gain: 65535
DEBUG:root:flush_ui