Fedora, Linux

Firefox Developer Edition for Flatpak

Our team maintains Firefox RPMs for Fedora and RHEL and a lot of people have been asking us to provide Firefox for Flatpak as well. I’m finally happy to announce Firefox Developer Edition for Flatpak.

firefox_developer_edition_logo

We started with the Developer Edition because that’s something that is not easily available to Fedora users. Providing the standard Firefox wouldn’t bring a lot of benefit right now because it’s available very quickly after upstream releases via Fedora repositories. In the future, we’d like to add releases of the standard Firefox (nightly, stable, perhaps ESR).

Firefox DE for Flatpak is built on our internal build cluster and hosted on mojefedora.cz (mojefedora == myfedora in Czech) on OpenShift. It’s an unofficial build for testing purposes, not provided by Mozilla. We’d like to work with Mozilla, so that it can eventually be adopted by the Mozilla project and you can get Firefox flatpaks directly from the source.

Right now, Firefox DE is not sandboxed, it has full access to user’s home. In the near future, we’d like to start a devel branch in the flatpak repository where we will ship a sandboxed Firefox and experiment how well Firefox can handle sandboxing and what needs to be done to assure the expected user experience. A web browser is definitely the #1 candidate among desktop applications for sandboxing. If you’re interested in sandboxing Firefox on Linux via Flatpak, contact us (you’ll find Jan’s email on the website with installation instructions).

firefox-flatpak-fedora
Firefox Developer Edition for Flatpak running on Fedora

We’ve tested the FDE flatpak on Fedora 25, openSUSE Tumbleweed, and Ubuntu 16.10. You need flatpak 0.6.13 or newer for the installation commands to work. The repo should work with older versions as well, but there was a change in command syntax and the commands we use don’t work in older releases than 0.6.13. Fedora 25 has the newest release (0.8.0), openSUSE Tumbleweed has a new enough release (0.6.14), just for Ubuntu you’ll need to install the newest flatpak from a PPA.

 

firefox-flatpak-ubuntu
Firefox Developer Edition for Flatpak running on Ubuntu

GNOME Software in Fedora 25 also supports adding repos via .flatpakrepo files and installing apps via .flatpakref files, but it’s not reliable enough yet, so we only recommend you use the command line instructions. It’s just two commands (you only need the latter one on Fedora 25 with the newest flatpak).

There are also a couple of problems we haven’t quite figured out yet. In openSUSE and Ubuntu, the desktop file database is not refreshed after the installation, so the launcher doesn’t appear right away. You need to log out and log in to refresh it and make the launcher appear. In openSUSE Tumbleweed in KDE Plasma in a VM, I couldn’t start the app getting “no protocol specified, Error: cannot open display: :99.0”. We’re looking for hearing from you how it works on other distributions.

Although the repo is for testing purposes, we’re committed to updating it regularly until we announce otherwise on the website with the installation instructions. So you don’t have to worry that you’ll end up with a scratch build that will never get updated.

At last, I’d like to thank Vadim Rutkovsky who made the initial proof-of-concept Firefox build for Flatpak we built upon, and Jan Hořák who did most of the work on the current build and repo setup.

Advertisements

26 thoughts on “Firefox Developer Edition for Flatpak

  1. I am on openSUSE Tumbleweed and I have had the same problem with other flatpaks too.
    A call to ‘xhost +’ fixes it. It seems to be caused by a strict security policy.

  2. Thanks! This is great!

    Are you aware of a bug that exposes every single context menu item all the time? It’s happening here for some reason. (Official Dev build doesn’t have this, nor does the Firefox Fedora build, so it seems unique to the Flatpak Dev build, and this one bug kind of makes it sadly unusable for me right now.)

      1. Thanks for the quick reply. I sent an email with details.

        Also, I found another issue with the Flatpak build having issues detecting and setting the default browser status (even after manually setting it I my default browser in GNOME’s settings, under details → default browser). I’ve included this issue in the same email too.

        1. Hmm… couldn’t it be an issue in Flatpak itself? I don’t know how the app itself could influence it. You can’t change the default browser settings from within the sandbox, Flatpak won’t allow it and AFAIK there is no Flatpak portal that would translate it outside the sandbox.
          Setting it up manually in GNOME Settings should work. I have no idea why it doesn’t work, but I’d say the problem probably lies on the Flatpak side as well. Does it work for you with other Flatpak apps (e.g. nightly GIMP for images)?

  3. Umm… I am unable to install it, can someone be kind enough to tell me what does following mean?

    $ sudo flatpak install org.mozilla.FirefoxDevEdition-origin org.mozilla.FirefoxDevEdition
    Updating: org.gnome.Platform/x86_64/3.20 from gnome
    No updates.
    Updating: org.gnome.Platform.Locale/x86_64/3.20 from gnome
    No updates.
    Installing: org.mozilla.FirefoxDevEdition/x86_64/master from org.mozilla.FirefoxDevEdition-origin

    Writing objects: 1
    error: While pulling app/org.mozilla.FirefoxDevEdition/x86_64/master from remote org.mozilla.FirefoxDevEdition-origin: Need more input

  4. Hi,

    I tried it on a stretch (the near futur stable of Debian). It does launch, but it crashes when trying to sign in into “Firefox Account”. I do not know where to report this bug, so here we go.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s