#22075 closed enhancement (fixed)
Add glycin and let gdk-pixbuf use it
| Reported by: | Xi Ruoyao | Owned by: | blfs-book |
|---|---|---|---|
| Priority: | normal | Milestone: | 13.0 |
| Component: | BOOK | Version: | git |
| Severity: | medium | Keywords: | |
| Cc: |
Description (last modified by )
The release note of new gdk-pixbuf recommends to use glycin (https://download.gnome.org/sources/glycin/2.0/) on Linux, and non-glycin loaders will be removed (moving into a separate repo that nobody will maintain) in the future.
The problematic part about glycin is for AVIF it only supports libheif, not libavif that we already have. And libheif needs libde265 in turn (because it supports both HEIF that uses a x265 decoder, i.e. libde265 and AVIF that uses an AV1 decoder, i.e. libaom or libdav1d).
So one approach for the book is:
+ libde265 + libheif + glycin - webp-pixbuf-loader (can be completely superseded by the glycin loader)
libde265 and libheif can also be used by gimp, gst-plugins-bad, and imagemagick. We cannot remove libavif as many packages only support it, not libheif.
Another approach is not to add libheif, but leaving AVIF to be loaded by the current loader in the book (the one bundled in libavif), we'd have:
+ glycin - webp-pixbuf-loader
Change History (12)
comment:1 by , 13 months ago
| Description: | modified (diff) |
|---|
comment:3 by , 13 months ago
| Milestone: | 12.5 → 99-Waiting |
|---|
Need to triage all the test failures before switching to it.
comment:6 by , 12 months ago
That sounds like a good plan, but we definitely should address this again soon as this approach will not be supported in the future; especially since most other distros are using glycin now. The reasoning makes a lot of sense too, the decoders are all sandboxed... which is huge for security
comment:7 by , 12 months ago
Still no better with latest glycin and gdk-pixbuf.
I like switching to glycin, but the in-explainable test failures are too troubling. Especially:
gdk-pixbuf:slow / pixbuf-randomly-modified time out (After 300 seconds)
IMO this is not good. The gdk-pixbuf loader should not hang on *any* input as it may be used on random online images.
comment:8 by , 12 months ago
And I know the upstream seems considering truncated files like bug696331.png or the animated GIF no longer valid, but why they cannot just remove them or update the test expectation? Are they thinking "hey we are just a wrapper of glycin now so the test result does not matter?"
comment:9 by , 11 months ago
I'm running gdk-pixbuf built with glycin on my system now to see if there's some issue.
comment:10 by , 11 months ago
Replying to Xi Ruoyao:
Another approach is not to add libheif, but leaving AVIF to be loaded by the current loader in the book (the one bundled in libavif), we'd have:
+ glycin - webp-pixbuf-loader
It turns out the approach doesn't work: gdk-pixbuf will always attempt to use glycin to load AVIF if glycin is enabled, and it won't fall back to the loader from libavif if glycin fails.
I've edited the book at the xry111/glycin branch. I've been using the new gdk-pixbuf for two days and there seems no issue except the gdk-pixbuf test suite. I've marked it "the test suite does not provide a meaningful result" in the branch for now.
comment:11 by , 11 months ago
| Milestone: | 99-Waiting → 12.5 |
|---|---|
| Resolution: | → fixed |
| Status: | new → closed |
Done at r12.4-433-g2d857974aa.

I get a very dirty test result from gdk-pixbuf built with glycin... I don't dare to install it at all :(.