And between the GNOME 41 and 21.08 runtimes, 388 MB out of 715 MB were deduplicated. To summarize, between the 20.08 and 21.08 runtimes, 113 MB out of 498 MB were deduplicated. It’s a very detailed explanation on deduplication, and I recommend reading it. He looks over the sizes of runtimes and how much deduplication takes effect. Regarding this section, Will Thompson already wrote a response on his website: On Flatpak disk usage and deduplication. How much has /usr changed between releases of Ubuntu? I would guess just about all of it. I question how much can really be shared between different branches when everything is recompiled. They claim that they deduplicate runtimes. If we calculate the results instead, it takes ~555 MB out of 900 MB, which is roughly 62%. On my end, this is what happens when I install Kcalc:Ģ. It’s worth noting that next to and, it mentions “(partial)”, meaning only parts of them are downloaded. Basically, the more applications you install, the more space efficient Flatpak becomes. Deduplication ensures that applications that rely on the same dependencies will keep reusing the same dependencies. Instead, all 10 Qt applications will keep using the same 900 MB that come from the runtime. Instead of redownloading and reinstalling 9 GB (900 MB of runtimes * 10 times the Qt applications), it will not redownload and reinstall 10 times, and you will not have wasted 9 GB either. Now, suppose you install 10 more Qt applications. In the author’s example, KCalc pulls 900 MB because of the runtime and drivers. Flatpak goes to a process called deduplication, where it reuses dependencies whenever possible, avoiding the need of duplicating data. Just like system packages, the more applications you install, the more space efficient Flatpak becomes. If you don’t have Plasma dependencies installed, then the package manager will download and install all the needed dependencies, which should install the 4.4 MB for KCalc atop the Qt and Plasma dependencies. Suppose you are using GNOME on your system, and you want to install KCalc on your system. patched libraries, slightly older or newer versions of libraries, overlooked dependencies, etc.Īlso, this is actually quite similar to system packages. ![]() This is done to reduce the amount of quality assurance (QA) needed by application developers and to reduce bugs as much as possible, because application developers can test builds that were tested against the same toolchain and dependencies.īy running host libraries, there is a risk of running into distribution specific bugs, or from other sorts of negative side effects due to, e.g. It’s an entire general-purpose OS on top of your existing OS.įlatpak installs these runtimes to ensure that you and other users are running the exact same binaries and libraries across different systems, whether the libraries are backwards compatible or not. Because unlike AppImage, the runtime isn’t stripped down to just what the app needs. It ran just fine, because all of the libraries it uses are backwards compatible.įlatpak wants to download 3D drivers, patented video codecs, themes, locales, Qt 5, KDE 5, GTK 3, ICU, LLVM, ffmpeg, Python, and everything else in, all to run a calculator. I just ran the kcalc binary straight out of its Flatpak install path unsandboxed and let it use my native libraries. ![]() The rest is all redundant libraries that are already on my system. Note that the app package itself is only 4.4 MB. You’re looking at a nearly 900 MB download to get your first runtime. So how big are these runtimes? On a fresh machine, install KCalc from Flathub. Your app metadata specifies what runtime it wants to use and a service downloads it and runs your app against it. Other solutions like Flatpak or Steam download the runtime separately. Suppose you want to make a simple calculator app. The point of this response is to reduce the amount of misinformation and misunderstanding that the article might have caused, as I have seen (and still see) many users post this article very frequently, without having a proper understanding of the subject. ![]() I want to go over some of the author's arguments and explain some of the misunderstanding and claims.ĭo keep in mind that I have nothing against the author’s opinion. Late last year, this interesting article “ Flatpak Is Not the Future” was published to the public, and very quickly grabbed the Linux community’s attention.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |