Ubuntu Version:
Ubuntu Studio 25.04
Desktop Environment (if applicable):
KDE Plasma 6.3.4, Wayland
Problem Description:
I expect AppImages to run after they have been made executable. On Debian (and certain derivatives, like SparkyLinux and Q4OS), every single AppImage runs first try, even in the live USB. On Ubuntu, none of them do. When I make them executable and then execute them, nothing happens. In short, I can’t use AppImages at all.
To be clear, I’m using Ubuntu Studio, the media creation flavor with KDE Plasma, not the flagship Ubuntu (GNOME). But further in this post I link instructions pertaining to Ubuntu (GNOME), leading me to believe that AppImages not running out of the box is an issue in every flavor.
Relevant System Information:
- GMKtec G3 Plus
- Intel N150
- 16 GB RAM
What I’ve Tried:
- Installed
libfuse2t64
, as per these instructions from itsfoss.com as well as these from OMG Ubuntu. According to those two, that missing package is all I need to start running AppImages in Ubuntu. But after I went to the terminal tosudo apt install libfuse2t64
, it tells me that I already have it installed:libfuse2t64 is already the newest version (2.9.9-9).
So even with a supposedly missing package already included out of the box, AppImages still won’t get running. - Used AppImageLauncher. This actually works for most AppImages! All but one of them open now, and I can use them normally. In theory, it shouldn’t have to come to this just to start using AppImages though.
- Use different packaging formats. Some apps (e.g. the note-taking app Capacities) are only available as AppImages. Others don’t work in any other format.
- Opened the AppImage through the terminal to see if it offers hints that could help me fix it myself.
In particular I’m still stuck in getting RetroArch to work.
What happened when I opened the RetroArch AppImage through the terminal
I didn’t think of doing this before installing AppImageLauncher (which, as I said before, got most of my other AppImages to start running). So what I’m about to show should be reproducible with AppImageLauncher installed.
Because I have it installed, AppImageLauncher kicks in shortly after with a GUI pop-up asking me whether to “Run once” or “Integrate and run”. I’ll share the terminal output for both.
When I click “Run once”, this is the output:
QObject::startTimer: Timers can only be used with threads started with QThread
Squashfs image uses (null) compression, this version supports only xz, zlib.
ERROR: appimage_shall_not_be_integrated : sqfs_open_image error: /home/samuelitooooo/Applications/RetroArch-Linux-x86_64/RetroArch-Linux-x86_64.AppImage
AppImageLauncher error: appimage_shall_not_be_integrated() failed (returned -1)
Squashfs image uses (null) compression, this version supports only xz, zlib.
ERROR: appimage_is_terminal_app : sqfs_open_image error: /home/samuelitooooo/Applications/RetroArch-Linux-x86_64/RetroArch-Linux-x86_64.AppImage
AppImageLauncher error: appimage_is_terminal_app() failed (returned -1)
fuse: memory allocation failed
squashfuse 0.5.2 (c) 2012 Dave Vasilevsky
Usage: squashfuse [options] ARCHIVE MOUNTPOINT
(null) options:
-o offset=N offset N bytes into ARCHIVE to mount
-o subdir=PATH mount subdirectory PATH of ARCHIVE
-o notify_pipe=PATH named pipe that will receive 's' (success)
or 'f' (failure) when the mountpoint is ready
-o timeout=N idle N seconds for automatic unmount
-o uid=N set file owner to uid N
-o gid=N set file group to gid N
FUSE options:
-h --help print help
-V --version print version
-d -o debug enable debug output (implies -f)
-f foreground operation
-s disable multi-threaded operation
-o clone_fd use separate fuse device fd for each thread
(may improve performance)
-o max_idle_threads the maximum number of idle worker threads
allowed (default: -1)
-o max_threads the maximum number of worker threads
allowed (default: 10)
fuse: memory allocation failed
squashfuse 0.5.2 (c) 2012 Dave Vasilevsky
Usage: squashfuse [options] ARCHIVE MOUNTPOINT
(null) options:
-o offset=N offset N bytes into ARCHIVE to mount
-o subdir=PATH mount subdirectory PATH of ARCHIVE
-o notify_pipe=PATH named pipe that will receive 's' (success)
or 'f' (failure) when the mountpoint is ready
-o timeout=N idle N seconds for automatic unmount
-o uid=N set file owner to uid N
-o gid=N set file group to gid N
FUSE options:
-h --help print help
-V --version print version
-d -o debug enable debug output (implies -f)
-f foreground operation
-s disable multi-threaded operation
-o clone_fd use separate fuse device fd for each thread
(may improve performance)
-o max_idle_threads the maximum number of idle worker threads
allowed (default: -1)
-o max_threads the maximum number of worker threads
allowed (default: 10)
squashfuse 0.5.2 (c) 2012 Dave Vasilevsky
Usage: squashfuse [options] ARCHIVE MOUNTPOINT
(null) options:
-o offset=N offset N bytes into ARCHIVE to mount
-o subdir=PATH mount subdirectory PATH of ARCHIVE
-o notify_pipe=PATH named pipe that will receive 's' (success)
or 'f' (failure) when the mountpoint is ready
-o timeout=N idle N seconds for automatic unmount
-o uid=N set file owner to uid N
-o gid=N set file group to gid N
FUSE options:
-h --help print help
-V --version print version
-d -o debug enable debug output (implies -f)
-f foreground operation
-s disable multi-threaded operation
-o clone_fd use separate fuse device fd for each thread
(may improve performance)
-o max_idle_threads the maximum number of idle worker threads
allowed (default: -1)
-o max_threads the maximum number of worker threads
allowed (default: 10)
Can't open squashfs image: Bad address
Cannot mount AppImage, please check your FUSE setup.
You might still be able to extract the contents of this AppImage
if you run it with the --appimage-extract option.
See https://github.com/AppImage/AppImageKit/wiki/FUSE
for more information
execv error: No such file or directory
I tried running the AppImage in the terminal with --appimage-extract
appended to the end ($ ./RetroArch-Linux-x86_64.AppImage --appimage-extract
), and the terminal output is:
QObject::startTimer: Timers can only be used with threads started with QThread
This doesn't look like a squashfs image.
Failed to open squashfs image
When I click “Integrate and run”, I quickly get a GUI error saying Failed to register AppImage in system via libappimage
. But before I click “OK”, I see that AppImageLauncher has moved the AppImage to the folder as per my configuration, renamed it, and created the desktop file in ~/.local/share/applications/
—all expected. I haven’t clicked “OK” yet on the GUI error, and the terminal output is:
QObject::startTimer: Timers can only be used with threads started with QThread
Squashfs image uses (null) compression, this version supports only xz, zlib.
ERROR: appimage_shall_not_be_integrated : sqfs_open_image error: /home/samuelitooooo/Applications/RetroArch-Linux-x86_64/RetroArch-Linux-x86_64.AppImage
AppImageLauncher error: appimage_shall_not_be_integrated() failed (returned -1)
Squashfs image uses (null) compression, this version supports only xz, zlib.
ERROR: appimage_is_terminal_app : sqfs_open_image error: /home/samuelitooooo/Applications/RetroArch-Linux-x86_64/RetroArch-Linux-x86_64.AppImage
AppImageLauncher error: appimage_is_terminal_app() failed (returned -1)
Squashfs image uses (null) compression, this version supports only xz, zlib.
ERROR: appimage_register_in_system : sqfs_open_image error: /home/samuelitooooo/Applications/RetroArch-Linux-x86_64_db2f6c5423173daf40bd082399907c4a.AppImage
When I click “OK”, no further output comes up, and I’m returned to my usual prompt.
Adding the --no-sandbox
flag to any of the above leads to the same results.
What's wrong with RetroArch in other packaging formats
- The APT package doesn’t load my config file properly aside from not having all cores available (also true in Debian).
- Graphical playback during actual gameplay is terrible in the Snap package. (Side note: if there’s a way to fix how snaps run, I’m willing to try it. The SuperTuxKart snap also ran very slow graphically even at rock bottom settings, but the tar from their website runs beautifully at Graphical Effects Level 5 out of 7; I can sacrifice a few frames and push it to 6.)
- I can’t install RetroArch through PPA either; the PPA was added successfully, but then when I go to install the app itself, it tells me that one of the needed dependencies is not installable:
Solving dependencies... Error!
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
Unsatisfied dependencies:
retroarch : Depends: libflac12t64 (>= 1.3.0) but it is not installable
Recommends: libgamemode0 but it is not going to be installed
Recommends: retroarch-assets (>= 1.7.6~) but it is not going to be installed
Error: Unable to correct problems, you have held broken packages.
Error: The following information from --solver 3.0 may provide additional context:
Unable to satisfy dependencies. Reached two conflicting decisions:
1. retroarch:amd64=1.20.0+ppa1.1-1~ubuntu25.04.1 is selected for install
2. retroarch:amd64=1.20.0+ppa1.1-1~ubuntu25.04.1 Depends libflac12t64 (>= 1.3.0)
but none of the choices are installable:
[no choices]
I was hoping to bypass all of that by just using the AppImage, which has worked the best for me on other older hardware, but … yeah.