Flatpak: after some time of active usage

cleac profile image alexcleac ・1 min read

I've been using Flatpak for a bit of time. I like it's power, but made some conciderations on it's real pros and cons while running the system, so I came up with this post full of my thoughts on subject.

For those, who missed it, a short brief introduction. Flatpak is package manager made by people from GNOME Foundation aimed to create distribution-agnostic package manager to make it simpler to distribute software for Linux developers. It's, in fact, pretty powerful hybrid of isolated runtime and package manager, that allows both at the same time, with possibility to really run every application in isolated runtime, close to how it works in Android. I definitely recommend to try it out and then make any decisions on whether you need it at all.

So, let's go straight to my thoughts. Personally I like Flatpak. It's really nice way to try out piece of software that is not available in your package manager, without bloating your root file system with redundant libraries. For instance, I had kdenlive installed in the system (which depends on KDE Libs, which is hard thing to clean fully), and after I removed it - I removed KDELibs dependencies in one command, because I didn't need them any more. And this all without any pain of figuring out, what are names of packages it dependent or files they created and filled with some configurations or some other information. That's awesome.

But, if you start using Flatpak, remember one simple thing: after you install one single application, your system setup will nomore be lightweight. Because if you had every dependency installed when really needed, then Flatpak will probably install whole gnome if you need just a calendar. Or whole KDE if you need only a kdenlive, or Telegram Desktop. And all this things will be either in root partition or in your home partition - this is matter of your choice. However, if you need one single application for this thing that you do once in a year, you can install it and then completely remove without increasing system bloat (as I said earlier).

You can experience lag in random ways and random places. For instance, first load of application list makes AwesomeWM to lag for several seconds if there is any application installed with Flatpak. I should probably investigate it further, but that's an issue, because for my opinion, there should be no reasons for that. I use Albert for running applications, but same thing - before it starts displaying me results, it should pass a bit of time after system startup.

Then, there are a bit of caveats of system isolation. No application will be available to read your home directory when runned in flatpak (fix me if I'm mistaking). There are several directories mounted to the isolated environment and they are the most you can access from it. Mostly, it's OK. But, for instance, it makes running a terminal emulator with custom default shell impossible. Or running an application that depends on ~/.config/ directory. They are simply inaccessible.

But still, I like the concept and the implementation of it. I still use it, even experiencing some issues, for applications I don't want to have full access to my home directory. Or applications I need only several times a year and which would require me to install whole tonn of dependencies.

Also, Flatpak is a great opportunity to make Linux closer to user, and to convince more people in fact that Linux is OS that makes difference. Maybe Gnome is not as lightweight as other, but Flatpak is usable with and Desktop Manager of choose. So that people will be able to find, install and use great software with experience like it is in OSx, Android, iOS and Windows 10. Even without knowing, how to patch KDE 3 for it (a bad joke, but hope someone will understand it) or how to hack the NVidia driver for their card to make things at least work.

Give it a try as user. And if you are a developer that made some GUI application for Linux, try adding it to Flatpak. If you will do it, more people will be able to try it out and make your small tool their daily-usage instrument. Don't stand the ground on UNIX-filosofy - it doesn't make sense to keep system pure if nobody uses it. Flatpak is another simplification for user, as it is PulseAudio, Systemd, Wayland and more. Give it a chance.

Remember that article is not that "Flatpak is bad". This article is about "Flatpak is great, but there is some things that should be noted".

Thanks for reading, you were reading post by @alexcleac. Feel free to subscribe me at https://mastodon.technology/@alexcleac, here or here, on dev.to.

Have a good day :D


Editor guide