Afam’s enjoy in tech publishing dates again to 2018, when he labored for Make Tech More straightforward. Over time, he has constructed a name for publishing high quality guides, evaluations, pointers, and explainer articles, overlaying Home windows, Linux, and open supply instruments. His paintings has been featured on most sensible web pages, together with Technical Ustad, Home windows Document, Guiding Tech, Alphr, and Subsequent of Home windows.
He holds a primary level in Pc Science and is a sturdy suggest for information privateness and safety, with a number of pointers, movies, and tutorials at the topic printed at the Fuzo Tech YouTube channel.
When he isn’t running, he likes to spend time together with his circle of relatives, biking, or tending to his lawn.
Ubuntu was one of the first Linux distros I tried and liked, so I naturally selected Snap, its “local” common package deal. It was once most effective just lately, when I attempted Flatpak, that I discovered one of the crucial tiny problems I constantly thought to be components issues have been brought on via Snap’s sandboxing. Now I’ve used Flatpak sufficient to understand it’s normally a better choice.
The disappointment
Snap began entering into my method
Snap runs wonderful within the background, and also you normally be expecting updates to queue correctly and the apps you want to be to be had within the retailer. The issue with explicit apps like Spotify is the combo of snapd’s always-on daemon and queued refreshes, which is able to motive the app to release right into a “pending refresh” state. That is incessantly mirrored as a short lived prolong.
This explicit factor turns out absent in another apps that send as Snaps, like VS Code. On the other hand, there are different problems. With Firefox, as an example, video playback is from time to time uneven, and you aren’t getting easy scrolling. Snap’s confinement blocks correct GPU get admission to via default, which is able to motive uneven video and unsmooth scrolling.
However for some reason why, I have taken Spotify’s latency in my opinion. It is a dangerous mixture of snapd’s background overhead, strict confinement, and an app that wishes a blank, direct line for your audio components. Because the Snap Retailer is completely Canonical’s, there is not any flexibility in sourcing. Not like local programs, the place distro repositories are most effective the place to begin.
Flatpak felt lighter in an instant
Fewer issues entering into the way in which
Flatpak did not ship immediate velocity boosts or flashy options, but it surely treated the fundamentals with out entering into the way in which. I keep an eye on when updates are implemented, which means that that once I open an app, I would not have to look ahead to a refresh to use, and within the background, there is not an always-on daemon meddling.
It provides a wholesome choice of curated, faithful choices that come with lots of the apps I want. Due to Flatseal, I can tweak what a person app does with out touching system-wide settings.
When put next aspect via aspect, Flatpak has a subtle edge with tiny improvements that actually count when it matters.
|
Characteristic |
Snap |
Flatpak |
|---|---|---|
|
Retailer openness |
Unmarried, Canonical-controlled |
Flathub + further remotes |
|
Background procedure |
snapd constantly working |
No chronic daemon |
|
Replace keep an eye on |
Computerized, queued |
Consumer-controlled |
|
Theme integration |
Partial, incessantly damaged |
Progressed, however nonetheless incomplete |
|
CLI enjoy |
snap run app |
flatpak run org.app.Title (verbose) |
Snap’s mounting muddle
You will have to brace your self for the consequences for those who run lsblk on a components that has Snaps put in. You probably have ten apps, you get a minimum of ten loop entries. It is because each and every Snap mounts a compressed SquashFS symbol as a loop instrument. It leads to a number of loop entries that crowd the block instrument record, and the GNOME Disks software finally ends up cluttered.
That is an intentional a part of Snap design that aids atomic updates and powerful isolation. On the other hand, it does this at the price of a crowded components that cannot be learn simply at a look.
Flatpak makes use of OSTree for repo distribution and shared runtimes, mounting them by way of fuse-overlayfs somewhat than loop units. On this case, a number of apps use the similar deduplicated library pool. Since particular person non-public environments aren’t fastened, this way produces a filesystem that is cleaner and more straightforward to audit.
Flatpak has its personal issues
However I most popular those over Snap’s
Sandboxing on Flatpak might every now and then commute up sure apps that require deep components get admission to. I’ve seen this with VS Codium and GTK themes would not have probably the most seamless implementation.
However the giant distinction is that those problems in Flatpak are in most cases visual and will also be mounted. When problems seem, you’ll establish the motive and connect it—incessantly via adjusting permissions with Flatseal. It is a distinction with Snap the place the delays really feel invisible. You’re much more likely in charge it at the components somewhat than on Snap. The components turns out to paintings towards you. So what Flatpak did that made the variation was once supplying you with keep an eye on.
The transfer was once additionally seamless. Flatpak has an easy set up, and enabling Flathub is rather simple. I simply migrated apps like Spotify. On the other hand, the only problem was once with sure programs like ubuntu-advantage-tools that silently reinstall snapd. For those who have no idea there’s a chance of this taking place, you might imagine you have got utterly left Snap, even if it is nonetheless provide.
No longer a verdict — a call framework
You must be aware that every one I’ve completed with Snap is demote it. It is nonetheless part of my components. For a number of of my day-to-day apps, I want Flatpak; alternatively, I stay sure system-level instruments as Snaps. They just belong there. One is not constantly awesome; the most efficient instrument is the person who suits a selected process.
That is how I come to a decision what works:
|
Situation |
Top choice |
|---|---|
|
Day by day desktop apps (Spotify, GIMP, Inkscape) |
Flatpak |
|
Ubuntu components instruments (core utilities, LXD) |
Snap |
|
Firefox / Thunderbird on Ubuntu |
Both — each are upstream-maintained |
|
Apps desiring strict permission tuning |
Flatpak + Flatseal |
|
Server daemons or background services and products |
Snap |
|
Most compatibility throughout distros |
Flatpak |
What I discovered is that the more I have understood Linux package managers, the more I have moved apps to Flatpak.









