Why you should use flatpaks over out-of-distribution repos

Introduction

In the openSUSE forums we see a lot of help requests for issues that are 100% related to the use of packages from (multiple) repositories that do not belong to the install media and preconfigured repos. Things like software.opensuse.org and opi are open invitations to get a user into such issues. But there is not only that …

The home:/$USER repos

The recent malware infections of Arch’s AUR have made the danger of that kind of practices very clear. And let me enlighten you all: The home:$USER repos are no better than the AUR. The difference is only that Arch depends on the AUR, where openSUSE has the home: → devel → Factory route and only what passes the various reviews gets in Factory and after openQA testing ends up in the distros. But the packages from the home:/$USER repos lack those reviews and testing. The devs in those repos use it as a private playground for packages where they are free to change and break whatever they want ( within the rules and limits of OBS ).
Conclusion: Using home:/$USER repos == exposing your system to broken software and potential malware attacks.

Flatpaks

Too often I hear: “I want openSUSE packages, I don’t want/like flatpaks”. My counter question “What makes you not want/like flatpaks?” mostly remains unanswered, OK some “Just don’t like them” but no real argument.
Well, let me enlighten you: packages from home:/$USER repos are not ( yet ) openSUSE packages.
Flatpaks

  • live isolated, are not part of the host system ( sanboxed )
  • cannot touch the host system ( unless explicitly given permission )
  • come with their own codecs
  • can ( and IMHO should ) be installed in the user’s home directory
  • are being tested, reviewed and some Q&A is done as well.
  • can be dealt with through GNOME Software, KDE Discover

The choice you have

  • Get over your prejudice against flatpaks, use them and be fine
  • Keep strugling wih repos, broken packages, package conflicts and a potentially compromised system.

I picked the first choice about four years ago and live with just these repos

knurpht@Lenovo-P16:~/.local/bin> LANG=C zypper lr
Repository priorities are without effect. All enabled repositories share the same priority.

# | Alias                      | Name              | Enabled | GPG Check | Refresh
--+----------------------------+-------------------+---------+-----------+--------
1 | google-chrome              | google-chrome     | Yes     | (r ) Yes  | No
2 | openSUSE:repo-non-oss      | repo-non-oss      | Yes     | (r ) Yes  | Yes
3 | openSUSE:repo-openh264     | repo-openh264     | Yes     | (r ) Yes  | Yes
4 | openSUSE:repo-oss          | repo-oss          | Yes     | (r ) Yes  | Yes
5 | openSUSE:repo-oss-debug    | repo-oss-debug    | No      | ----      | ----
6 | openSUSE:repo-oss-source   | repo-oss-source   | No      | ----      | ----
7 | openSUSE:update-tumbleweed | update-tumbleweed | Yes     | (r ) Yes  | Yes
knurpht@Lenovo-P16:~/.local/bin> 

The rest I use is flatpaks, distrobox or VM.

5 Likes

Or appimages. I personally prefer the appimges to flatpaks, just because you can get the appimage directly from the developer

3 Likes

That is another subject, right? I have my experiences with, and opinions about appimages, but I intentionally kept that out.

1 Like

Dear @knurpht

are you willing to show us a flatpak list, so we could get an impression what Flatpaks you use over repo packages.

It’s not my motivation to spy on your installed Flatpaks generally, but to see what Flatpaks you use instead of repo packages…

Here you go:

