art,
@art@lemmy.world avatar

There’s still a few edge cases that Flatpak is not great for. The Flatpak version of Kdenlive video editor can’t see Whisper, which it uses to generate subtitles. The Appimage and native builds work flawlessly.

I’m assuming these problems will be addressed eventually but it takes time.

exception4289,

I ran into an issue with flatpak version of Kdenlive that it would render only the topmost V track if it was a simple still image.
Preview worked fine.
Luckily, someone in Kdenlive’s Matrix suggested that I use an appimage. I used my distro’s version and the final render was fine.

Other than that I had positive experience with flatpaks in general.

Pantherina,

Have you reported that bug?

Appimages are pretty bad

Pantherina,

IPC and the correct location may be able to fix that. Have you opened an issue?

rotopenguin,
@rotopenguin@infosec.pub avatar

The worst part of flatpaks is that they don’t get to see the actual path of files that they open. Instead, they get a /var/run/1000/blah proxy. The proxy is forgotten after you reboot, so any flatpak that memorized that path is holding a bunch of dead links.

jro,

the main drawbacks I see are related to the sandboxing of apps, e.g. that several firefox addons that I just, such as the KeePassXC connector don’t work in flatpak packaged firefox, because they require native messaging support which is unavailable in flatpak. There is a three year old bug report on this at github, and an even older bug report in the Firefox bugzilla. Unfortunately, there seems to be no capacity to solve this or this is not a priority, although this problem affects quite a few users. I have similar issues with the Flatpak packages Nextcloud client: Do to the poor system integration, neither autostart works not integration with Nautilus or other file managers, unless you do some manual tinkering (which isn’t particularly difficult, but with native packages it will just work™ out of the box.) These issues have been known for many years, yet there seems to be no activity to solve them.

reallyzen,
@reallyzen@lemmy.ml avatar

All that was said here, plus sometimes they don’t work. I’ve reported a bug where the kdenlive flatpak version doesn’t render titles or fades - and that’s on Debian Testing, Arch, and Asahi Fedora. Native version works perfectly, but forces me to download an untidy amount of KDE stuff on my gnome installs ; flatpak would’ve been a cool solution to that.

I am yet to report another where Ardour nukes pipewire, at least on Asahi, but on Arch it was misbehaving also. Native, distro-provided version works perfectly.

I don’t trust flatpak because no one single publisher can test every possible config, and I’m afraid distros become “lazy” and stop packaging native versions of stuff since it’s a lot of work.

TCB13,
@TCB13@lemmy.world avatar

Yes, I love it and don’t get me wrong but there are many downsides and they all result from poor planning and/or bad decisions around how flatpak was built. Here are a few:

  • Poor integration with the system: sometimes works against you and completely bypasses your system instead of integrating with it / using its features better. To me it seems more like the higher levels are missing pieces to facilitate communication between applications (be it protocols, code or documentation) and sometimes it is as simple as configuration;
  • Overhead, you’ll obviously end up with a bunch of copies of the same libraries and whatnot for different applications;
  • No reasonable way to use it / install applications offline. This can become a serious pain point if you’re required to work in air gapped systems or you simply want to level of conservation for the future - it doesn’t seem reasonable at all to have to depend on some repository system that might gone at some point. Note that they don’t provide effective ways to mirror the entire repository / host it locally nor to download some kind of installable package for what you’re looking for;
  • A community that is usually more interested in beating around the bush than actually fixing what’s wrong. Eg. a password manager (KeePassXC) and a browser (Firefox/Ungoogled) both installed via flatpak can’t communicate with each other because developers seem to be more interested in pointing fingers on GitHub than fixing the issue.

Flatpak acts as a restrictive sandbox experience that is mostly about “let’s block things and we don’t care about anything else”. I don’t think it’s reasonable to have situations like applications that aren’t picking the system theme / font without the user doing a bunch of links or installing more copies of whatever you already have. Flatpak in general was a good ideia, but the system integration execution is a shame.

0485919158191,
@0485919158191@lemmy.world avatar

Thanks for your comment! Both positive and negative for sure.

melroy,
@melroy@kbin.melroy.org avatar

The reason I don't wanna use flatpack

beejjorgensen,
@beejjorgensen@lemmy.sdf.org avatar

The double-edged sword of isolation.

On the one hand, poor communication between apps and waste of storage.

On the other, relative safety from malicious applications, or from otherwise-safe applications built on top of a thousand libraries none of which have been audited by the dev.

I don’t know how it’s going to go down, but I suspect something will come along to address these issues and snatch the market away from Flatpak.

TCB13,
@TCB13@lemmy.world avatar

but I suspect something will come along to address these issues and snatch the market away from Flatpak.

I believe it could only be fixed by a team from GNOME or KDE, they’re the one in a position to develop something like Flatpak but deeply integrated with the system instead of trying to get around it.

For what’s worth Apple did a very good job when it came to the isolation and containerization of desktop applications, but again only possible because they control both sides.

Apple enforces a LOT of isolaton, they call it sandboxed apps and it is all based on capabilities, you may enjoy reading this. Applications get their isolated space at ~/Library/Containers and are not allowed to just write to any file system path they want.

