rimpy-custom / RimPy

Mod Manager For Rimworld game
421 stars 49 forks source link

Linux build nearly unusable, Windows build not much better. Plea to RimPy owner #172

Open Kuuchuu opened 4 months ago

Kuuchuu commented 4 months ago

The Linux build of RimPy crashes when attempting various different actions such as:

(RimPy:1914816): Gtk-WARNING : 17:22:48.141: Could not load a pixbuf from icon theme. This may indicate that pixbuf loaders or the mime database could not be found. Gtk:ERROR:gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/share/icons/Papirus-Adapta-Nokto/../Papirus-Dark/16x16/actions/image-missing.svg: Unable to load image-loading module: /usr/lib64/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so: /usr/lib/librsvg-2.so.2: undefined symbol: pango_attr_overline_new (gdk-pixbuf-error-quark, 5) Bail out! Gtk:ERROR:gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/share/icons/Papirus-Adapta-Nokto/../Papirus-Dark/16x16/actions/image-missing.svg: Unable to load image-loading module: /usr/lib64/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so: /usr/lib/librsvg-2.so.2: undefined symbol: pango_attr_overline_new (gdk-pixbuf-error-quark, 5) fish: Job 1, './RimPy' terminated by signal SIGABRT (Abort)


 - Attempting to select a color for a mod

blase@solus-blase ~/.l/s/S/s/c/R/RimPy_Linux❥ ./RimPy Gtk-Message: 17:23:15.142: Failed to load module "xapp-gtk3-module" /usr/lib64/gvfs/libgvfscommon.so: undefined symbol: g_task_set_static_name Failed to load module: /usr/lib64/gio/modules/libgvfsdbus.so Sandboxing disabled by user. js: Uncaught ReferenceError: qt is not defined js: Failed to report error: ReportError() was called without an error to report. js: Uncaught TypeError: Cannot read property 'lastChild' of undefined js: Failed to report error: ReportError() was called without an error to report. js: Uncaught TypeError: Cannot read property 'parentElement' of null js: Uncaught (in promise) TypeError: Cannot read property 'filter' of null 5.7577215660130605 libpng warning: iCCP: known incorrect sRGB profile /usr/lib64/gio/modules/libdconfsettings.so: undefined symbol: g_assertion_message_cmpint Failed to load module: /usr/lib64/gio/modules/libdconfsettings.so

(RimPy:1915286): Gtk-WARNING **: 17:23:27.262: /usr/lib/libibus-1.0.so.5: undefined symbol: g_task_set_static_name

(RimPy:1915286): Gtk-WARNING **: 17:23:27.262: Loading IM context type 'ibus' failed

(RimPy:1915286): Gtk-WARNING **: 17:23:27.263: /usr/lib/libibus-1.0.so.5: undefined symbol: g_task_set_static_name

(RimPy:1915286): Gtk-WARNING **: 17:23:27.263: Loading IM context type 'ibus' failed

(RimPy:1915286): Gtk-WARNING **: 17:23:27.265: /usr/lib/libibus-1.0.so.5: undefined symbol: g_task_set_static_name

(RimPy:1915286): Gtk-WARNING **: 17:23:27.265: Loading IM context type 'ibus' failed

(RimPy:1915286): Gtk-WARNING **: 17:23:27.266: /usr/lib/libibus-1.0.so.5: undefined symbol: g_task_set_static_name

(RimPy:1915286): Gtk-WARNING **: 17:23:27.266: Loading IM context type 'ibus' failed

(RimPy:1915286): Gtk-WARNING **: 17:23:27.274: /usr/lib/libibus-1.0.so.5: undefined symbol: g_task_set_static_name

(RimPy:1915286): Gtk-WARNING **: 17:23:27.274: Loading IM context type 'ibus' failed

(RimPy:1915286): Gtk-WARNING : 17:23:27.484: Could not load a pixbuf from icon theme. This may indicate that pixbuf loaders or the mime database could not be found. Gtk:ERROR:gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/share/icons/Papirus-Adapta-Nokto/../Papirus-Dark/16x16/actions/image-missing.svg: Unable to load image-loading module: /usr/lib64/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so: /usr/lib/librsvg-2.so.2: undefined symbol: pango_attr_overline_new (gdk-pixbuf-error-quark, 5) Bail out! Gtk:ERROR:gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/share/icons/Papirus-Adapta-Nokto/../Papirus-Dark/16x16/actions/image-missing.svg: Unable to load image-loading module: /usr/lib64/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so: /usr/lib/librsvg-2.so.2: undefined symbol: pango_attr_overline_new (gdk-pixbuf-error-quark, 5) fish: Job 1, './RimPy' terminated by signal SIGABRT (Abort)


 - Attempting to import/export a mod list:

blase@solus-blase ~/.l/s/S/s/c/R/RimPy_Linux❥ ./RimPy Gtk-Message: 17:24:38.762: Failed to load module "xapp-gtk3-module" /usr/lib64/gvfs/libgvfscommon.so: undefined symbol: g_task_set_static_name Failed to load module: /usr/lib64/gio/modules/libgvfsdbus.so Sandboxing disabled by user. js: Uncaught ReferenceError: qt is not defined js: Failed to report error: ReportError() was called without an error to report. js: Uncaught TypeError: Cannot read property 'lastChild' of undefined js: Failed to report error: ReportError() was called without an error to report. js: Uncaught TypeError: Cannot read property 'parentElement' of null js: Uncaught (in promise) TypeError: Cannot read property 'filter' of null 5.999920840957202

