I just started using Cursor 0.46.11 on Arch Linux, and it seems that the recent glib2 update from 2.82.5-1 to 2.84.0-1 breaks Cursor, with the following error:
/opt/cursor-bin 23:57:24
❯ ./cursor-bin.AppImage
(cursor:9592): Gtk-WARNING **: 23:57:27.701: Could not load a pixbuf from /org/gtk/libgtk/icons/16x16/status/window-minimize-symbolic.symbolic.png.
This may indicate that pixbuf loaders or the mime database could not be found.
**
Gtk:ERROR:../gtk/gtk/gtkiconhelper.c:495:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /org/gtk/libgtk/icons/16x16/status/image-missing.png: Unrecognized image file format (gdk-pixbuf-error-quark, 3)
Bail out! Gtk:ERROR:../gtk/gtk/gtkiconhelper.c:495:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /org/gtk/libgtk/icons/16x16/status/image-missing.png: Unrecognized image file format (gdk-pixbuf-error-quark, 3)
[1] 9592 IOT instruction (core dumped) ./cursor-bin.AppImage
I’m a bit puzzled that why is Cursor being bundled as an .AppImage while there are still native dependencies to glib2 ABI version.
Meanwhile extracting the SquashFS from the .AppImage using binwalk --carve /opt/cursor-bin/cursor-bin.AppImage, extracting the squashfs with 7z x cursor-bin.AppImage_193728_squashfs.raw and then running cursor by <path to squashfs extraction folder/usr/share/cursor/cursor` works just fine.
So it’s just the packaging that makes Cursor unable to run. Why cannot I download Cursor in this already extracted normal format that just works but instead I have to deal with specific glibc2 version dependencies.
I wonder what’s the exact cause of the issue? And if it’s unrelated to glib2, then why does downgrading it solves the problem for me (even though in your case it didn’t).
Anyway, I think it should be addressed upstream somehow, since it doesn’t seem to be normal for the official AppImage to require workarounds like this.
Thanks, in the desktop entry for Cursor installed using cursor-bin AUR on Arch Linux, I added those environment variables in the environment variables for the cursor desktop entry and it launched after that.