A sandboxed app may even think it is writing into a system folder for preference storage for example - but the system rewrites the path so that it ends up in the Container folder instead. For example under macOS apps typically write their data to ~/Library/Application Support. A sandboxed app cannot do that - and the data is instead written beneath the ~/Library/Containers/app-id path for that app.

And here’s how good Apple is, any application, including 3rd party tools running inside Terminal will be restricted:

https://lemmy.world/pictrs/image/1d4655fa-f956-47fe-8797-130741a2e6bb.png

https://lemmy.world/pictrs/image/54effa3d-9f3b-48fc-a1a1-457d6d6b484b.png

I bet most people weren’t expecting that a simple ls would trigger the sandbox restrictions applied to the Terminal application. The best part is that instead of doing what Flatpak does (just blocking things and leaving the user unable to to anything) the system will prompt you for a decision.

I believe this was the best way to go about things but it would require to get a DE team to make it in a cohesive and deeply integrated with the system. Canonical could do it… but we all know how Canonical is.

Zamundaaa,

The best part is that instead of doing what Flatpak does (just blocking things and leaving the user unable to to anything) the system will prompt you for a decision.

No, Flatpak isn’t the problem here, portals for these things exist. The problem is that apps would have to use them, and unlike Apple, there’s noone restricting the old / unrestricted ways of doing things… So apps usually don’t port over to the portals.

Even where the unrestricted APIs stop working, like with screen capture and Wayland, apps are excruciatingly slow to port over, because they don’t get kicked from app stores for it, and because many users can still fall back to using the old system.

TCB13,
@TCB13@lemmy.world avatar

While what you say is true, the “portals” were an afterthought, an imposition to developers and a cumbersome and poorly documented solution. Just like the theming and most other things.

Instead of bluntly blocking things why can’t Flatpak just simulate a full environment and just prompt the user whenever some application wants to read/write to file / unix socket at some path? A GUI capable of automatically enumerating those resources and a bunch of checkboxes like "app X and Y both have access to socket at /var/run/socketY would also solve most of the issues.

Zamundaaa,

Instead of bluntly blocking things why can’t Flatpak just simulate a full environment and just prompt the user whenever some application wants to read/write to file / unix socket at some path?

Because the user getting a hundred popups on app start for various files the app needs isn’t exactly a usable experience. Also, blocking the app’s main thread (which is the only way you could do this) is likely to break it and cause tons of user complaints too.

Aside from apps using the APIs meant for the purpose of permission systems, there’s no good way to make it work.

TCB13,
@TCB13@lemmy.world avatar

Because the user getting a hundred popups on app start for various files the app needs isn’t exactly a usable experience

It doesn’t but until apps can declare on a simple config file what paths they require that’s the way things should work. I guess that would motivate the developers who are packing into Flatpaks to properly list whatever files the application requires. If they don’t, then the application will still work fine but be a bit annoying.

Also, blocking the app’s main thread (which is the only way you could do this) is likely to break it and cause tons of user complaints too. Aside from apps using the APIs meant for the purpose of permission systems, there’s no good way to make it work.

Yet, macOS does and things don’t go that bad, on the example how do you think they do it for command line tools? The system intercepts the request, show the popup and wait for the user input. I’ve seen the same happening with older macOS applications that aren’t aware it could happen and yes, the main thread is blocked and the application seems to crash.

I thinks it’s way better doing it this way and still have a somewhat productive container and isolation experience than just bluntly blocking everything - something that also breaks apps sometimes.

Zamundaaa,

until apps can declare on a simple config file what paths they require

They can, and always could. Apps aren’t doing it, most Flatpaks have just blanket “allow ~/Downloads” or “allow all of home” permissions by default - or no file permissions, and you have to go grant them manually yourself.

Again, unless apps actually support it, no matter how good the security system is, it won’t work out.

Pantherina,
okamiueru,

Do you know if flatpak leverages the memory side of this? With shared libs, you only keep one copy in memory, regardless of how many applications use it. Makes application launch faster, and memory usage lower.

For flatpak, it of course will load whatever it needs to load, but does it manage to avoid loading stuff across other flatpaks?

Pantherina,

Thats a good question that came to my mind too, idk

om1k,

I use flatpak for all GUI apps I use.

PerogiBoi,
@PerogiBoi@lemmy.ca avatar

I’ve had my first downside with flatpak.

VSCode’s flatpak version won’t let you use certain packages because they’re installed on the system and flatpak is a sandbox with no access. You need to enable some stuff but I’m far too lazy to troubleshoot that shit.

I got the Snap version so I’m ready for the hate.

0485919158191,
@0485919158191@lemmy.world avatar

Yes. That’s quite a downside actually!

InternetCitizen2,

I use the ssh plug in to connect with local.

oldfart,

In Gajim flatpak too, plugins only can be used if packaged for Flatpak.

cetvrti_magi,
@cetvrti_magi@lemmy.world avatar

Problem I have with Flatpak is their way of naming packages which makes them very akward to run in a WM. That’s basically the only reason why I haven’t used Flatpak since I switched to WMs, pacman and AUR also work really well so there isn’t even a reason to use something else.