(RimPy:1915971): WARNING : 17:25:05.533: atk-bridge: get_device_events_reply: unknown signature /usr/lib64/gvfs/libgvfscommon.so: undefined symbol: g_task_set_static_name Failed to load module: /usr/lib64/gio/modules/libgioremote-volume-monitor.so /usr/lib64/gvfs/libgvfscommon.so: undefined symbol: g_task_set_static_name Failed to load module: /usr/lib64/gio/modules/libgioremote-volume-monitor.so /usr/lib64/gvfs/libgvfscommon.so: undefined symbol: g_task_set_static_name Failed to load module: /usr/lib64/gio/modules/libgvfsdbus.so

(RimPy:1915971): Gtk-WARNING : 17:25:20.662: Could not load a pixbuf from icon theme. This may indicate that pixbuf loaders or the mime database could not be found. Gtk:ERROR:gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/share/icons/Papirus-Adapta-Nokto/../Papirus-Dark/16x16/actions/image-missing.svg: Unable to load image-loading module: /usr/lib64/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so: /usr/lib/librsvg-2.so.2: undefined symbol: pango_attr_overline_new (gdk-pixbuf-error-quark, 5) Bail out! Gtk:ERROR:gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/share/icons/Papirus-Adapta-Nokto/../Papirus-Dark/16x16/actions/image-missing.svg: Unable to load image-loading module: /usr/lib64/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so: /usr/lib/librsvg-2.so.2: undefined symbol: pango_attr_overline_new (gdk-pixbuf-error-quark, 5) fish: Job 1, './RimPy' terminated by signal SIGABRT (Abort)


 - Attempting to open a mod in Steam:

bash: symbol lookup error: bash: undefined symbol: rl_trim_arg_from_keyseq bash: symbol lookup error: bash: undefined symbol: rl_trim_arg_from_keyseq



 - If a mod uses an all lowercase name for the "About" folder or, I'm assuming the "Textures" folder in the case of texture conversions, Rimpy fails to load the data for that mod. That mod can only be managed in either the Windows version through Proton, or by renaming the relevant folders.

 - Texture conversions to dds freeze every few mods, forcing the user to select only a few mods at a time and hope it works. EDIT: I have also experienced dds files just not being created at all, same as #160

**The Windows version running through Proton suffers from many CTD issues as well.** Maybe RimPy is working better on Windows, but the Linux experience is downright awful.

 -----------------

**I'd like to voice my plea, among all the others from fans of this tool, please consider making RimPy open source. It's your software and you can do what you'd like to with it, but there is no logical reason as to why not to open source it.**

 As for your arguments against open sourcing it:

- https://github.com/rimpy-custom/RimPy/issues/135#issuecomment-1573834698
  - "A lot of users do not know what is better in long run. And that is why they are prone to make wrong conclusions. I work on this project several years and saw a lot of such situations. That is why I have to disagree with you. I gave you my reasoning."
    - **Pull-requests are not automatic, you have to approve them. Therefore if you don't agree with a proposal someone else has presented with a PR, you do not have to accept.** You don't even have to accept any of them. But, by allowing others to present contributions to the codebase they can fix bugs that you may not ever encounter due to them having different setups than you, and others can then make use of those fixes for running the program themselves.
- https://github.com/rimpy-custom/RimPy/issues/135#issuecomment-1573814009
  - "Project is alive for several years and is stable because I may control the process and focus on development instead of proving someone that my ideas will work better. That is it. Instead of proving something, I work on making it better."
    - **RimPy is dying.** There are other projects that will likely eventually take RimPy's place as the dominate RimWorld mod manager, such as [rmm](https://github.com/Spoons/rmm), and I started work on my own mod manager purely out of frustration that RimPy has been causing me. RimPy has a bunch of bugs which are not getting fixed. **There has not been a new release since November 2022.**
- https://github.com/rimpy-custom/RimPy/issues/79#issuecomment-1212038201
  - "You are wrong on that. That means anyone is able to fork your code and republish it with changes. That situation may take a lot of efforts from me to "prove something to someone" while I dislike wasting my time on that. The code will be published when I feel it needs to be published."
    - **Licenses can prevent code theft.** The appropriate license can stop others from legally re-purposing your code for their own financial benefit.
    - Forks created by other users very rarely get bigger than the original repo. If they do, it is likely due to the original repo making very questionable changes, or due to it being archived/unmaintained. If a fork is gaining in popularity due to features they added, you can always audit the code yourself and pull it into your codebase.

 -----------------

I've used RimPy for a long time and want to continue to far into the future, but in its current state it is unusable. Please consider open-sourcing RimPy so it can survive.
Andril190 commented 3 months ago

Consider switching to RimSort. Open-source and actively maintained. RimPy is abandonware at this point.

Kuuchuu commented 3 months ago

Consider switching to RimSort. Open-source and actively maintained. RimPy is abandonware at this point.

Yeah I discovered that, right after spending a day packaging RimPy up into a flatpak 😮‍💨 (which isolating it into its own environment actually did resolve all of my issues).

Thank you though! I do appreciate it. I hadn't really seen any talk of RimSort anywhere, just happened to come across the knowledge of it when looking at the RimPy forks. I'll be fully switching to it after working out some of the issues I'm experiencing with it.


For any Linux users that do need RimPy for anything, here is my Flatpak repo.