knurpht@Lenovo-P16:~/.local/bin> flatpak list
Naam                                    Toepassings-ID                                  Versie                     Branch         Installatie
Easy Effects                            com.github.wwmm.easyeffects                     8.2.5                      stable         user
Whatsie                                 com.ktechpit.whatsie                            5.1.0                      stable         user
OBS Studio                              com.obsproject.Studio                           32.1.2                     stable         user
RustDesk                                com.rustdesk.RustDesk                           1.4.8                      stable         user
Bottles                                 com.usebottles.bottles                          64.1                       stable         user
HandBrake                               fr.handbrake.ghb                                1.11.1                     stable         user
Cameractrls                             hu.irl.cameractrls                              0.6.10                     stable         user
Element                                 im.riot.Riot                                    1.12.20                    stable         user
SMPlayer                                info.smplayer.SMPlayer                          25.6.0                     stable         user
coppwr                                  io.github.dimtpap.coppwr                        1.7.1                      stable         user
Packet                                  io.github.nozwock.Packet                        0.6.1                      stable         user
Webcamoid                               io.github.webcamoid.Webcamoid                   9.3.0                      stable         user
LibreWolf                               io.gitlab.librewolf-community                   152.0.2-1                  stable         user
Ardour                                  org.ardour.Ardour                               9.7.0                      stable         user
FreeCAD                                 org.freecad.FreeCAD                             1.1.1                      stable         user
Calf                                    org.freedesktop.LinuxAudio.Plugins.Calf         0.90.9                     25.08          user
LSP                                     org.freedesktop.LinuxAudio.Plugins.LSP          1.2.33                     25.08          user
MDA                                     org.freedesktop.LinuxAudio.Plugins.MDA          1.2.12                     25.08          user
TAP-plugins                             org.freedesktop.LinuxAudio.Plugins.TAP          1.0.1                      24.08          user
TAP-plugins                             org.freedesktop.LinuxAudio.Plugins.TAP          1.0.1                      25.08          user
ZamPlugins                              org.freedesktop.LinuxAudio.Plugins.ZamPlugins   4.5                        25.08          user
SWH                                     org.freedesktop.LinuxAudio.Plugins.swh          0.4.17                     24.08          user
SWH                                     org.freedesktop.LinuxAudio.Plugins.swh          0.4.17                     25.08          user
x42Plugins                              org.freedesktop.LinuxAudio.Plugins.x42Plugins   2026.04.20                 25.08          user
Freedesktop Platform                    org.freedesktop.Platform                        freedesktop-sdk-25.08.13   25.08          user
i386                                    org.freedesktop.Platform.Compat.i386                                       25.08          user
Mesa                                    org.freedesktop.Platform.GL.default             26.0.6                     24.08          user
Mesa (Extra)                            org.freedesktop.Platform.GL.default             26.0.6                     24.08extra     user
Mesa                                    org.freedesktop.Platform.GL.default             26.0.8                     25.08          user
Mesa (Extra)                            org.freedesktop.Platform.GL.default             26.0.8                     25.08-extra    user
Mesa                                    org.freedesktop.Platform.GL32.default           26.0.8                     25.08          user
Mesa (Extra)                            org.freedesktop.Platform.GL32.default           26.0.8                     25.08-extra    user
Codecs Extra Extension                  org.freedesktop.Platform.codecs-extra                                      25.08-extra    user
i386                                    org.freedesktop.Platform.codecs_extra.i386                                 25.08-extra    user
openh264                                org.freedesktop.Platform.openh264               2.5.1                      2.5.1          user
Fractal                                 org.gnome.Fractal                               14                         stable         user
GNOME Application Platform version 49   org.gnome.Platform                                                         49             user
GNOME Application Platform version 50   org.gnome.Platform                                                         50             user
Jitsi Meet                              org.jitsi.jitsi-meet                            2026.6.0                   stable         user
Adwaita theme                           org.kde.KStyle.Adwaita                                                     5.15-24.08     user
Adwaita theme                           org.kde.KStyle.Adwaita                                                     5.15-25.08     user
Adwaita theme                           org.kde.KStyle.Adwaita                                                     6.10           user
Adwaita theme                           org.kde.KStyle.Adwaita                                                     6.9            user
KDE Application Platform                org.kde.Platform                                                           5.15-24.08     user
KDE Application Platform                org.kde.Platform                                                           5.15-25.08     user
KDE Application Platform                org.kde.Platform                                                           6.10           user
KDE Application Platform                org.kde.Platform                                                           6.9            user
QGnomePlatform                          org.kde.PlatformTheme.QGnomePlatform                                       5.15-24.08     user
QAdwaitaDecorations                     org.kde.WaylandDecoration.QAdwaitaDecorations                              5.15-24.08     user
QAdwaitaDecorations                     org.kde.WaylandDecoration.QAdwaitaDecorations                              5.15-25.08     user
Amarok                                  org.kde.amarok                                  3.3.3                      stable         user
Calligra                                org.kde.calligra                                26.04.2                    stable         user
Kdenlive                                org.kde.kdenlive                                26.04.2                    stable         user
LocalSend                               org.localsend.localsend_app                     1.17.0                     stable         user
PhotoQt                                 org.photoqt.PhotoQt                             5.4                        stable         user
Signal Desktop                          org.signal.Signal                               8.16.0                     stable         user
Telegram                                org.telegram.desktop                            6.9.3                      stable         user
VLC                                     org.videolan.VLC                                3.0.23                     stable         user
gecko                                   org.winehq.Wine.gecko                                                      stable-25.08   user
mono                                    org.winehq.Wine.mono                                                       stable-25.08   user
knurpht@Lenovo-P16:~/.local/bin> 
1 Like

I just wanted to add that at least for my use case, flatpaks allow me to get around Packman and/or the VLC repo.

I used to install the multimedia codecs from Packman or VLC-repo.
I figured the only apps that I really need it for are Firefox, VLC and yt-dlp. For all three of those there are flatpak versions available.

This saves me the trouble with version sync issues that popped up maybe once a year between packman and the oss-repo on Tumbleweed.

I agree with the sentiments. However, at present gnumeric is not available in any repo or as a flatpak for Leap 16 even though both were available for Leap 15.6. So I can understand the temptation to go elsewhere - which I have resisted.

@john_hudson it’s there?

