Skip to content

Please create or help to crete an appimage for the oversteer app #4

Closed

Description

@lestcape

Oversteer is the unofficial official app for setting up Racing Wheel in Linux. It's accomplished with an unofficial official driver new-lg4ff of the same author that i hope will reach the Linux kernel nearby at some point, since most Linux games work on this driver, but not on the support that the kernel itself has, since this driver is more versatile and includes support for several devices at the same time.

The author @berarma express his intention to create an appimage, but seem to be complicated and it's possible that he could need help on that task. Some years ago he said:

"I've still not given up doing an AppImage and while I wouldn't use it, some people has repeatedly asked for it.".

Also, I do not forget to mention that can be launched as a console app: oversteer --help. That is my really use case, because this app and the driver (new-lg4ff) are the last piece of software not really portable in my setup. I think the driver can not be make portable so this would actually be the 'last piece'.

This seems like a challenge because is probably that make the app portable will required a change in the code of the app, as it really work at close to the specific hardware, but you have a lot of experience, would you be willing to attempt to help with this one?

Activity

  1. Samueru-sama commented on Jan 20, 2025

    @Samueru-sama
    Member

    I'm not great at making appimages of python apps, the only one I have is this one and the build started to fail because it seems the pip package broke.

  2. lestcape commented on Jan 20, 2025

    @lestcape
    Author

    Ohh well, please not worried. I guess someone will do it at some point or else I can continue installing it from the sources, as I have done before, since I see it as if it were part of the driver itself.

  3. Samueru-sama commented on Jul 31, 2025

    @Samueru-sama
    Member

    cc @Drsheppard01 you as well since you mentioned oversteer in another issue.


    I recently tried package oversteer now that Max added uv integration with sharun which makes it easier to package python apps, see: https://github.com/pkgforge-dev/puddletag-AppImage/blob/main/puddletag-appimage.sh#L21-L27

    However for this to work the app needs to be in pip, which has not been updated in over 5 years: https://pypi.org/project/oversteer/#files

  4. Samueru-sama commented on Oct 23, 2025

    @Samueru-sama
    Member

    @lestcape does this work?

    https://github.com/pkgforge-dev/oversteer-AppImage/releases

    I can launch it in Artixlinux and ubuntu 18.04 without problem, however it does not work alpine linux, it complains about locales even though they are bundled.

    And launching it with LC_ALL=C LANG="" causes this error:

    Traceback (most recent call last):
      File "/tmp/samuel/Volatile/AppDir/bin/oversteer", line 53, in <module>
        sys.exit(app.run(sys.argv))
                 ~~~~~~~^^^^^^^^^^
      File "/tmp/samuel/Volatile/AppDir/lib/python3.13/site-packages/oversteer/application.py", line 63, in run
        self.device_manager.start()
        ~~~~~~~~~~~~~~~~~~~~~~~~~^^
      File "/tmp/samuel/Volatile/AppDir/lib/python3.13/site-packages/oversteer/device_manager.py", line 54, in start
        context = pyudev.Context()
      File "/tmp/samuel/Volatile/AppDir/lib/python3.13/site-packages/pyudev/core.py", line 59, in __init__
        self._libudev = load_ctypes_library("udev", SIGNATURES, ERROR_CHECKERS)
                        ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/tmp/samuel/Volatile/AppDir/lib/python3.13/site-packages/pyudev/_ctypeslib/utils.py", line 51, in load_ctypes_library
        raise ImportError("No library named %s" % name)
    ImportError: No library named udev
    

    When libudev is already bundled and used 🤔

  5. lestcape commented on Oct 23, 2025

    @lestcape
    Author

    It works on Debian 13 (trixie). The error makes me think that udev is loaded in one context, but is being searched for from another context where it isn't. The strange thing is that the error seems to depend on some kind of external configuration... Otherwise, the error would occur in all cases...

  6. Samueru-sama commented on Nov 26, 2025

    @Samueru-sama
    Member

    Alright there has been progress as to why this doesn't work in alpine linux. turns out this app needs an UTF-8 locale to work, what I doing originally of falling back to the C locale was wrong, already added a fix here for that and I'm trying to upstream that directly to sharun.

    There is another issue still though, for some reason and this only happens in alpine, the app ends up running cc compiler on startup, so that means that if I don't have the build-base package installed in alpine linux it fails to work.

    Image
  7. lestcape commented on Nov 26, 2025

    @lestcape
    Author

    Well, I think this app was a challenge for you from the start, unlike the others. However, perhaps you're already confident with what you have, and it would be good to share that with the developer. I think he should have an idea of ​​why the application needs to compile something in some special cases, like perhaps the one that occurs in Alpine.

  8. Samueru-sama commented on Nov 26, 2025

    @Samueru-sama
    Member

    Well, I think this app was a challenge for you from the start, unlike the others.

    that's python for ya.

    I think he should have an idea of ​​why the application needs to compile something in some special cases

    The issue goes deeper and happens with some python libraries. Similar incident happened with a different python app here

  9. lestcape commented on Nov 26, 2025

    @lestcape
    Author

    Oooh... In that case, he probably has no idea what you're asking and thinks you have even less idea. That kind of thing seems like magic. I think Python recently incorporated Just-in-Time (JIT) compilation, but since it only happens in Alpine, it doesn't seem plausible.

  10. Samueru-sama commented on Nov 27, 2025

    @Samueru-sama
    Member

    The issue is that the ctypes library runs /sbin/ldconfig -p and this fails in alpine linux since it doesn't support the -p flag. The output of /sbin/ldconfig is not needed here, the problem is that /sbin/ldconfig -p errors and that stops any further lookup.

    Will report this to sharun.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions