Will we switch to a better image viewer called loupe

as we have 2 image viewer which is unnecessary switching to a better one makes sense on fedora 39

1 Like

That program is in the “incubator” section on GNOME GitLab. You can read more about that process here: Incubator / Submission · GitLab, but in short it looks like the app author hopes for it to be a default in GNOME at some point.

We could consider doing it early — I know we’ve been unhappy with the state of image previews for a while. And, using a safer language like Rust seems like a good idea for an image viewer application — something which will likely open untrusted files frequently. I haven’t looked at the details, though, which are important: for that to be meaningful, it’d have to be Rust all the way down, not linking to “legacy” libraries.

Packaging Rust applications in Fedora Linux isn’t always easy with our current approach — especially if there a lot of those dependencies. I don’t see that loupe is packaged, so that would be the first step.

1 Like

Based on a recent Reddit discussion, it seems that its more at an early application preview stage rather than adoption planning stage.

Actually i was following that on matrix and i find that this app will be a photos app gnome know that and i think it will be on gnome 45 whatever they have talk about…
I was testng this app when it was not released and it was in a beta stage. I find it is smooth and awesome but dependency case i don’t know as i built it as flatpak.

I totally agree

The evil formats here are AVIF and HEIC, requiring libheif and an av1 and x265 decoder, respectively. Those are all not implemented in rust. They will be optional, though. All other formats are currently using (practically) safe rust. Things like the EXIF parser do as well. Other optional formats I currently consider are JPEG XL and JPEG 2000, which also don’t have a rust implementation.

So I guess the C(++) part is more overseeable for Loupe, but it’s still a mixed bag. Since I don’t see that we will totally get rid of those things too soon, I have a rough technical concept for moving image decoding into separate sandboxed processes. I can’t promise that for GNOME 45, though.

We are happy to consider feedback from distributions. That’s part of the idea behind the Incubation process. One place for that would be the tracking issue for Core inclusion tracking: Loupe (Image Viewer) (#20) · Issues · Teams / Releng / App Organization · GitLab

I would recommend considering other sources xD

1 Like

Loupe is currently on track to be installed by default in Fedora 39, replacing eog. This is not guaranteed, but it currently seems like the most likely outcome. The change is tracked here.

Loupe will be default in gnome 45

Small but important correction: librsvg, while written in Rust, still uses GdkPixbuf to load pixel graphics inside of SVGs. It’s not clear if that will change until 45.

1 Like

In case someone finds this thread in search or something: Since 45.beta, Loupe is running all decoding as separate processes spawned in bwrap. So they are all sandboxed. The sandbox has no write access or network connection. Some additional sandbox hardening can probably be done in the future.