For context: I habe a PC with an 8gb SSD and I somehow need to get an app on there that only has a flatpak release
Flatpak seems to be the best choice for consistency and to have it working straight out of the box. I think Linux currently needs this because we’re getting a lot less tech-savvy Linux users nowadays. Don’t get me wrong; package managers should still be used, but how are we going to get people to change if they run into package conflicts or accidentally uninstall a wrong package?
And universal compatability. One repo, for all distros. That’s a big plus too!
Until it doesn’t work. There’s a lot of subtlety, and at some point you’ll have to match what the OS provide. Even containers are not “run absolutely anywhere” but “run mostly anywhere”.
That doesn’t change the point, of course; software that are dependent on the actual kernel/low level library to provide something will be hard to get working in unexpected situations anyway, but the “silver bullet” argument irks me.
Everything is flawed, there is no silver bullet. But again, it’s still a massive improvement over what we had previously.
It is also nice to have independent packages. Consistent user experience means a lot.
It’s useful, but it isn’t the best option for everyone, so other options should be available.
Why would you want the app devs to make that? The whole problem with distro-specific packages is having to package for multiple formats and it’s a painstaking process that really isn’t worth any amount of time investment at all. If you’re an app developer, you’d much rather just make a universal package and hope that some distro package maintainer packages your app for their distro. That’s just basic common sense…
Because Flatpaks can’t share libraries or anything. It creates a lot of bloat that doesn’t need to be there. It’s great for users that want to make sure the app will always work, but it isn’t great for being efficient.
This is just a straight up lie. Flatpaks do share libraries, both as runtimes (as seen even in the screenshot here) and through deduplication between different runtimes and runtime versions. There’s usually very little bloat, if any, especially if you use Flatpaks a lot, which you probably should, given the huge number of advantages especially with proprietary apps.
and through deduplication between different runtimes and runtime versions. There’s usually very little bloat, if any, especially if you use Flatpaks a lot,
~20 different GUI applications, flatpak ended up using 14 GiB of storage while the appimage equivalent used 3.2 GIB.
And note I was not able to find flatpaks for ghostty, goverlay, kdeconnect and a few other apps, meaning the actual bloat of flatpak is even higher.
Edit: And this is even worse if you are an nvidia user, flatpak will download the entire nvidia driver as well.
AppImage isn’t a good comparison for a lot of different reasons and I think enough people have summarised that on the internet by now.
AppImage isn’t a good comparison for a lot of different reasons
Alright what does flatpak offer in this case?
-
Has performance issues 1
-
Has security issues even 1 2 3 and not to mention the whole bunch of flatpaks that use EOL runtimes which are even worse, not only for security, but also because that single flatpak ends up pulling an entire runtime for itself which makes even more bloated.
-
And is insanely bloated as you saw already.
I think enough people have summarised that on the internet by now.
Such as? but I likely know already what is going to be said, hopefully is none of the following:
-
“Depends on libfuse2” (not true since 2022 with the static appimage runtime, this also allows making appimages that work on musl systems, which several like ghostty, goverlay, Steam, gimp, cromite, citron already do)
-
“You need to build on an old distro and it is hard”, once again not true anymore since you can now bundle the glibc as well (and it is needed for appimages to work on musl systems).
-
“No wayland”, this is only true if you use linuxdeploy-qt to make the AppImage, the project has been abandoned already for several years and the only project I know that still uses it is qbittorrent-enhanced.
EDIT: And also hopefully you are aware that a lot of flatpaks are literary an AppImage shipped in a flatpak runtime, like:
-
https://github.com/flathub/dev.vencord.Vesktop/blob/master/dev.vencord.Vesktop.yml#L34-L46
-
https://github.com/flathub/com.ultimaker.cura/blob/master/com.ultimaker.cura.yml#L24-L44
-
https://github.com/flathub/xyz.armcord.ArmCord/blob/master/xyz.armcord.ArmCord.yml#L40-L43
-
https://github.com/flathub/chat.simplex.simplex/blob/master/chat.simplex.simplex.yml#L22-L31
-
https://github.com/flathub/menu.kando.Kando/blob/master/menu.kando.Kando.yml#L33-L40
So yeah AppImage isn’t ideal, lets ship it in a container anyway 😁
-
I just what to install an app. I don’t want to spend an evening figgering out how to get a PWA to install. I don’t want to consult a form or your git repository to install some package I will use once and will be patched out in the next version.
Personally I do like the ideas behind Snap/Flatpak. I think the sandboxing is a huge deal and will improve security going forward.
In a world where space is usually the cheapest and most available hardware on a PC, I tend to agree. That being said, it’s the kind of solution that comes from engineers who put the onus on the hardware to make up for their shitty software. Engineers like me.
In a world where space is usually the cheapest and most available hardware on a PC
I read this in the movie trailer guy’s voice
You hate people who spend hundreds of ours of their free time developing software, who then release that software for free, under no obligation to you or anyone else, and your reasoning is because they provide it in a packaging solution you don’t find ideal?
Maybe fuck off and write your own software.
No, they hate flatpak, one of the many option to distribute software, which is not the only one even if you consider the “must run on many distro” restriction (which isn’t 100% true, kinda like the Java write once run anywhere). There are other options, some more involved, some simpler, to do so.
They didn’t say they hate devs, that’s on you, grabbing a febble occasion to tell someone that voiced his opinion to “fuck off”.
Then they should say they hate flatpak, or they are frustrated/disappointed when something they are interested in is only on flatpak.
Instead of doing that, they said they hate people who only use flatpak. Words matter, and that kind of entitlement needs to be shut down. The devs don’t owe them anything and they certainly don’t deserve hatred for their packaging solution. There are many constructive ways OP could resolve the issue. Open a feature request issue on the bug tracker, build it locally, send an email, offer to maintain another packaging method, etc.
8GB SSD
There’s your problem. The last time 8GB was plenty was in 1998.
Even cheap SD cards are larger these days. The smallest SSD you can buy in the UK right now is 250GB.
Amazon sells 24 GB ones…
Oh really? Wow! Still 3x more than 8GB though :)
Yeah, TinyCore Linux needs 16GB I think. 8GB you might run BusyBox or something
Are they booting of an SD card? Mabey is a Pi or WiFi router?
No need to hate on someone for their hardware.
Reading through the comments here, the Linux community slowly seems move away from “runs on about every piece of hardware you can think of” to “if you don’t have at least the Nimbus 2000 that’s on you, sucker!”
Gotta run FFMMLXIV at 94fps and 173hz @3890x2669 resolution otherwise you’re betraying the “Linux is the best gaming OS” movement we’ve all sworn fealty to.
Flatpaks implement deduping, so they actually don’t take that much space when installed.
I habe a PC with an 8gb SSD
I think I found your real problem.
Yeah flatpak won’t work on my Nokia 3310 either, what a shit software…
Edit: if you upvoted this comment, your kneecaps pop when you pick up things from the ground
Cut the crap. Flatpak uses hardlink from repo where file names are jash of the file itself. The chance of duplication is exactly same as that of duplicate files of same name in same directory.
Flatpak repo grows because we trade uncertainty over abi stability with installing all needed versions of libraries. For abi incompatible builds you could already do that in many distros (versioned soname) but to a lesser extent.
Also I usually do not install nvidia GL with flatpaks that I won’t run on nvidia on hybrid gpu laptops anyway for energy reasons.
Yeah, I’m not a fan of flatpak for my usage, but this isn’t a great argument against it.
I’d rather someone “only” release on flatpak if that’s the simplest way they can support Linux compared to no support at all.
Why the hell do you only have 8GB? Are you trying to install flatpaks on a smart fridge?
Sort of, actually
I was trying to build a PC just to play internet radio on using Shortwave, and a 30€ thin client with 4 1,5Ghz cores and no active cooling, 4 gigs of ram and an 8gb ssd were more than enough for that
I didn’t even know ssd’s(nuts) that small existed
I just want you to know, I appreciated your deez nuts joke.
It was subtle. It was well-done. Roasted, even.
Maybe it’s an eMMC chip on an embedded device?
For your use case, building from source might be more practical.
look into NixOS! there might already be a package for it. and NixOS can be very good about not duplicating dependencies.
I had a 200 gb ssd on my laptop and kept running out of space because all the old generations from nixos,
nix collect-garbage
, comrade! there’s also another command to clean up older generations. if you’re using git to version your nix config, you only really need to keep two generations: the current, and your last successful boot, since you can recover by git checkout.
2TB?
I only see around 500mb
Anger has a way of adding a few zeros.
its barely legible but isnt that still less than a gb? where you you even get an 8gb ssd? why would you use one outside of some specialized embedded application that shouldn’t even have a desktop interface? and even then why not something lighter than kde or gnome
where you you even get an 8gb ssd
I bought a Fujitsu thin client for 30€, and I decided to spend the 5€ extra to get one with a drive (making it 30€ total.
why would you use one outside of some specialized embedded application that shouldn’t even have a desktop interface?
-
I have way too much free time
-
I have no money
-
Originally it should only have been a minimal void Linux install so it can connect to my local server via RDP. But I just realised that that futro s920 with 4 1,5ghz cores is actually way faster and more reliable than my 4th gen Intel i5 will ever be
and even then why not something lighter than kde or gnome
I ssh’d into the PC. It runs xfce4, and it is just made to display shortwave (an Internet radio player) in full screen on a cashier terminal screen that I ripped from the terminal assembly. I just needed the cheapest thing to run shortwave on so my father has an Internet radio, since the other 2 options were
-
buy a big ass Antenna for his normal radio, or
-
buy a used Internet radio for 200€ (this way it only cost about 90€), wait until its Server is shut down, and then somehow with a mix of wireshark, dns logging, and pure luck somehow locally rerout the domain that the radio tries to connects to, figure out what kind of json file I need to host on my local server in order to make it refresh it’s database of Radios, and maintain these IPs forever.
also, please note, the image is in no way connected to this project, it just reminded me of it
Maybe get the cheapest micro sd card or usb drive you can find and install it on there? You could probably double your storage size for a couple of euros!
Is 16 GB still in the market? I mostly find 32 or 64 GB for usb-stick.
8GB is pretty much dead nowadays (and so is CD/DVD)
(Honorable mention: RIP Floppy Disk )
-
I’m coming back to Linux after a hiatus. I’ve spent most of my time with the Debian flavors. Not afraid of the command line, but not an expert either.
I’m trying out Bluefin right now, semi-immutable atomic os based on silverblue, based on Fedora.
On normal installs, I usually change and install enough stuff, that when it comes time to upgrade to the next os version, I’m sometimes not able to without introducing instability or it outright falling. The former more common than the latter.
Let’s just say I got used to reinstalling and starting from scratch, especially if I experimented too hard and broke something big like my DE or drivers.
So with bluefin I’m hoping to leave everything that’s core, alone. I’m trying to rely on flatpaks, app images, and distrobox for everything else.
So far so successful. I’ve only got a couple minor gripes, some limitations of flatpaks. But I’ve also only been at it for like a week, so we’ll see.
I guess my point is, flatpaks have a place 🤷♂️
Lol kinda wild to me seeing flatpak hate as a new Linux user (running fedora with kde). Flatpaks have just worked for me and it’s been fantastic
If you’re new to Linux, then your probably not familiar with the full Linux community yet. Much like in real life, online Linux spaces tend to have a very loud minority of conservatives who hate progress.
Usually you’ll see them hating on things like systemd, 64bit architectures, containers, new packaging systems (like Flatpak), immutable and experimental distros (like Nix), Wayland, “bloated” desktops like KDE or Gnome, and much more.
And just like in real life, the antidote is to not take another person’s word for it. Do your own homework/try things out yourself and arrive at your own conclusions.
People bitching about Flatpaks don’t understand that they have dedupe built in. You’re literally not using any more space and it’s easier for app developers to deploy.
Try using Snaps sometime, if you want something to actually bitch about.
I actually like flatpak. The only issues I have are with GTK apps which I try not to use anymore.
What after those issues?
Not using the Breeze theme even when it is applied for GTK apps. The cursor being way too big on libadwaita apps. Supposedly that last one will be fixed very soon.
For me trying to make GTK softwares to looks consistent with everything else is always a pain in the ass, and don’t get me started on different GTK version themes aren’t compatible with each other, so a GTK3 software doesn’t even looks the same with another GTK software just because it use GTK4.
Alternatively though, if an app has KDE library dependencies for example, it’s kinda nice to not have to install a whole other desktop system wide.