Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • gnome-shell gnome-shell
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 2.1k
    • Issues 2.1k
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 154
    • Merge requests 154
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Artifacts
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
    • Model experiments
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GNOMEGNOME
  • gnome-shellgnome-shell
  • Issues
  • #5457

[RFC] modern picture format for GNOME backgrounds

What? 👇

This Request For Comments is about using a superior format to distribute the GNOME Backgrounds.

Why? 🤔

The current wallpapers in GNOME come in with a huge size of almost 50MiB. This is mostly data in binary format, so even with delta-updates (That isn't supported on many distros) it will be a huge download.

Possible solution? 💡

Usage of a better file format

Requirements ❓

To distribute them in the same way as before I have 4 requirements

  1. Availability of a gdk-pixbuf loader so nothing needs to be written
  2. A compatible OSS-License for the loader
  3. High-Quality lossy compression (like jpeg (wants to have 😇))
  4. Lossless compression possibility (like png)

Possible candidates 🎲

Because of the requirements, it came down to

webp JPEG-XL
GDK-Pixbuff-loader Yes, made by @aruiz Yes, as part of reference implementation
License LGPL2 3-clause BSD license
Lossless Compression Yes Yes
High Quality Lossy Compression Yes Yes
Does it work for apps and shell Yes Shell: yes; Apps depends¹

¹ Some apps seems to only load a preview instead of the full file and so you will get a very pixelated preview, while the file itself is OK. (gthumb)

Numbers Please 📊

Webp JPEG-XL
Repo fabiscafe/gnome-backgrounds-webp fabiscafe/gnome-backgrounds-jxl
Convert CMD PNG cwebp INPUT -lossless -o OUTPUT cjxl INPUT -q 100 OUTPUT²
Convert CMD JPG cwebp INPUT -q 100 -o OUTPUT cjxl INPUT -q 100 OUTPUT
adwaita-d.png (772,307 Bytes) 725,722 Bytes 585,817 Bytes
adwaita-l.png (1,324,104 Bytes) 1,328,818 Bytes 996,122 Bytes
brush-strokes-d.jpg (966,740 Bytes) 1,067,270 Bytes 745,567 Bytes
brush-strokes-l.jpg (1,800,447 Bytes) 2,211,394 Bytes 1,432,111 Bytes
disco-d.jpg (6,464,412 Bytes) 3,424,246 Bytes 5,591,338 Bytes
disco-l.jpg (1,935,706 Bytes) 3,475,210 Bytes 1,413,063 Bytes
libadwaita-d.jpg (565,402 Bytes) 478,294 Bytes 449,343 Bytes
libadwaita-l.jpg (1,324,104 Bytes) 1,163,686 Bytes 1,058,722 Bytes
pixels-d.png (1,133,032 Bytes) 1,072,934 Bytes 824,324 Bytes
pixels-l.png (281,134 Bytes) 196,062 Bytes 219,118 Bytes
symbolics-d.png (12,486,507 Bytes) 562,334 Bytes 3,922,175 Bytes
symbolics-l.png (13,876,802 Bytes) 951,510 Bytes 4,820,526 Bytes
truchet-d.jpg (1,347,436 Bytes) 1,151,022 Bytes 1,060,273 Bytes
truchet-l.jpg (684,426 Bytes) 496,166 Bytes 493,740 Bytes
vnc-d.png (4,773 Bytes) 44 Bytes 44 Bytes
vnc-l.png (580 Bytes) 44 Bytes 44 Bytes
wood-d.jpg (557,807 Bytes) 316,714 Bytes 241,584 Bytes
wood-l.jpg (1,094,850 Bytes) 1,352,464 Bytes 704,620 Bytes
ALL (46,517,091 Bytes) 19,973,934 Bytes 24,558,531 Bytes

² This seems to not work for pixels-{l,d}.png and vnc-{l,d}.png, both where broken after convert. I however was able to convert them using imagemagic magick -q 100 INPUT OUTPUT

Comparison-table

Assignee
Assign to
Time tracking