Failure to extract an icon for CPU-X
Pre-submit checks
- [x] I checked for similar issues beforehand, but could not find any, not even closed ones. I could not add my bug report to any existing issue.
- [x] I am going to take the time to to fill in all the required details. I know that the bug report will be dismissed otherwise.
Describe the bug
Integrating CPU-X app fails to extract its icon.
I am aware of a number of related issues with similar symptoms related to icon integration issues.
I am trying to track down why CPU-X does not fully integrate in particular compared to other apps.
I am looking for the source of WARNING: No icons found at "usr/share/icons" message.
No such or similar message was found searching AppImageLauncher and libappimage source code.
Where is this message coming from?
Expected behavior
App icon is extracted from AppImage and integrated in Ubuntu desktop.
Steps to reproduce the issue
- Download CPU-X AppImage: https://github.com/TheTumultuousUnicornOfDarkness/CPU-X/releases/download/v5.4.0/CPU-X-5.4.0-x86_64.AppImage
- Integrate using GUI or CLI
$ ail-cli integrate ~/Desktop/CPU-X-5.4.0-x86_64.AppImage
Processing /home/user/Desktop/CPU-X-5.4.0-x86_64.AppImage
Moving AppImage to integration directory
WARNING: No icons found at "usr/share/icons"
WARNING: Using .DirIcon as default app icon
ERROR: Unable to load image.
ERROR: No icon was generated for: /home/user/Applications/CPU-X-5.4.0-x86_64_e4591dac2df63c4871da4891ed34bd72.AppImage
WARNING: Unable to resize the application icon into a 128x128 image: "Unable to load image.". It will be written unchanged.
WARNING: Unable to resize the application icon into a 256x256 image: "Unable to load image.". It will be written unchanged.
Screenshots
Distribution and desktop environment
- Ubuntu 22.04.05 LTS x64
- Wayland
- GNOME 42.9
Installed AppImageLauncher version
AppImageLauncher version 3.0.0-alpha-4 (git commit 0bcc75d), built on 2025-09-07 21:26:00 UTC
List of AppImages you tried
- KDiskMark (working) https://github.com/JonMagon/KDiskMark/releases/download/3.2.0/KDiskMark-3.2.0-fio-3.40-x86_64.AppImage
- GitFiend (working) https://github.com/GitFiend/Support/releases/download/v0.45.3/GitFiend-0.45.3.AppImage
- DigiKam (working) https://www.digikam.org/download/
- qBittorrent (working) https://sourceforge.net/projects/qbittorrent/files/qbittorrent-appimage/qbittorrent-5.1.2/qbittorrent-5.1.2_lt20_x86_64.AppImage/download
- CPU-X (broken) https://github.com/TheTumultuousUnicornOfDarkness/CPU-X/releases/download/v5.4.0/CPU-X-5.4.0-x86_64.AppImage
Additional context
I have mounted AppImages to inspect their contents. In fact CPU-X has more icons in usr/share/icons/hicolor/ than other apps. Please see the comparison screenshot below.
Available icons packaged in AppImage:
$ ./CPU-X-5.4.0-x86_64_e4591dac2df63c4871da4891ed34bd72.AppImage --appimage-mount
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
/tmp/.mount_CPU-Xremp1357553847412447068
$ find /tmp/.mount_CPU-Xremp1357553847412447068/usr/share/icons/ -type f -name "*cpu*"
/tmp/.mount_CPU-Xremp1357553847412447068/usr/share/icons/hicolor/128x128/apps/io.github.thetumultuousunicornofdarkness.cpu-x.png
/tmp/.mount_CPU-Xremp1357553847412447068/usr/share/icons/hicolor/16x16/apps/io.github.thetumultuousunicornofdarkness.cpu-x.png
/tmp/.mount_CPU-Xremp1357553847412447068/usr/share/icons/hicolor/192x192/apps/io.github.thetumultuousunicornofdarkness.cpu-x.png
/tmp/.mount_CPU-Xremp1357553847412447068/usr/share/icons/hicolor/22x22/apps/io.github.thetumultuousunicornofdarkness.cpu-x.png
/tmp/.mount_CPU-Xremp1357553847412447068/usr/share/icons/hicolor/24x24/apps/io.github.thetumultuousunicornofdarkness.cpu-x.png
/tmp/.mount_CPU-Xremp1357553847412447068/usr/share/icons/hicolor/256x256/apps/io.github.thetumultuousunicornofdarkness.cpu-x.png
/tmp/.mount_CPU-Xremp1357553847412447068/usr/share/icons/hicolor/32x32/apps/io.github.thetumultuousunicornofdarkness.cpu-x.png
/tmp/.mount_CPU-Xremp1357553847412447068/usr/share/icons/hicolor/36x36/apps/io.github.thetumultuousunicornofdarkness.cpu-x.png
/tmp/.mount_CPU-Xremp1357553847412447068/usr/share/icons/hicolor/384x384/apps/io.github.thetumultuousunicornofdarkness.cpu-x.png
/tmp/.mount_CPU-Xremp1357553847412447068/usr/share/icons/hicolor/48x48/apps/io.github.thetumultuousunicornofdarkness.cpu-x.png
/tmp/.mount_CPU-Xremp1357553847412447068/usr/share/icons/hicolor/512x512/apps/io.github.thetumultuousunicornofdarkness.cpu-x.png
/tmp/.mount_CPU-Xremp1357553847412447068/usr/share/icons/hicolor/64x64/apps/io.github.thetumultuousunicornofdarkness.cpu-x.png
/tmp/.mount_CPU-Xremp1357553847412447068/usr/share/icons/hicolor/72x72/apps/io.github.thetumultuousunicornofdarkness.cpu-x.png
/tmp/.mount_CPU-Xremp1357553847412447068/usr/share/icons/hicolor/96x96/apps/io.github.thetumultuousunicornofdarkness.cpu-x.png
Please help me to track this down. It cannot be anything simple as dot in the filename, can it?
Another thing to add is that https://github.com/probonopd/go-appimage integrates same CPU-X AppImage with icon successfully. This leads me to a conclusion that PNG itself is in tact. However I switched to AppImageLauncher instead and faced this issue.
This issue is reproducible. Looks like a bug in libappimage.
Integration works when using a local build of AppImageLauncher. Weird.
Tracked this down to libcairo. I don't like the way it is integrated into libappimage, and I also dislike the pure C cairo API, so I might just rewrite parts of it. Personally, I use CImg a lot which is a lightweight C++ wrapper for many graphics libraries (including libpng, libjpeg, ...). In combination with rsvg, we should have good support for all upcoming image formats, and might have better logging as well.
Side note: I also considered SDL_image, but it cannot export graphics very well. More alternatives can be found here: https://github.com/fffaraz/awesome-cpp?tab=readme-ov-file#image-processing