←back to thread

306 points dxs | 2 comments | | HN request time: 0.405s | source
Show context
OsrsNeedsf2P ◴[] No.44069054[source]
This one hits close for me.

Flatpak is probably the best way to distribute desktop apps on Linux. I say this as an app dev, a packager, and a user. At one point I maintained close to a dozen packages.

I eagerly waited for months to see what they would do next - what magical features they would introduce. I was active on the forums helping other users package apps, helped review Flathub submissions (since it was always the same problems each time), and started checking out what PRs were happening. Silence.

The months turned into years, and as more years came, I slowly fell away from engaging with Flatpak. I'm back to using the AUR for most things (Arch, btw), but I'm quite sad to hear the situation get spelt out. Flatpak really was revolutionary; bringing modern apps and painless distribution to all desktops - LTS or rolling release. But it hasn't really changed at all since it first took off years ago.

replies(3): >>44069369 #>>44069408 #>>44072470 #
MindSpunk ◴[] No.44069408[source]
I have almost never had a good experience with Flatpaks as a user, outside of ease of installation. They almost never integrate with the system properly. Wrong theme, wrong cursors, wrong file picker, permission issues, drag-and-drop issues. You often need extra tools that broaden the permissions of apps post-install because some feature won't work (global push-to-talk in Discord is always fun, especially with Wayland).

I couldn't care less about sandboxing if the UX sucks as a result.

If binary portability wasn't such a complete joke on Linux we wouldn't need Flatpak, but here we are.

replies(8): >>44069531 #>>44069750 #>>44069860 #>>44070262 #>>44070801 #>>44070829 #>>44071097 #>>44071391 #
alkonaut ◴[] No.44070801[source]
Why do these things not work properly when apps are flatpaks? e.g. if an app tries to query the environment and ask "what's the theme", how would it get a different answer when run from a flatpak?
replies(2): >>44070994 #>>44071667 #
thyristan ◴[] No.44070994[source]
Different answers for different problems, but basically two reasons.

First, library/software/data versions inside the flatpak can and will be different from the ones outside. So a flatpak might as "what is the current Qt5 theme", and get the answer "don't know about Qt5, but the Qt6 theme is cute-cats-qt6" which it cannot interpret. Things like themes might not even be available inside the flatpak, so even if the answer were parseable, cute-cats-qt6 might just not be available on the inside.

Second, flatpaks are sandboxed, so things will be filtered. This means that a query might not get through, an answer might not get through, both might be altered. Or maybe an answer might be useless because "you can get the theme at /usr/share/themes/cute-cats-qt6" points to a path that the flatpak is not allowed to access.

replies(1): >>44071224 #
alkonaut ◴[] No.44071224[source]
Maybe a contrived example but shouldn't Qt6 be answering with a compatible answer if a Qt5 app asks it what the theme is? And shouldn't the app be asking what the "theme" is, rather than what the Qt5-theme is? It seems like a fundamental issue with compat between apps built for different versions of Qt more than a problem with flatpak?

And is the sandboxing perhaps going a step too far if apps can't access the things they need from the environment?

replies(1): >>44072175 #
1. curt15 ◴[] No.44072175[source]
If Linux libraries had that much respect for backward compatibility, there would never had been any demand for Flatpak. Flatpak (and snap) is merely a workaround for the lack of a common "Linux platform" with comprehensive, versioned APIs analogous to the Windows API or Android API. After all, Flatpak essentially provides a way to run a distribution (provided by Flatpak runtimes) inside the host distribution.
replies(1): >>44072918 #
2. skydhash ◴[] No.44072918[source]
I think that was the role of the distro to integrate a common theme for the various versions of gtk and qt. Yes, it’s often duct taped. But apart from freedesktop, we don’t have an org dictating a common API for stuff like how a graphical app interacts with the DE.