Beta Flatpak now available

For those in the Avogadro community that use Linux, it has been possible for a while now to get Avogadro in three different ways – from your distro’s package manager, as a Flatpak from Flathub, and as an AppImage.

The latest features and fixes are only available in the nightly builds though, and on Linux these have always been restricted to the AppImage format. No longer though, as we now have a beta branch of the Flatpak up and running.

As of today the beta has no known remaining bugs that are specific to the Flatpak (:tada:), so it’s ready to go for anyone who wants to try it! If you’re interested, the website now has a short section about the Flatpak, including instructions for setting up Flathub’s beta repository.

This “beta” is cutting edge, just not quite nightly. It’ll stay reasonably close to the current builds (envisaging updates every 1–3 weeks, depending on the speed of development).

The AppImage meanwhile won’t go anywhere, as the different formats have different strengths and use-cases; I would say though that the nightly/beta user experience is likely to be best had on Linux with the Flatpak going forward, as it adds automatically to your app launcher, allows for easy updating to keep abreast of the newest stuff, and has far fewer dependencies on your system making for a more consistent experience between distros.

The stable branch of the Flatpak will continue to ship the normal, main releases (1.99 etc.). This is of course complementary to the traditional packages available from distro repositories, which for main releases will continue to suit a lot of people better.


Note: For users who do not already know or use Flatpak it may pay to be warned that it is not an ideal solution for those with restricted storage space, who are likely better off with the other formats. Although the installed Flatpaks on a system share runtimes between them, a fresh install of Avogado (205 MB) on a system with no other Flatpaks will also install the KDE runtime and freedesktop.org openGL extension (1.4 GB total on disk).

1 Like

If Avogadro is the only “extra” to an otherwise office-only Linux computer, then 1.4 GB predicted here for the environment to run a flatpack at all (of which 205 MO are for Avogadro) indeed are heavy compared to about a tenth for the AppImage.

The flathub page reports 170 MB for download, and about 455 MB for installation. While this page equally provides commands to the CLI, I equally know this won’t work in the library of our uni: no flatpack and terminal/terminal emulator only is available to the administrator. Hence the GUI based decompression of the zip archive of the AppImage is (or now: was) so practical, too.

Instead of removing the AppImages for good, were it possible to retain the recipe to build them, and run this task at a lower frequency instead? For instance, instead of a nightly update to run this cron job e.g., the first Saturday each month (if there was a change), plus one AppImage to be provided on the GitHub release page?

No worries - we will provide multiple release packages. The AppImage isn’t going anywhere.

I think @matterhorn103 was just frustrated because there are some issues (cough OpenSSL) that are somewhat inherent to the AppImage format (i.e., because it uses Ubuntu 20.04 as the target).

If someone wants to help get other packages (e.g., snap? Linux ARM?) building, that’s always welcome.

1 Like

Like you say and as I really tried to emphasize in my post, the Flatpak is definitely not suitable for everyone! An AppImage has its own advantages and wins out for particular use-cases, so there is no reason at all to deprecate it, and no one is suggesting to. So don’t worry about that. I don’t even see the need to reduce the frequency of AppImage builds, the nightly is useful. :slight_smile:

KDE’s Discover and GNOME Software both support GUI download of Flatpaks, as do many other GUI app stores. That’s actually where they shine.

Flatpak installation doesn’t require administrator permission if they are installed for the user only, as they then get installed into the user’s home directory, like AppImages. Discover certainly supports user installations, I don’t know about GNOME.

I also find it surprising that Flatpak isn’t available to you, and would be even more surprised if that was the case for many users. It comes pre-installed on most distros these days, even Debian has had it since Buster (10, released 2022).

Of course it could be that you’re using Ubuntu, in which case that comes down to Ubuntu wanting to push snap. As @ghutchis says, a snap would be great to have too, it has many of the same advantages as Flatpak, but that’d have to be made by someone who uses Ubuntu.

These days storage is plentiful and I think actually for most people it wouldn’t be a huge concern. Our PCs at uni all have 250 or 500 GB SSDs, and barely 100 tends to actually get used as most stuff is kept on servers. But naturally that’s not the case for everyone; some systems only allocate a small amount of space for users’ personal home, some people have older laptops with only 128 GB of storage, and so on. Hence I thought it was important to warn users for whom storage is a concern.

Flatpaks really start to come into their own once you start using several of them and they all share runtimes; for anyone who already has a Flatpak that uses the KDE runtime the only additional storage required is that for Avogadro itself.

Also, for some users storage is perhaps less of an issue than bandwidth, and here Flatpak has the advantage that updates are small deltas whereas the whole AppImage has to be downloaded each time. Only relevant for people who want to update regularly, of course.

Yeah. AppImages still rely on a lot of system libraries, so they’re not really very self-contained at all. OpenSSL is exactly an example, and it means that people on up-to-date distros currently cannot use the plugin downloader with the AppImage, and there’s nothing we can do about it until we move to Qt6. That’s also why AppImages of older releases simply don’t work on modern systems.

Anyway, I’m not here to persuade you that the AppImage isn’t right for you, you know your own use-case! Choice is good and use-cases are varied, that’s why it’s nice to have both Flatpak and AppImage, both stable and nightly/beta. :slight_smile:

In general though Flatpaks are only getting more and more popular and there’s a lot of time being invested into growing the ecosystem. Immutable desktops are becoming more popular (Fedora Silverblue/Kinoite, openSUSE Aeon, Bazzite) and they use Flatpak exclusively. So yeah, they definitely don’t suit everyone, but there is a “market”, as it were.

1 Like

Speaking of which, do you know if any of the distro maintainers are already building functional ARM builds? And if it works at all?

Flatpaks are actually normally built by Flathub for both x86 and ARM by default, but the ARM builds were turned off for the stable branch a long time ago. So I had been meaning to investigate if they would work now with Qt6.

Edit: When attempted the ARM Flatpak build fails with

/run/build/avogadro2/avogadrolibs/avogadro/qtgui/meshgenerator.cpp:1186:5: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]

printed literally 2000 times (with varying line number).

That’s weird. I can look into it, but -Wnarrowing shouldn’t be a build error.

Yes, there are distros with ARM builds, e.g.
https://launchpad.net/ubuntu/+source/avogadro

1 Like

Were Arch Linux/AUR (which repology.org lists as a source of for Avogadro2 here) or Arch Linux ARM an example?

1 Like

That repology.org link is actually exceedingly useful, thank you. The Arch AUR builds in particular don’t help as they are for x86 only, but I see that the recipes for the Fedora builds specify noarch and Ubuntu has arm64 builds.

So that gives me some maintainers to get in touch with. I assume you know who they are, @ghutchis? Are they ever around on the forum or shall I just use the contact info on the Fedora/Ubuntu pages?

Last time, @RizzerOnGitHub was handling the Debian / Ubuntu package. I don’t know if sagitter (Antonio) · GitHub is on here or not. FreeBSD also has yurivict (yuri@FreeBSD) · GitHub who has reported various packaging / compile bugs and has aarch64 packages FreshPorts -- science/avogadro2: Chemical editor and visualization application

1 Like