
{"id":46767,"date":"2024-06-20T07:58:54","date_gmt":"2024-06-20T07:58:54","guid":{"rendered":"https:\/\/ubuntuhandbook.org\/?p=46767"},"modified":"2025-08-30T13:34:34","modified_gmt":"2025-08-30T13:34:34","slug":"enable-jxl-support-ubuntu","status":"publish","type":"post","link":"https:\/\/ubuntuhandbook.org\/index.php\/2024\/06\/enable-jxl-support-ubuntu\/","title":{"rendered":"Enable JPEG-XL (.jxl) Image Support in Ubuntu 24.04 &#038; 22.04"},"content":{"rendered":"<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/jpeg-xl-logo.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-thumbnail wp-image-46768\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/jpeg-xl-logo-250x250.webp\" alt=\"\" width=\"250\" height=\"250\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/jpeg-xl-logo-250x250.webp 250w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/jpeg-xl-logo-300x300.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/jpeg-xl-logo-700x700.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/jpeg-xl-logo-768x768.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/jpeg-xl-logo.webp 1200w\" sizes=\"auto, (max-width: 250px) 100vw, 250px\" \/><\/a><\/p>\n<p><b>This tutorial shows how to enable <code>.jxl<\/code> file support for system image viewer, GIMP, and some other apps in Ubuntu 24.04, Ubuntu 22.04, Ubuntu 20.04, and even Ubuntu 18.04.<\/b><\/p>\n<p><a href=\"https:\/\/jpeg.org\/jpegxl\/\" target=\"_blank\" rel=\"noopener\">JPEG-XL<\/a> is a new image format by JPEG committee. It supports both lossy and lossless compression, and includes features such as animation, alpha channels, layers, thumbnails, and has better compression efficiency (60% improvement) comparing to JPEG.<\/p>\n<p>For encoding and decoding JPEG-XL images, there&#8217;s a free open-source <a href=\"https:\/\/github.com\/libjxl\/libjxl\" target=\"_blank\" rel=\"noopener\">libjxl library<\/a> available. <b>Ubuntu has included the library in system repository since 24.04, however lacks GdkPixbuf loader plugin until Ubuntu 24.10<\/b> (still in development so far).<\/p>\n<p>Meaning system default image viewer, and many other apps do not work with <code>.jxl<\/code> file in current 3 Ubuntu LTS releases out-of-the-box.<\/p>\n<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/02\/image-viewer-jxl.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-45579\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/02\/image-viewer-jxl-700x494.webp\" alt=\"\" width=\"610\" height=\"430\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/02\/image-viewer-jxl-700x494.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/02\/image-viewer-jxl-300x212.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/02\/image-viewer-jxl-768x542.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/02\/image-viewer-jxl.webp 1113w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><\/p>\n<p><!--more--><\/p>\n<p>To enable <code>.jxl<\/code> support without rebuilding your apps, there are 2 choices so far:<\/p>\n<ul>\n<li>Install libjxl <code>.deb<\/code> packages from its Github project page.<\/li>\n<li>Rebuild libjxl with GdkPixbuf loader and GIMP plugin for Ubuntu 24.04.<\/li>\n<\/ul>\n<h3>Method 1: Install official libjxl package<\/h3>\n<p>Libjxl provides official <code>.deb<\/code> packages, for Ubuntu 20.04, Ubuntu 22.04, Ubuntu 24.04 and Debian 11\/12 on modern Intel \/ AMD platforms.<\/p>\n<p><b>NOTE: Apps installed from 3rd party repositories that contain libjxl library MAY cause conflict to the official one mentioned in this method.<\/b><\/p>\n<h4>1. Download libjxl package<\/h4>\n<p>First, go to the project releases page via the link button below:<\/p>\n<div class=\"wp-block-buttons aligncenter\">\n<div class=\"wp-block-button is-style-fill\"><a class=\"wp-block-button__link has-vivid-cyan-blue-to-vivid-purple-gradient-background has-text-color has-background\" href=\"https:\/\/github.com\/libjxl\/libjxl\/releases\" target=\"_blank\" rel=\"noreferrer noopener\">Download libjxl (under &#8216;Assets&#8217;)<\/a><\/div>\n<\/div>\n<p>Under &#8216;Assets&#8217; section, click &#8220;Show all xx assets&#8221; and select download <code>jxl-debs...<\/code> for your system. For <b>Ubuntu 18.04<\/b>, scroll down and select download the old version 0.8.2.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-49572\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/download-libjxl-deb-700x420.webp\" alt=\"\" width=\"610\" height=\"366\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/download-libjxl-deb-700x420.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/download-libjxl-deb-300x180.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/download-libjxl-deb-768x461.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/download-libjxl-deb-1320x792.webp 1320w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/download-libjxl-deb.webp 1342w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<p>In case you don&#8217;t even know which system version is running, launch terminal (for Ubuntu press Ctrl+Alt+T) and run command:<\/p>\n<pre>lsb_release -a<\/pre>\n<p>For Linux Distributions based on Ubuntu or Debian, run <code>cat \/etc\/os-release<\/code> to tell which upstream version your system is based on.<\/p>\n<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/02\/get-ubuntuversion.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-45581\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/02\/get-ubuntuversion-700x475.webp\" alt=\"\" width=\"610\" height=\"414\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/02\/get-ubuntuversion-700x475.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/02\/get-ubuntuversion-300x203.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/02\/get-ubuntuversion-768x521.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/02\/get-ubuntuversion.webp 786w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><\/p>\n<h4>2. Install libjxl<\/h4>\n<p>After downloaded the package, decompress it in your file manager, finally open the extracted folder, right-click on blank area, and select &#8220;<code>Open in Terminal<\/code>&#8221; to open terminal with that folder as working directory.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-49573\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/decompress-jxl-700x494.webp\" alt=\"\" width=\"610\" height=\"430\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/decompress-jxl-700x494.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/decompress-jxl-300x212.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/decompress-jxl-768x542.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/decompress-jxl.webp 1259w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<p>In pop-up terminal window, run <code>ls<\/code> to list all contained files, and run the command below to install all the deb packages:<\/p>\n<pre>sudo apt install .\/*.deb<\/pre>\n<p>For choice, you may just install &#8216;libjxl_x.x.x_amd64.deb&#8217;, &#8216;libjxl-gdk-pixbuf_x.x.x_amd64.deb&#8217;, and &#8216;libjxl-gimp-plugin_x.x.x_amd64.deb&#8217; as the screenshot below shows you.<\/p>\n<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/apt-jxl-deb.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-46769\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/apt-jxl-deb-700x334.webp\" alt=\"\" width=\"610\" height=\"291\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/apt-jxl-deb-700x334.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/apt-jxl-deb-300x143.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/apt-jxl-deb-768x366.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/apt-jxl-deb.webp 876w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><\/p>\n<p>After installed the packages, you can now re-open image viewer and\/or image editors, and verify if they work with jxl images now.<\/p>\n<div id=\"attachment_45584\" style=\"width: 620px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/02\/gimp-export-jxl.webp\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-45584\" class=\"size-large wp-image-45584\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/02\/gimp-export-jxl-700x387.webp\" alt=\"\" width=\"610\" height=\"337\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/02\/gimp-export-jxl-700x387.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/02\/gimp-export-jxl-300x166.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/02\/gimp-export-jxl-768x425.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/02\/gimp-export-jxl-1320x730.webp 1320w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/02\/gimp-export-jxl.webp 1460w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><p id=\"caption-attachment-45584\" class=\"wp-caption-text\">GIMP can now export .jxl after this tutorial<\/p><\/div>\n<h3>Method 2: Ubuntu PPA for Ubuntu 24.04<\/h3>\n<p>Ubuntu 24.04 includes <code>libjxl<\/code> in system repository, though there&#8217;s no gdk-pixbuf and GIMP plugin.<\/p>\n<p>Some app packages (e.g., GIMP, Krita, Darktable, and gThumb) in system repository have been built INDIVIDUALLY with that <code>libjxl<\/code> library to support JPEG-XL images.<\/p>\n<p>The official <code>libjxl<\/code> package, mentioned in Method 1, is built with different package name and library files that WILL cause conflict to these app packages that depends on the one in system repository.<\/p>\n<p>So, to enable JPEG-XL support for default image viewer and other graphics apps,\u00a0it&#8217;s better to rebuild the system version of <code>libjxl<\/code> to support gdk-pixbuf plugin. And, to make life easier for beginners, I&#8217;ve upload it into this <a href=\"https:\/\/launchpad.net\/~ubuntuhandbook1\/+archive\/ubuntu\/jpeg-xl\" target=\"_blank\" rel=\"noopener\">unofficial PPA<\/a> for <code>amd64<\/code>, <code>arm64\/armhf<\/code>, and <code>i386<\/code> devices.<\/p>\n<p><b>NOTE 1: The PPA package seems working good in my case without conflict to GIMP, Krita, gThumb, but with only minor test. Don&#8217;t use it on production machine.<\/b><\/p>\n<p><b>NOTE 2: The source package is bigger than the system one, because of repack with bundled libraries (generated by running the <code>deps.sh<\/code> script in source).<\/b><\/p>\n<p><b>1.<\/b> First, press <code>Ctrl+Alt+T<\/code> on keyboard to open up a terminal window. When it opens, run command to add the PPA:<\/p>\n<pre>sudo add-apt-repository ppa:ubuntuhandbook1\/jpeg-xl<\/pre>\n<p><i>Type user password (no asterisk feedback, just type in mind) when it asks and hit Enter to continue.<\/i><\/p>\n<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/jxl-ppa.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-46771\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/jxl-ppa-700x505.webp\" alt=\"\" width=\"610\" height=\"440\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/jxl-ppa-700x505.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/jxl-ppa-300x216.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/jxl-ppa.webp 706w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><\/p>\n<p><b>2.<\/b> Then, run command to refresh package cache.<\/p>\n<pre>sudo apt update<\/pre>\n<p>This is done automatically while adding PPA in Ubuntu and its official flavors, but may NOT for some Ubuntu based systems, e.g., Linux Mint.<\/p>\n<p><b>3.<\/b> Finally, run command to install libjxl gdk-pixbuf and GIMP plugin:<\/p>\n<pre>sudo apt install libjxl-gdk-pixbuf libjxl-gimp-plugin<\/pre>\n<p>If you use the GIMP package from system repository, then <code>libjxl-gimp-plugin<\/code> is NOT required, since the image editor in Ubuntu 24.04 is built individually with jpeg-xl support.<\/p>\n<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/apt-jxl-gdkpixbuf.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-46772\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/apt-jxl-gdkpixbuf-700x343.webp\" alt=\"\" width=\"610\" height=\"299\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/apt-jxl-gdkpixbuf-700x343.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/apt-jxl-gdkpixbuf-300x147.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/apt-jxl-gdkpixbuf.webp 706w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><\/p>\n<p><b>4. (Optional)<\/b> Since Ubuntu rarely updates the libraries in system, there&#8217;s also rarely updates in the PPA. You may remove the PPA afterwards by running command:<\/p>\n<pre>sudo add-apt-repository --remove ppa:ubuntuhandbook1\/jpeg-xl<\/pre>\n<h3>How to Restore<\/h3>\n<p>For the official libjxl package from Github releases page, simply open terminal (Ctrl+Alt+T) and run the command below to uninstall them:<\/p>\n<pre>sudo apt remove jxl libjxl libjxl-dev libjxl-gdk-pixbuf libjxl-gimp-plugin<\/pre>\n<p>For <b>Ubuntu 24.04<\/b> users installed the library from PPA, first open terminal and run command to uninstall the PPA:<\/p>\n<pre>sudo add-apt-repository --remove ppa:ubuntuhandbook1\/jpeg-xl<\/pre>\n<p>Then, remove the gdk-pixbuf and GIMP plugin via command:<\/p>\n<pre>sudo apt remove libjxl-gdk-pixbuf libjxl-gimp-plugin<\/pre>\n<p>In case of removal of other apps,\u00a0 instead of remove then re-install, you may downgrade <code>libjxl0.7<\/code> package to the stock version in system repository:<\/p>\n<pre>sudo apt install libjxl0.7=0.7.0-10.2ubuntu6.1<\/pre>\n<p>The last command may not work if Ubuntu updates the library version. In the case, launch Synaptic package manager (install it from App Center), search and highlight the &#8216;libjxl&#8217; package, finally go to &#8216;Package -&gt; Force Version&#8217; and select download to the stock version.<\/p>\n<div id=\"attachment_46773\" style=\"width: 620px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/downgrade-libjxl.webp\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-46773\" class=\"size-large wp-image-46773\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/downgrade-libjxl-700x397.webp\" alt=\"\" width=\"610\" height=\"346\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/downgrade-libjxl-700x397.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/downgrade-libjxl-300x170.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/downgrade-libjxl-768x436.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/06\/downgrade-libjxl.webp 1314w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><p id=\"caption-attachment-46773\" class=\"wp-caption-text\">Downgrade libjxl<\/p><\/div>","protected":false},"excerpt":{"rendered":"<p>This tutorial shows how to enable .jxl file support for system image viewer, GIMP, and some other apps in Ubuntu 24.04, Ubuntu 22.04, Ubuntu 20.04, and even Ubuntu 18.04. JPEG-XL is a new image format by JPEG committee. It supports both lossy and lossless compression, and includes features such as animation, alpha channels, layers, thumbnails, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":46768,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[2026,1432],"class_list":["post-46767","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-howtos","tag-jpeg-xl","tag-photo"],"_links":{"self":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts\/46767","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/comments?post=46767"}],"version-history":[{"count":0,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts\/46767\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/media\/46768"}],"wp:attachment":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/media?parent=46767"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/categories?post=46767"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/tags?post=46767"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}