this post was submitted on 04 Mar 2024
206 points (80.1% liked)

Linux

48413 readers
1113 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

Appimages totally suck, because many developers think they were a real packaging format and support them exclusively.

Their use case is tiny, and in 99% of cases Flatpak is just better.

I could not find a single post or article about all the problems they have, so I wrote this.

This is not about shaming open source contributors. But Appimages are obviously broken, pretty badly maintained, while organizations/companies like Balena, Nextcloud etc. don't seem to get that.

(page 3) 50 comments
sorted by: hot top controversial new old
[–] brax 2 points 8 months ago (6 children)

I hate them both, give me a .Deb (or equivalent) if you're gonna package it. And get off my lawn! 🤣

load more comments (6 replies)
[–] [email protected] 2 points 9 months ago

Static binaries, or dynamic binaries whose project has documentation on what dependencies they need, are better than appimages. This is because appimages are a container with the actual files inside, creating a layer of abstraction, and appimages require libfuse to work.

Imagine the case in NixOS, where dynamically-linked binaries don't work out of the box. You can patch or package these binaries, or just quickly use something like steam-run to emulate traditional Linux bin and lib paths, it works. With appimages, it won't work unless you already have libfuse in your system, so you have to extract the appimage first.

Still, flatpaks as the only official alternative isn't great for many reasons, and CLI/TUI programs are out of the equation. What is better is the devs distributing unpackaged binaries, jars, etc, and optionally flatpaks. Either way, Nix's repository is huge so I don't usually feel the need to run anything that isn't a nix package.

[–] [email protected] 2 points 9 months ago

I don't use app images of flatpaks. I don't like either.

[–] kugmo 2 points 9 months ago (1 children)

don't care still using appimages and not flatpaks

load more comments (1 replies)
[–] [email protected] 1 points 6 months ago* (last edited 6 months ago) (1 children)

Eh, I've always felt these solutions are complementary, or supplementary, rather than a "versus". Each one, in particular cases, covers gaps the others can't cover. The only one that's unneeded is Snap.

For example, I like Flatpak. I like that I can get software from an authorized hub, much like with a package manager. I like that the releases of the apps in the hub are mostly well documented.

But no matter how nice Flatpak seems to be, its overreliance on "portals" and "buses" and "seals" comes associated with trying to over-engineerize my system too much for its own good. Every app I have ever tried on Flatpak, for example, doesn't support audio, apparently because I have the godly, eternal, battle-tested ALSA and not the manchild's crap that is PulseAudio. But since apparently PulseAudio is the GNome / Microsoft approved way to do audio on Linux, I'm ~~supposed~~ expected to have it. What's next? systemd-flatpakd?

OTOH, I picked up the AppImage for Freetube and not only do I get audio but it loads and runs noticeably faster than the Flatpak version. And since it's an official release I know where can I trustably get an update from. Literally no downsides!

But I sure as hell am not going to go for an AppImage for an app from which I expect more integration with my desktop activity, such as say a code editor or an advanced image / model viewer. Not if I can help it. Because I am going to be expecting to be able to stuff like drag and drop, have a correct tray icon, etc.

So that means I have to keep an eye on both solutions.

Hey, at least I'm avoiding Snap!

~~Now if there's an AppImage for Steam somewhere.... maybe...~~

[–] [email protected] 2 points 6 months ago* (last edited 6 months ago)

You got me in the first part XD

No joking, apart from that

But since apparently PulseAudio is the GNome / Microsoft approved way

I think I understand your point.

Pulseaudio is outdated, Pipewire AND Pulseaudio are now needed. Maybe also just Pipewire, and you can somehow fake Pulseaudio?

I never used a system without Pulseaudio, and Fedora has both (?) Or just Pipewire.

Pulseaudio is the old stuff that apps want to use, pipewire is the new cool stuff (I recommend qpwgraph) which allows like everything.

Aaand it is not overcomplicated, it isolated apps and introduces a permission system. Privileged programs that channel the requests and permissions, and sometimes need user interaction. Its actually less chaotic, the problem simply is that Flatpak ALSO tries to run all apps everywhere. And apps are mostly not up to date, so Flatpaks have randomly poked holes everywhere.

Today I worked on hardening configs for my apps. I maintain a list of recommended ones here. I will just put my overrides in my (currently still private) dotfiles, will upload them some day.

I am for example now Wayland only. Not all apps want to, but with the correct env vars (which I just globally set for all flatpaks, hoping it will not mess with anything), all apps use it.

This makes the system way faster, and applying different vars on the apps is very easy with Flatpak.

Literally no downsides!

Not true. It still has no updating mechanism, the binary may be official, but the rest are random libraries that may not be well versioned or controlled, etc etc.

The post is specifically about upstream supported Appimages, while Flathub is mainly maintained by the same 4 peolple (it is crazy). The request is for upstream devs to maintain Flatpaks.

But for sure not everything is nice. Runtimes are too huge, outdated apps cause huge library garbage, downloads are inefficient, ...

[–] [email protected] 1 points 8 months ago

I think appimages are this popular because of tauri

load more comments
view more: ‹ prev next ›