this post was submitted on 12 Jun 2024
70 points (92.7% liked)
Linux
48368 readers
962 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
FYI: Flatpaks can share some dependencies and duplicate files.
They still use way more storage.
My entire distro + home + 30 appimages (which includes the equivalent flatpak applications as appimage) is
4.2 GiB
You don't have many Flatpaks installed, but you happened to install applications that depend on three different runtimes (Freedesktop, GNOME, KDE), which is where a lot of the weight is coming from. Install 20 more Flatpaks and see what happens.
Will still be using 4.79 GiB?
I will do this later anyway, but I reallly really doubt it is going to get any better, like it is already once again using more storage than an entire distro with 30 appimages + home.
It will use more, but not exponentially more if de-duplication works as well as is claimed. The problem with AppImages is that they don't include all of the dependencies, making them less reliable. At the expense of storage space, Flatpak bundles everything for reliability.
De-duplication works better the more Flatpak applications you have installed. e.g. de-duplication saves TheEvilSkeleton over 50GB of storage space here: https://tesk.page/2023/06/04/response-to-developers-are-lazy-thus-flatpak/#but-flatpaks-are-easier-for-end-users
What storage expense? appimage are actually the smallest thanks to their compression.
Compare the librewolf appimage vs a native pacakge, it is 100 vs 300 MiB iirc.
Same with libreoffice, it is 300 vs 600 MiB.
And these native packages seem to share very few libraries, because when I remove them from my system the removed size is that, 300, 600 MiB, etc.
My distro would not be 4.2 GIB if I dropped my appimages for native packages.
The total size 27 GIB for 173 apps works out at an average of 155 MiB per application.
The average appimage is also that size. Like besides very big applications like libreoffice which is 300 MiB and kdenlive which is 200 MiB. The rest of apps are usually 150 MiB or less.
And most appimages are "lazy" appimages made with linuxdeploy, if you do finer control on the build you can get the size of the appimage way way down.
One example is qbittorrent, the official appimage is 100 MiB, while there is a fork called qbittorrent-enhanced edition, and they got the size of the appimage down to 26 MiB
Hard disagree that they are less reliable, that might be less reliable on weird distros or very minimal installations, but usually the issue is that you are missing a lib and not that the app itself is less reliable, but stability wise, they have been the most reliable, case in point was yuzu, the flatpak was such as nightware that even the devs would talk againts it due to issues with mesa.
And the support channel of yuzu in their discord was full of people having issues with the flatpak that were magically fixed the moment they tried the appimage, due to that issue with mesa being outdated in the flatpak.
But anyway, I will install my applications as flatpak and compare the storage used.
I'm saying that Flatpaks use more storage for reliability, and that AppImages are less reliable because they rely on system dependencies in some circumstances.
This is why AppImages are less reliable. Flatpaks either work for everybody, or they don't work at all. AppImages might not work if you're on a "weird distro" or forgot to install something on your system.
Packaging your software with Flatpak does not mean you won't have issues. But when you do have issues, you know they'll be an issue for everybody. So when you fix it, you also fix it for everybody.
For example, the RetroArch package was using an old version of the Freedesktop Platform, which comes with an old version of Mesa. When they bumped the version (just changing it from
22.08
to23.08
), the problem was fixed: https://discourse.flathub.org/t/problems-with-mesa-drivers/5574/3Oh I'm very sorry, I didn't see the period before the
At the expense of storage space
Maybe? I've seen enough people having weird issues with flatpaks that others don't have. One recent example was somebody complaining here that the firefox flatpak took very long start, which I found odd because flatpaks aren't compressed squashfs images and should not be taking long to start up, that's an issue of appimages and snaps instead lol.
Another issue that I've noticed with flatpaks is that they are usually built with generic flags, I don't know if this is a requirement or lazy developer, but this is also an issue that yuzu had, the flatpak was built for x86-64 while the appimage was for x86-64-v2 and that had a
8% boost
on fps at the cost of people with cpus older than sandy bridge not being able to use it. (Which I mean if your cpu is that old you can't use yuzu anyway).EDIT: And by weird distro I basically meant nix or musl distros, which I know flatpak works on because it bundles an entire distro basically, while appimage tries its best to be compatible with every distro provided it uses glibc and follows the FHS.
On that there is no dispute that flatpak/snap is your only option.