35

WebP image files are becoming more and more common on the web. Eye of GNOME (eog) doesn't support it out-of-the-box. Some browsers do, and ImageMagick as well by just installing the webp package (magick/convert -list format).

A simple search leads to webp-pixbuf-loader, but might be not that easy for beginners to find and follow that instructions.

How can I add WebP support to Eye of GNOME?

References

Pablo Bianchi
  • 17,371

4 Answers4

24

2023-12-01 Update: added built-in WebP support to GNOME Platform/SDK.

2023-10-11 Update: There is a huge vulnerability on libwebp, CVE-2023-4863:


For Ubuntu 22.04

sudo apt install webp-pixbuf-loader

For Ubuntu 20.04

Follow these steps to add support for WebP to Eye of GNOME:

  1. Prebuild

    sudo apt install git meson ninja-build
    cd /tmp/
    git clone https://github.com/aruiz/webp-pixbuf-loader
    cd webp-pixbuf-loader/
    sudo ln -s /usr/lib/*/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders /usr/bin/gdk-pixbuf-query-loaders  # https://github.com/aruiz/webp-pixbuf-loader/issues/9#issuecomment-537437407
    
  2. Build on Debian/Ubuntu

    meson builddir -Dgdk_pixbuf_query_loaders_path=/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders
    ninja -C builddir
    
  3. Install

    sudo ninja -C builddir install
    

Test

wget -O /tmp/samplefile.webp "https://www.gstatic.com/webp/gallery/1.sm.webp"
eog /tmp/samplefile.webp

Default app for .webp extension (image/webp internet media type)

From EOG issue eog.desktop doesn't include webp mimetype:

After installing https://github.com/aruiz/webp-pixbuf-loader eog loads webp images properly... but it is still not added as supported mime type to the .desktop file and, as a consequence, is not offered by default to open those images

To fix this:

# Get info                                        
#   If you didn't go through above steps:
wget -O /tmp/samplefile.webp "https://www.gstatic.com/webp/gallery/1.sm.webp"
xdg-mime query filetype /tmp/samplefile.webp      # MIME type of the file: image/webp
xdg-mime query default image/webp                 # .desktop filename of the application which is registered

Set open .webp with eog

xdg-mime default org.gnome.eog.desktop image/webp # Ask the desktop environment to make application the default # application for opening files of type mimetype: Search on # ~/.local/share/applications/ (user-wide) or /usr/share/applications/ (system-wide). sudo update-mime-database /usr/share/mime # Apply system-wide

Test

xdg-open /tmp/samplefile.webp

Of course, change org.gnome.eog.desktop to whatever you want.

bash-completion

To enable bash-completion support for .webp we should edit /usr/share/bash-completion/completions/eog (tested on 22.04 and 24.04), manually (_filedir '@(webp|ani|?) or just:

sudo sed -i 's/_filedir '\''@(/_filedir '\''@(webp|/' /usr/share/bash-completion/completions/eog && . /usr/share/bash-completion/completions/eog; grep webp /usr/share/bash-completion/completions/eog

Ubuntu 22.10 ship WebP support out-of-the-box[1]. For 22.04 you can use a PPA (if you trust the developer).

See also

Pablo Bianchi
  • 17,371
7

Ubuntu 22.04

You simply need to install webp-pixbuf-loader and make EOG the default program for webp extensions.
sudo apt install webp-pixbuf-loader

Ubuntu 20.04

For previous versions of Ubuntu you can add ppa:helkaluin/webp-pixbuf-loader PPA and proceed similarly.

sudo add-apt-repository ppa:helkaluin/webp-pixbuf-loader
sudo apt update
sudo apt install webp-pixbuf-loader
4

I found this OMG! Ubuntu! article: How to Add WebP Support to Ubuntu 22.04 LTS

Just add the ppa:helkaluin/webp-pixbuf-loader PPA:

sudo add-apt-repository ppa:helkaluin/webp-pixbuf-loader

Then install webp-pixbuf-loader:

sudo apt install webp-pixbuf-loader

and you're done. Works for me on Ubuntu 20.04.

0

These dependent packages should be installed.

sudo apt install libwebp-dev libgdk-pixbuf2.0-dev libgtk-3-dev meson build-essential

then, build and install like this.

git clone https://github.com/aruiz/webp-pixbuf-loader
cd webp-pixbuf-loader/
meson builddir -Dgdk_pixbuf_query_loaders_path=/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders
ninja -C builddir
sudo ninja -C builddir install
mkiuchi
  • 11
  • 2