Skip Navigation

Anyone else starting to favor Flatpak over native packages?

I am currently using Linux Mint (after a long stint of using MX Linux) after learning it handles Nvidia graphics cards flawlessly, which I am grateful for. Whatever grief I have given Ubuntu in the past, I take it back because when they make something work, it is solid.

Anyways, like most distros these days, Flatpaks show up alongside native packages in the package manager / app store. I used to have a bias towards getting the natively packed version, but these days, I am choosing Flatpaks, precisely because I know they will be the latest version.

This includes Blender, Cura, Prusaslicer, and just now QBittorrent. I know this is probably dumb, but I choose the version based on which has the nicer icon.

253 comments
  • I'm glad to see you've gotten a ton of feedback here, and I just wanted to add another comment in support of flatpaks and image-based computing. I've been using Linux extensively for about 15 years now, mostly Arch and Debian Sid. I've been a distro packager, and I've compiled plenty of my own apps over the years.

    This past year I took Fedora Silverblue for a spin after following the project for quite some time, and I am convinced that the image-based system approach, coupled with containerized and sandboxed userspace applications, is the future of Linux for most users. It makes so much sense from nearly all perspectives; whether security, reliability, or flexibility.

    Integral parts of the system are mounted read-only by default. Simple commands can rollback unwanted changes, upgrade to a new distro release, or even sideload an entirely different OS. System updates are automated, as are flatpak updates, and there is little-to-no risk to stability due to the very nature of the essentials-only system images. And if something catastrophic did happen, you're just a reboot away from rolling it back.

    Consider for a moment the collective energy and time that distro package maintainers must undertake on a weekly basis. Much of it simply repeated by each distro, building the same applications over and over again. Flatpaks are built once and deployed everywhere. Think of the collective potential that could be directed elsewhere.

    Couple this with containers and the choice of distro matters even less. Arch, Debian, Ubuntu and Fedora are just a keystroke away. Yes, you can run containers on any distro of course, but you don't gain any of the other ostree benefits mentioned above.

    I have since moved all of my workstations to Silverblue and I don't see myself ever going back to a traditional system again. If anything, I may start automating my own image deployments, similar to Universal Blue.

    Yes, flatpak as a platform still needs some work, and so does ostree, but both are evolving quickly and will only get better with time.

    To others who complain about needing Flatseal...in my opinion, this is a feature to be embraced, not loathed. Sane defaults are rarely sane for everyone, and Flatseal exists to give you complete control over what an app can or cannot see and do.

    • Thank you for writing all this! Innovation is absolutely necessary not just in Linux, but all computing. People are comparing this to Window installs, and honestly it is probably more similar to MacOS installs. Yet, the difference is that the packages are audited by a community, and are not proprietary wildcards that might bite you in unexpected ways. Flatpaks are an options, not a replacement.

      Dealing with software that does not work first try is a loathsome experience. Many people here are wearing their gray colored classes, opinions influenced by decades of tinkering, and are forgetting about the curse of knowledge.

      If we want more people to adopt linux, Flatpaks absolutely help.

      Lastly, saying image-based reminds my a lot about Smalltalk, which is nice. I like the idea of having hot-swappable operating systems to switch between that have all the work isolated in that image. Great for experimentation, and perhaps security.

      I will definitely be checking out Fedora Silverblue. Going to download and make a VM for that now.

    • I've been using NixOS with flatpaks and distrobox and have had pretty much the same experience. NixOS provides rock solid base system, services, and CLI tools that are easy to configure and flatpaks provide the rest of the desktop applications.

      One neat feature of installing eveything through flatpak is that you can update applications individually without having to upgrade the whole system.

  • Absolutely not, and this article goes into quite a few reasons why:

    https://blog.brixit.nl/developers-are-lazy-thus-flatpak/

    Sadly there's reality. The reality is to get away from the evil distributions the Flatpak creators have made... another distribution. It is not a particularly good distribution, it doesn't have a decent package manager. It doesn't have a system that makes it easy to do packaging. The developer interface is painfully shoehorned into Github workflows and it adds all the downsides of containerisation.

    While the developers like to pretend real hard that Flatpak is not a distribution, it's still suspiciously close to one. It lacks a kernel and a few services and it lacks the standard Linux base directory specification but it's still a distribution you need to target. Instead of providing seperate packages with a package manager it provides a runtime that comes with a bunch of dependencies.

    If you need a dependency that's not in the runtime there's no package manager to pull in that dependency. The solution is to also package the dependencies you need yourself and let the flatpak tooling build this into the flatpak of your application. So now instead of being the developer for your application you're also the maintainer of all the dependencies in this semi-distribution you're shipping under the disguise of an application. And one thing is for sure, I don't trust application developers to maintain dependencies.

    Even if there weren't so many holes in the sandbox. This does not stop applications from doing more evil things that are not directly related to filesystem and daemon access. You want analytics on your users? Just requirest the internet permission and send off all the tracking data you want.

    Developers are not supposed to be the ones packaging software so it's not hard at all. It's not your task to get your software in all the distributions, if your software is useful to people it tends to get pulled in.

    Another issue is with end users of some of my Flatpaks. Flatpak does not deal well with software that communicates with actual hardware. A bunch of my software uses libusb to communicate with sepecific devices as a replacement for some Windows applications and Android apps I would otherwise need. The issue end users will run in to is that they first need to install the udev rules in their distribution to make sure Flatpak can access those USB devices. For the distribution packaged version of my software it Just Works(tm)

  • On my main PC I use for gaming I run Arch and prefer native packages whenever I can use them. I'm quite happy to have this one computer by a hobby project, and native applications just make more sense on something as up to date as Arch when they're available. I have started to prefer Flatpak over AUR packages though. The AUR is pretty overrated, in my opinion.

    On my laptop and anything else I install Linux on I usually just use LMDE, and I'll often prefer the Flatpak, just because it's way more up to date. There are some apps that Mint keeps up to date native versions of, and there are some apps that come preinstalled that I just don't care about having the latest version of, but for everything else I usually just download the Flatpak.

253 comments