SethranKada,
@SethranKada@lemmy.ca avatar

It’s great for user apps, gui apps, and sandboxing. It’s terrible for cli apps, libraries, development, and integration.

Whayle,

Yes, the confusion that results when things don't work because of isolation.

twoshoes,

I’ve used flatpak for a while because it’s the default ob Fedoras GUI Software Center, but I’ve recently switched back to dnf and native packages where I can.

The thing is, that I have a shitty 500GB SSD with a shitty 50Mbit Internet connection (which is closer to 30Mbit because my house still has lead cables instead of copper). So downloading 300+ MB of libraries for a 2MB Program is just not feasible for me.

skullgiver, (edited )
@skullgiver@popplesburger.hilciferous.nl avatar

deleted_by_author

  • Loading...
  • Bitrot, (edited )
    @Bitrot@lemmy.sdf.org avatar

    It does not. Flatpak uses the full platforms, the native package manager will install the individual libraries that are needed. This is technically a flathub thing and could be implemented more granularly, but I don’t think that is going to happen.

    I’ve started getting warnings about deprecated platforms but flathub is very slow to update the packages that use them (even with reports), which is unfortunate too and not something I’ve encountered in my distro repository.

    twoshoes,

    Yes, of course. But afaik the idea of flatpak is, that every program has a list of libraries and versions of them that it wants. So when program X was built with libfoo version 1 and program Y needs libfoo version 2, you basically download the library twice.

    When you go through the package manager, you just download the current version that’s in the repository. This can lead to problems when a program expects some functionality that has since been deprecated, but I never actually had issues with that.

    Also, a lot of the libraries a flatpak downloads are already installed on the system, just in a different version, I noticed.

    I’m on a home computer that I use by myself, mind you. So if something breaks, it’s just my own problem. If I were to use software in production or even just administer the computer of a tech-unsavy relative, I’d likely use flatpaks or similar for stability and security reasons.

    MNByChoice,

    Why isn’t this just the default?

    One may notice that for every new method, the old ways stay around, possibly forever. It is not the default because there were things that worked prior to flatpak. The distros that from before flatpak have likely added the capability, but won’t likely change their default for another decade, or more.

    kugmo, (edited )
    @kugmo@sh.itjust.works avatar
    • overly verbose way to launch them in terminal
    • can sometimess not even respect your gtk/qt theming
    • sandboxing/permission system can lead to you trying to figure out which directory you need to give access to when you want to save file if it wasn’t preconfigured
    • uses its own libraries and not system libraries, want to play the hit new AAA game with steam flatpak? get fucked it requires a mesa commit that was merged 8 hours a go and you’re stuck on 23.0.4 and can’t use the git release.

    Flatpak probably has it’s specific uses like trying to use one piece of proprietary software that you don’t trust and don’t want to give it too much access to your system, or most GUI software clients having an easy way to install Discord on your Steam Deck (no terminal usage, Linux is easy yay), but native packages 99% of the time work better.

    jbk,

    uses its own libraries and not system libraries, want to play the hit new AAA game with steam flatpak? get fucked it requires a mesa commit that was merged 8 hours a go and you’re stuck on 23.0.4 and can’t use the git release.

    Can’t you just install a git snapshot of mesa in a flatpak and use that? Then it’d be an upside

    9tr6gyp3, (edited )

    The downside is having to do that manually. Kind of ruins the whole point of it. Flatpaks will remain out-dated until the maintainer has time to push it out. Forever behind.

    jbk,

    There’s the org.freedesktop.Platform.GL{,32}.mesa-git runtime(?) so that seems wrong. What app always needs the latest snapshot mesa version anyway?

    9tr6gyp3,

    According to the example, a hit new AAA title on steam might need it.

    jbk,

    That doesn’t mean it constantly requires a mesa git snapshot.

    Tzeentch,
    @Tzeentch@lemmy.blahaj.zone avatar

    You can, infact there’s outright a mesa git runtime one can add, i don’t imagine too many systems roll so fast as to outpace it docs.flatpak.org/en/…/available-runtimes.html

    ShaunaTheDead,
    @ShaunaTheDead@kbin.social avatar

    If you have an unusual setup, it can be annoying trying to give programs permissions and sometimes it just outright doesn't work. For example, I mainly game on a laptop which has a pretty small hard drive, so I tend to put most of my games on an external hard drive. Flatpak really doesn't play well with that.

    UnfortunateShort,

    Don’t you just need to give them permission to access it? Works perfectly fine with my Steam and Lutris Flatpaks… Well I had to restart once I think

    aberrate_junior_beatnik,

    I think its biggest weakness is also its biggest strength: isolation. Sometimes desktop integration doesn’t work quite right. For instance, the 1password browser extension can’t integrate with the desktop app when you use flatpak firefox.

    0485919158191,
    @0485919158191@lemmy.world avatar

    That’s a good pint actually. A double edged sword for sure!

  • All
  • Subscribed
  • Moderated
  • Favorites
  • linux@lemmy.ml
  • fightinggames
  • All magazines