flatpak search gnumeric
Name                            Description                                                          Application ID              Version       Branch       Remotes
The Gnumeric Spreadsheet        A High-Precision Spreadsheet Program                                 org.gnumeric.Gnumeric       1.12.61       stable       flathub
1 Like

Thank you. However, when entering those commands and trying to download gnumeric directly, I got an error message. So I tried the suggested alternative which used Discover but Discover also gave me an error message.

I had not previously tried to install gnumeric via the CLI because I assumed that, as it was not in Leap 16.0 Discover, that would not work. However, having got this far, I decided to try that and it did work.

You don’t show the error, but I think you don’t have a flatpak remote enabled. Do flatpak remotes and post output here.

1 Like

I do use flatpak apps and agree with points in the first post, but there are a few issues like :

  • inconsistent theming
  • for people like me using older machines (Sandy bridge), no hardware video decoding due to mesa packaging for flatpak… I know it’s an edge case but still painful :slight_smile:

Hello. I’ve recently started using Flatpaks on Tumbleweed, and occasions this has been because of issues I’ve had with the package from the official repository – for example, Firefox recently stopped working for me, so I’m using the Flatpak version instead, and it’s working very well.
I think you’re right about the main reasons for using Flatpak. I think from now on I’ll be using the Flatpak version of the programmes I use most often.
Best regards

I consider both minor ( even “not real” ) issues. To kill 2 flies in one smash: People with that kind of hardware are used to see a mix of Qt and GTK ( 3 + 4 ) window decorations ( f.e. Firefox on KDE ). There is no pain to that, you are not hurt, :sweat_smile:

Oh dear, oh dear, where on earth should I start?
Suffice to say that Steam, which is suggested time and again, is available on Flathub from an uncertified source.
Packages require considerably more storage space.
Many programmes won’t run without elevated privileges. Libraries and the like appear multiple times. The same goes for Wind***. You have to trust that the packages within a software bundle are always up to date. But they aren’t.
I find more programmes in the official repositories that don’t work or are out of date than in the home repositories. You don’t have to install everything, either. And you do check things out beforehand, too. And you can always get in touch with me, at least, if something doesn’t work.
And comparing Arch with home doesn’t really hold water either.
In my opinion, they just want to offload or cut back on responsibility, work and, consequently, jobs.
With Flathub, they’re taking the easy way out.

Let me help you out:

knurpht@Lenovo-P16:~> flatpak search steam | grep Steam | grep Launcher
Steam   Launcher for the Steam software distribution service    com.valvesoftware.Steam 1.0.0.85        stable  flathub
knurpht@Lenovo-P16:~> 

FYI Valvesoftware is a trusted source, they make Steam

If you’d leave out “considerable”, I could agree with you for once

That is a totally different ecosystem, leaving that out

Then how come these packages are in the distro repos, and not your ( or $whoever ) builds?

I have considerably different experiences

It does. ( as well argumented as your statement, which is no more than a “it’s not” one

I find that a pretty serious insinuation.

Conclusion: we agree that flatpaks take more diskspace. I hold my stance re. home:/ repos, incl. the home:ecsos ones.

The Steam FlatPak is not officially produced by Valve. Of course, neither is the rpm that is in the OSS repo. Valve only produces a deb package. Everyone else is repackaging that.

Flathub is no more an uncertified source as basically every distributions repositories.

3 Likes

If you visit the Flathub website, it says ‘unverified’ next to Steam.
And I interpret ‘your’ statement differently. Steam was developed by Valve, of course, but the package on GitHub was created by someone else. So you can tinker with the code

Different, yes, but in this case the philosophy is the same.

No, it doesn’t.
I have to register in obs.
As far as I know, not in Arch.

Why?
That’s my opinion.
For one thing, based on experience, albeit not personal experience.
And secondly, you only have to look at the economy to see what’s happening everywhere at the moment.

Naturally, I use my own repository myself. And everything works fine there, except when I write it down.

2 Likes

The first error message was from the browser which suggested I try again. I didn’t; I tried the alternative which called Discover which said there was a user error but nothing about what the error was.

flatpak remotes returns:
flathub system

Previously none of my Internet searches had led to the answer your suggestion gave; so I had never thought of attempting a command line install. Once done, all was sorted. Thank you.

I personally stick to rpms because they’re what I’m used to.

As an aside, I’d like to thank you for:
https://download.opensuse.org/repositories/home:ecsos:server/16.0 (jellyfin)
and
https://download.opensuse.org/repositories/home:/ecsos:/python:/applications/16.0/ (calibre)

2 Likes

For Steam, I had success running it from Distrobox, I don’t install unverified flatpaks either (and in fact I can’t, as the first action I take on a new system is to setup the flathub repo with the —user and —subset=verified flags anyway).

I also tried Firefox in a Distrobox with the codecs set up in the third party repo there and that also appeared to work well.