• 2 Posts
  • 28 Comments
Joined 8 months ago
cake
Cake day: March 31st, 2024

help-circle







  • You need to be more specific.

    You need to think about the background problem here.

    When Google made Android, it was web based. Their “perfect sandbox” ironically has no internet toggle. They won tons of marketshare, and iOS is not different here, both restrict apps to containers and have permission systems to reach out of these containers to access sensors, files and other data.

    Desktop operating systems are way older and have no such concept. We have mandatory access control with SELinux and Apparmor, but those are (I think) more complicated than Flatpak.

    Flatpak is a solution for multiple problems of Desktop Linux Apps at once.

    1. isolate apps with a real permission system
    2. make apps run anywhere
    3. have a single platform to target, so we dont need packagers anymore (for most GUI apps) and can file bugs upstream
    4. separating apps from the system: stable distros can have modern apps (similar to Windows) and Apps dont affect the stability of the OS at all. Also config files of such apps are in their container, not bloating your “oh so good xdg basedir”

    These are all extremely important points for a healthy, modern and secure Linux Desktop.

    But there are also issues to every point:

    1. most apps are not adapted to this model, which means they need broad static permissions like Pulseaudio, home or even host, allowing surveillance or trivial (even documented) privilege escalation. This is basically how apps like Flatseal work. Pulseaudio has no portal, do apps can listen to your mic whenever they want.
    2. Apps that “run everywhere” will not have distro-specific optimizations. The system needs to run on old LTS kernels to be universal, which means you miss out on tons of optimizations. Developers could just not care, but this depends on the app.
    3. Flatpak is more complicated than Snap (or even Appimage, if you leave the manual signing, monitoring vulnerable libraries and having a manual repo out). So it is not a great experience for “the Linux packaging model”. GNOME Builder is a good IDE for it but afaik only for GTK apps.
    4. No issues here. This is the core princible of “immutable” distros like Fedora Atomic Desktops.

    If you have issues with flatpaks, you need to be more specific. Maybe it is a packaging issue, or you expect an app to do stuff that is not











  • Agree on the Fedora problem, but the solution is pretty easy.

    # install the RPM packages, your system is auto detected, the packages take care of updating the repos
    sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
    
    # enable cisco-openh264 to be sure
    sudo dnf config-manager --enable fedora-cisco-openh264
    
    # install ffmpeg with allowerase
    sudo dnf install ffmpeg --allowerasing
    
    # or, if you just want videos, without uninstalling anything
    sudo dnf install libavcodec-freeworld
    

    Thats basically it. On the Atomic variants, installing libavcodec-freeworld is just as easy, but allowerasing doesnt work so you need to uninstall everything manually to unbreak ffmpeg. Or you just use uBlue where it is already done and default (this will also avoid any rpmfusion incompatibilities to happen on your device and on the server instead)

    Yes this is annoying, but you do that once and afterwards have a current release more stable than Arch, and an old-supported release that is even more stable.