When I try to import HEIC/HEIF images into Shotwell, I get a message saying that the format is not supported. I tried this with a new installation of either EOS and CachyOS. libheif and gdk-pixbuf2 are installed. I can see and open the HEIC files in Nautilus. Shotwell even displays my older, previously imported HEIC files, but I can’t add any new files. Any suggestions?
Shotwell 0.32.13
libheif 1.202-3.1
gdk-pixbuf2 2.44.4-1.1
Log-File for Drag-and-Drop and Import from Directory:
L 88105 2025-11-02 17:11:41 [MSG] main.vala:266: AVIF : yes, gdk-pixbuf, yes meta-data
L 88105 2025-11-02 17:11:41 [MSG] main.vala:267: HEIF : yes, gdk-pixbuf, yes meta-data
L 88105 2025-11-02 17:11:41 [DBG] main.vala:269: 0,429288 seconds to Gtk.main()
L 88105 2025-11-02 17:12:02 [DBG] LibraryWindow.vala:848: failed to retrieve SelectionData
L 88105 2025-11-02 17:12:03 [DBG] VideoReader.vala:72: Skipping test.HEIC, unsupported mime type image/heif
L 88105 2025-11-02 17:12:03 [DBG] VideoReader.vala:72: Skipping test.HEIC, unsupported mime type image/heif
L 88105 2025-11-02 17:12:03 [DBG] BatchImport.vala:2006: Importing /home/USER/Bilder/2025/05/07/test.HEIC
L 88105 2025-11-02 17:12:03 [DBG] GdkSupport.vala:145: Pixbuf detected format name: heic
L 88105 2025-11-02 17:12:03 [DBG] BatchImport.vala:2026: Deleting failed imported copy /home/USER/Bilder/2025/05/07/test.HEIC
L 88105 2025-11-02 17:12:03 [DBG] BatchImport.vala:632: Import complete after 0,568819
(Patching Shotwell isn’t possible as the build fails with it looking for GLIBC 2.38 for some unknown reason, by the system has GLIBC 2.42. Error ”/usr/bin/ld: /tmp/ccHP3gJf.ltrans9.ltrans.o: undefined reference to symbol ‘fmod@@GLIBC_2.38GLIBC_2.38’”)
Hm interesting, heif should work with either glycin or the old libheif loader. As for the fmod error, there’s a -lm missing, the patch should be on the shotwel-0.32 branch
The cause is Shotwell is expecting GdkPixbuf to return the name “heif” for HEIF image files but with GNOME 49 it returns the name “heic”. So from_pixbuf_name () would report HEIF image files as unknown file format.
Dump all known file format names and extensions:
#!/usr/bin/python3
import gi
gi.require_version('GdkPixbuf', '2.0')
from gi.repository import GdkPixbuf
for f in GdkPixbuf.Pixbuf.get_formats():
print(f.get_name(), f.get_extensions())
On Arch Linux with gdk-pixbuf 2.44.4 and glycin 2.0.5 for HEIF files that shows the name to look for is “heic”:
heic [‘heic’, ‘heif’]
After adding support for the “heic” name my Shotwell can import all HEIF sample images without problem.
That’s likely it. On Arch Linux (and Fedora 43) libheif no longer includes the pixbuf loader (builds with WITH_GDK_PIXBUF=OFF) but not every distro shipping GNOME 49 may have followed the recommendation in this release to prefer glycin as pixbuf loader.