Recompiling an AppImage: Fixing the Cura slicer on Debian trixie
Published 2026-03-19
You can download the UltiMaker Cura slicer for 3d printing as an AppImage, which should be a complete, standalone binary to run it on Linux machines. However, on the latest, trixie upgrade to Debian Linux, it fails with the error "Could not initialize GLX". To fix this, we need to open and recompile the AppImage.
The bug report on GitHub helpfully points at the library file that needs to be included in the AppImage, but how to do this exactly required a bit of research. Here is what worked for me:
- Download the bookworm version of the libz3-4 package from here. Use the links at the bottom of the page for the right architecture.
- Unpack the .deb file using the command ar x {.deb file}
- Decompress data.tar.xz using unxz data.tar.xz
- Untar data.tar using tar -x < data.tar. The library file should be usr/lib/x86_64-linux-gnu/libz3.so.4.
- Separately, unpack the Cura AppImage. Simply run the AppImage file itself with the --appimage-extract argument. A squashfs-root directory appears.
- Copy libz3.so.4 from the .deb file to squashfs-root/usr/lib/x86_64-linux-gnu/.
- Get the appimage tool from here.
- Run the acquired tool as such: appimagetool.AppImage squashfs-root fixedapp.AppImage
- If there as an icon-related error, edit squashfs-root/com.ultimaker.cura.desktop and remove the extension from the Icon= line.
You can now use the Cura slicer as fixedapp.AppImage.
Tags:
| « Information Inequalities for Five Random Variables |
LinkedIn »