How to install Brave Browser on Fedora Silverblue
Brave + Fedora Silverblue

How to install Brave Browser on Fedora Silverblue

By Alexandru-Balan | The Linux Monitor | 12 Jul 2020


brvfs.png

1. Quick info on Fedora Silverblue

Fedora Silverblue is a spin of the popular Fedora Gnu/Linux distribution, which looks the same, but is fundamentally different in the way it works. There is a clear distinction between system files and user files, the two never mix, it uses a containerized approach to applications by using Flatpak, and the updates are done by deploying an updated copy of your old system.

In fewer words, Silverblue is an immutable OS. The goal of an immutable OS like Silverblue is to keep your system as stable as possible while getting you the newest and greatest updates. The fact that the OS updates work similarly to a git tree means that in the rare case something brakes while updating, you can just revert to your old system as it was right before the update took place.

A disadvantage of this model is that, for now, updating apps that are not containerized requires you to reboot the system in order to deploy the updated version of Silverblue. Flatpak apps and other containers can be updated on-the-fly though.

If you are curious to find more about Fedora Silverblue here are a couple of links:

2. Ways to install software on Silverblue

There are three main ways of getting software on a Silverblue base. 

  1. The recommended way is to use Flatpaks. They are containerized applications, yet integrate seamlessly with the system. They are available to install from the Gnome Software application which comes with Silverblue. Fedora doesn't give you access by default to some of the more popular applications due to licensing issues, but they can be easily enabled by simply clicking a button on Flathub Setup Page. This will give you access to popular apps like Spotify, Slack, Steam, etc.

  2. The second way is through rpm-ostree. This tool allows you to lay traditional packages on top of your Fedora Silverblue install. Installing a package this way, you will generate a second image of your system containing this new package. After rebooting, you'll have access to your newly installed traditional program and in case something went wrong with the installation process you can reboot again to select the previous image without the package.

  3. Creating a toolbox container is the third way of installing software. A toolbox container uses streamlined Fedora 32 as a base and it gives you all the features of a normal Fedora install while integrating with your Silverblue system.

3. How to install Brave on Fedora Silverblue

Brave is not yet packaged as a Flatpak, but there are ongoing discussions to adopt this format. The main problem is that it's based on Chromium which was always a pain to package into any format for years now.

We can get our hands dirty though and install Brave through any of the other two options that Silverblue gives us.

3.1 RPM-OSTREE (the git for your operating system)

While rpm-ostree supports some traditional repositories the only ones that are tested for 100% compatibility are the ones provided by the Fedora team. What I'm trying to say is that adding the Fedora repository for Brave as the team suggests on their site won't work on Silverblue. That tutorial is only for the normal installations of Fedora.

rpm-ostree has another disadvantage: you will need to manually update your Brave Browser when a new version comes out by downloading the release file from their GitHub page.

The advantages of this method are low overhead and easy integration with the rest of the system.

To install Brave using this method follow these steps:

  1. Go to the GitHub page with their releases and find the release that suits you best. I recommend the beta version because it's 99% stable and it doesn't require brave-keyring. Due to brave-keyring dependency, you can't install the stable version on Silverblue using this method. Usually, the title for the beta version is Desktop Beta Channel. At the bottom of the Section with the Desktop Beta Channel title, you have an Assets section.
    Screenshot from 20200712 171411.png

    Click on that section and download the file with the .rpm extension. It should look similar to this: brave-browser-beta-1.12.82-1.x86_64.rpm.
    Screenshot from 20200712 171437.png

  2. It's time to get our hands dirty now. Let's open a terminal and navigate to the file we just downloaded.
    My file is in the Downloads folder so I'll type cd Downloads and then ls to verify that the file is actually there.
    Screenshot_silverblue32_20200712_17:17:22.png

  3. Now comes the simple part. Just run rpm-ostree install brave-browser-beta-1.12.82-1.x86_64.rpm. Obviously, if you downloaded another version, use that one instead. Just let the process finish and then reboot your system.
    Screenshot_silverblue32_20200712_17:19:25.png

