I’ve been involved with Linux for a long time, and Flatpak almost seems too good to be true:
Just install any app on any distro, isolated from the base system and with granular rights management. I’ve just set up my first flatpak-centric system and didn’t notice any issues with it at all, apart from a 1-second waiting time before an app is launched.
What’s your long-term experience?
Notice any annoying bugs or instabilities? Do apps crash a lot? Disappear from Flathub or are unmaintained? Do you often have issues with apps that don’t integrate well with your native system? Are important apps missing?
I don’t like it. Updating dependencies in case of security problems is impossible, I have to wait for the developer to release an update. Also, it wastes a lot of space. Pollutes
df
output. App startup is slooow.Just use the native packaging system! There is no reason software can’t be released using that.
Wdym by
df
pollution? That’s the case with snap, not flatpakidk what type of drive you’re using, but flatpak startup times are indistinguishable to me, when compared to native packages. And I’ve used flatpaks on A LOT of computers…
There’s a pretty simple reason. It’s that developers don’t have to spend the time to package for every single distro. I know I wouldn’t, I’d just focus on packaging for the distro that I use and flatpak. Having flatpak also means that some less known distros start with a big amount of apps available from the get go with flatpak.
I see that fragmentation of runtimes is a problem. If all apps would simply use the same runtime, and a modern one, and there was a package manager that installs the missing dependencies, that would be nice.
The diskspace is a true problem too, just because of the fragmented runtimes.
But Distros are fragmented too. If simply everyone could unify, at least a bit, instead of at least 5 different big Distros competing, every app could just work. But thats not the case, so Flatpaks often work best, and maany packages are either only .deb, .rpm or even only on Arch
Just to provide counter examples, in arch I can’t use the native steam package and play games with proton. It just doesn’t work. I think proton expects some ubuntu libraries or something (found something like that while spending 5 hours debugging nfs heat). And even if I manage to fix it, next time I update the system it’ll be broken again.
I use flatpak, and everything just works.
However, in arch if something is in the official repo or the AUR i prefer those.
In ubuntu I installed krita and gmic, but it doesn’t work. For some reason krita doesn’t find the gmic executable. Instead of debugging krita and gmic for hours I just installed the flatpak version, and it just works.
And yeah, app startup went from 5 to 7-10 seconds in krita, and from 1 to 2-3 seconds in firefox. It’s not snap, it’s 2023, we have SSDs.
Really? I use Arch native Steam and Proton no problem. You either use steam-runtime (uses built in Ubuntu runtime) or steam-native (expects Arch packages) but there is a meta package for pulling the runtime deps. Both have worked for me.
That said, Flatpak has come in clutch for me as well on the Steam Deck, and for things like Prism Launcher (modded Minecraft launcher) where you want to juggle multiple Java versions without needing to run archlinux-java between switching packs.