How to add support for HEIC files on fedora kinoite 42

Hello,

Fairly new to Fedora Kinoite, i’ve some troubles adding support for heic files on my installation. Ideally on gwenview (flatpak) and Dolphin, any advice on the way to solve this ?

  1. Add the RPM Fusion free and nonfree repositories, then reboot:
rpm-ostree install \
    https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \
    https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
  1. Install Gwenview and the required libraries, then reboot:
rpm-ostree install gwenview libheif-freeworld libheif-tools

You may also want to remove the Flatpak version of Gwenview. By default, Kinoite only provides the Fedora Flatpak version, which misses some libraries.

Gwenview from Flathub should also works, but then you will still need libheif-freeworld and libheif-tools for dolphin/kde-thumbnailer to work. So for convenience, it may be easier to install all of them locally as RPM packages.

1 Like

Is there a way to check which repositories I have installed using Cosmic Atomic?

Yeah, all repositories except the ostree image one are in /etc/yum.repos.d/.

Worked, thanks a lot.

On Silverblue would it be the same steps but using image viewer instead of gwenview?

Trying to view HEIC/HEIF images I have backed up from an older iPhone.

Yes, it is the same steps.

1 Like

I ran the steps you provided, and it only seems to have partially worked. I can see the image content in the thumbnails through nautilus, but when I try to open the HEIC image in image viewer, I get the following error:

Remote error: org.gnome.glycin.Error.LoadingError: loaders/glycin-heif/src/bin/glycin-heif.rs:94:24: PluginLoadingError(Unknown) Error while loading plugin: No decoding plugin installed for this compression format

I installed gwenview for testing purposes and I can see the image in gwenview but not through GNOME’s default image viewer app.

Could you try installing glycin-loaders and see if Loupe works?
Also, make sure that Loupe is installed via rpm-ostree, as it’s difficult to add codecs to Fedora Flatpaks.

I added glycin-loaders and nothing changed.

I checked software centre to see where image viewer is installed from, and it appears by default it ships as a flatpak. Is this the reason why?

Yeah, you can read more about the decision here:

From my understanding:

  1. There are legal restrictions on certain codecs.
  2. It is more difficult to remove pre-installed RPM packages on atomic desktops.
  3. It still needs to provide a minimal out-of-the-box experience.

Could you check if it works when Loupe is installed as an RPM package?

Can you install it from flathub instead and see if problems occurs there, too?

My first attempt involved removing the Fedora Flatpak and installing the Flathub Flatpak for Loupe. Now it works, and I can view HEIF images directly by double-clicking them in Nautilus without needing to layer the package via rpm-ostree.

Why does one flatpak work but not the other?

Because Flathub one provides the codecs.

Does that mean I didn’t need to layer the libheif-freeworld libheif-tools packages?

Can I remove them?

Unless you use them for any other app - sure.

I’m wanting system-wide support for HEIC/HEIF on Fedora Silverblue, rather than just application-level support. Is that not possible?

Nvm. I think I am understanding the limitation here with the sandboxing.

I’ll figure it out. Thanks for the help.

Since you’re on Kinoite, where primary way to get apps is flatpaks, it’s not possible. However it’s not a problem, because flathub provides necessary codecs.

Like it was mentioned above, if you want support for HEIC thumbnails, you may want to keep those packages, but whether you need it depends on you.

1 Like

That seems to be the case. Application-level support comes from Flathub, while system-level support with thumbnails is handled by those other packages. Good enough, I suppose. Thanks!