After updating your system you should see the Brave Browser icon in your application menu.
Screenshot_silverblue32_20200712_17:23:26.png

3.2 Toolbox container

The third way to install software, using toolbox, introduces some overhead because it will install a base image of normal Fedora 32 on your system. This won't be an issue for most people though since storage comes so cheap nowadays.

  1. We get our hands dirty from the start and open a terminal. The quickest way to create a toolbox container is by running toolbox create -c Fedora32. When asked if you want to download the Fedora 32 image respond with y and then let it do its magic. Finally, we should enter the new container with the command toolbox enter --container Fedora32.
    Screenshot_silverblue32_20200712_17:32:18.png

  2. Now we are basically inside a normal Fedora 32 install and we can use it likewise. We can go to the Brave Browser website and follow the instruction they give for installing the Linux version. This time I'll be installing the stable variant of Brave. The official instructions follow:
    sudo dnf install dnf-plugins-core
    sudo dnf config-manager --add-repo https://brave-browser-rpm-release.s3.brave.com/x86_64/
    sudo rpm --import https://brave-browser-rpm-release.s3.brave.com/brave-core.asc
    sudo dnf install brave-browser

    After installation is completed you can run brave-browser to start the actual program.
    Screenshot_silverblue32_20200712_17:43:24.png

  3. We have the browser installed, but it still doesn't appear in our applications menu. To make it appear we need to create a .desktop file that will tell our OS to start the container and start Brave Browser when we click on its icon.

    1. Download the icon from here and place it into ~/.local/share/icons. If the icons folder doesn't exist, just create it. To be able to see your .local folder when downloading the file just right-click in the file explorer dialog and select Show hidden files.
      Screenshot_silverblue32_20200712_18:01:14.png

    2. Open your text editor and write the following:

    [Desktop Entry]
    Name=Brave Toolbox
    GenericName=Web Browser
    Keywords=Internet;WWW;Browser;Web;Explorer
    Exec=toolbox run -c Fedora32 brave-browser
    Terminal=false
    X-MultipleArgs=false
    Type=Application
    Icon=brave-release.svg
    Categories=GNOME;GTK;Network;WebBrowser;
    MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall;
    StartupNotify=true
    

    Save this file as brave-release.desktop and save it in ~/.local/share/applications/.

You should now have two brave browsers if you followed both tutorials. The advantage of the toolbox version is that you can update the browser just by entering the container and running a simple sudo dnf upgrade command.

Screenshot_silverblue32_20200712_18:23:13.png

Screenshot_silverblue32_20200712_18:27:06.png

The Brave on the right was installed through rpm-ostree and integrates better with the system at things like following system themes, colors, and icons, while the Brave on the left was installed through toolbox and can be updated more conveniently.


Ending thoughts

Don't get the wrong impression about Fedora Silverblue, most software is available through Flatpak or can be installed with rpm-ostree without having to search releases in GitHub repositories.

I highlighted the install process for Brave because it's one of the few tricky apps to get running on Silverblue due to its Chromium origins. I hope this guide will help you get your favorite browser installed on Silverblue or any other app that you might have trouble with. Usually, if everything fails, a toolbox container should successfully install anything that a normal Fedora system can.

What are your thoughts on Silverblue and the app install process for those rare specimens like Brave Browser? Let me know in the comments!


Alexandru-Balan
Alexandru-Balan

Happily married to a wonderful woman. Linux enthusiast, software developer and hacker of all things. I may be stupid, but at least I won't try to scam you.


The Linux Monitor
The Linux Monitor

The Linux Monitor is a publication about everything desktop Linux. This blog is highly opinionated and where I feel it is necessary I will indulge in copious critique of different aspects of Linux distributions or F.O.S.S. programs.

Send a $0.01 microtip in crypto to the author, and earn yourself as you read!

20% to author / 80% to me.
We pay the tips from our rewards pool.