Silverblue: Why Not Prefer Firefox Flatpak Over Native

The issue with the native Firefox is that it lacks a bunch of codecs, that are non-free. To solve this, you either have to

  • Layer the codecs from third-party repos like RPM Fusion
  • Install the Flathub version of Firefox

I personally don’t want to alter the system image, so I would like to use the Flathub version of Firefox. But then you have two indistinguishable versions of Firefox installed. To solve this, you have to override-remove the Firefox package from the system image, which requires the terminal, a reboot and is just less convenient (more so for new users of course). Both solutions really aren’t ideal, and this issue would be solved if Firefox was shipped as a Flatpak instead. There is even a Flatpak version in the Fedora Flatpak remote, so why is it still shipped as native?

2 Likes

As of Fedora 35, there’s even a filtered list of Flatpaks that can be installed from Flathub without adding Flathub as a remote:

https://fedoraproject.org/wiki/Changes/Filtered_Flathub_Applications

However, none of these are installed by default, as a web browser would have to be. Additionally, Fedora’s Firefox build is included in Workstation too. Also, unless things have changed, Firefox is not part of this list, even though the build of Firefox on Flathub is official and directly comes from Mozilla.

From Fedora’s viewpoint, it still probably makes sense to build something as critical as a browser and have it included by default. You’d want a browser installed “out of the box” so to speak, and it should be Free Software / Open Source.

So… what’s the best approach?

Use GNOME Web as the default and make Firefox easily installable, but not installed by default? GNOME Web is nice, but has some performance issues and has the same issues at playing media that Fedora’s Firefox has and it doesn’t support extensions (yet). Although GNOME Web is a nice, capable browser, for most people it’s more of a sidegrade at best, and many would consider it a downgrade. (Although some people do use it as their main browser.)

Have a snapshot of an official Mozilla Firefox build in a Fedora release, which would be updated once online? It would be a binary blob that’s built by a third party (in Fedora’s point of view) and not built nor controlled by Fedora.

Make the Flathub version of Firefox hide the Fedora one? This seems to make the most sense, so Firefox can be shipped by default and “replaced” by the official Flathub version (even if both might be installed on disk). But it still requires people somehow knowing why Firefox cannot play some videos on the Internet and do something to work around that problem.

Make Fedora’s Firefox compatible with the codecs from Flathub? There are probably technical limitations and UX issues with this approach too. It definitely would require Fedora’s Firefox Flatpak’d instead of being shipped as RPM and also as part of an ostree deplyment.

There’s not a completely straightforward answer.

(For what it’s worth, I install Firefox from Flathub and try to ignore the duplicate on-disk version shipped with Silverblue by pinning the Flathub Flatpak Firefox to my dash in GNOME.)

I think the “best approach” would be to simply ship the Firefox from Fedora’s Flatpak remote, the same way all other applications are shipped. This Firefox Flatpak currently exists (app/org.mozilla.Firefox/x86_64/stable), it is built the same way as the RPM - yes this also means that codecs are missing but at least it’s easily uninstallable/replacable.

1 Like

One topic, two discussions, see https://discussion.fedoraproject.org/t/silverblue-why-not-prefer-firefox-flatpak-over-native/58334

I’m OK with Firefox in the Silverblue image, but better instructions/help with how to add the RPM Fusion codecs for those who want them would be very helpful.

(In general, RPMFusion made it hard to upgrade from Silverblue 35 to 36 Beta. There were issues.)

It’s been more than a year, but we still haven’t moved on with this.

I think shipping Firefox as a Flatpak from the Fedora repo is a better choice for Silverblue.

The issue with extensions that people used to mention seems to be fixed: I can just go to https://extensions.gnome.org/, select an extension and click on “install” and it just works with the Fedora Flatpak.

Firefox as a fedora flatpak would therefore be exactly the same for most people’s use case, but it would be easier to remove for those who just want to use a different browser.

After all, Silverblue’s philosophy is that user apps should be flatpaks, why not just do that?

This is discussed as length in Move Firefox from base image to Flatpak · Issue #288 · fedora-silverblue/issue-tracker · GitHub.

If folks want it then we need contributors fixing the issues mentioned there to make it happen.