Gradience, Flatseal, Loupe Image Viewer, and Resources running on Ubuntu 16.04

Firefox 118.0.2 running on Ubuntu 16.04

Door Knocker, Collision, and Cartridges running on Ubuntu 16.04

ASHPD Demo running on Ubuntu 16.04, showing a notification through XDG portals

According to Door Knocker, almost half of the portals are unavailable on Ubuntu 16.04, compared to only one unavailable on Fedora 39 with GNOME, which means Flatpaks running here may have more limited capabilities than usual.

  •  Piers   ( @Piers@beehaw.org ) 
    link
    fedilink
    English
    48 months ago

    AFAIK it’s a system to let Linux software bundle all of it’s dependencies up with it so it just works in a self contained way that doesn’t care about what else is and isn’t installed.

    Advantages is that they are more reliable and user friendly than traditional approaches to Linux software installation.

    Disadvantages are that they have bigger footprints where you might have the same dependencies I dependently installed for each app rather than as a single installation that they all utilise and that they need to be updated individually (as part of the flatpak.) IE if basically every app uses the same dependency and it turns out to have a huge security hole, under normal Linux software the developer would patch it, you’d update it and the hole would be filled. With Flatpaks you need each individual Flatpak developer to update the version used by their Flatpak and for you to update all those Flatpaks before the hole is plugged. I think I remember they run in some kind of sandbox to mitigate this though.

    • (This is going to be grossly oversimplified and possibly minorly inaccurate, but) Flatpaks are built against and run using shared runtimes, so if two Flatpaks share the same basic dependencies (and those dependencies are included in the most common runtimes, which they usually are), you only have to download the shared runtime once. Every Flatpak built on the same runtime will share the one runtime. The way you described it is a common misconception.

      Now if the packager manually bundles less common dependencies into the app itself, yes, that would have to be individually updated, but that’s theoretically more of an edge case.