33

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
  • 15,657

4 Answers4

22

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
  • 15,657
  • 7
    I can't believe that there still isn't a .deb package with this that one can just install, without the need to build it from source. – raj Nov 15 '21 at 22:17
  • 2
    meson failed to build until I installed libgdk-pixbuf2.0-dev libwebp-dev (Ubuntu 20.04). – balver Dec 22 '21 at 07:01
  • 1
    it seems that the libwebp-dev package is also a required dependency – Nmath Mar 17 '22 at 09:37
  • The ln-step is not necessary when you give the loader path when building. As Nmath, I had to install libwebp-dev and also libgdk-pixbuf2.0-dev. – hife Nov 07 '22 at 17:04
  • Finally, I had to symlink/move ´libpixbufloader-webp.so´ from /usr/local/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders to /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders, then run sudo /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders --update-cache to make it work. – hife Dec 09 '22 at 10:39
  • I was using gThumb before I used this answer and every time I opened a .wepb file with gThumb I got a black screen for 2-3 seconds and one time in five it also totally froze the computer at the black screen and turned off the monitor requiring a reboot to continue. Problem solved, now I can open .webp files in Image Viewer by default instead of in gThumb. – karel Dec 04 '23 at 08:08
5

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
3

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