Maybe you already tried to install Firefox on Raspberry Pi and had some issues.
Indeed, installing Firefox on Raspberry Pi isn’t straightforward, especially if you want the latest version with all of the features.
The only Firefox version available in Raspberry Pi OS is Firefox ESR, which is released on a different cycle than the one we use on standard computers. To install the latest version, the only solution is to get the package from the Ubuntu repository.
So yes, there is a solution!
I will explain everything to you in this tutorial, starting with the difference between the two versions, and how to install Firefox on your Raspberry Pi.
Firefox ESR: the default version
What is Firefox ESR?
ESR stands for “Extended Support Release”.
If you are used to Ubuntu, it’s similar to the LTS versions (Long Term Support).
Firefox is updated very frequently by the developers. New versions are typically released to users immediately, as soon as there are a few changes. That’s why we already have version numbers above 80, even if this software isn’t very old.
This process allows most users to get the new features quickly and allows Firefox to stay competitive with other web browsers.
However, in critical environments (in a company for example), having new updates each month isn’t the ideal solution. Updates can include bugs and habit changes for the users.
This is why the ESR version exists. It’s running an older version of Firefox, including only the latest security updates and no new features or improvements.
On Raspberry Pi OS, that’s the only version included in the repositories.
Installing Firefox ESR on Raspberry Pi OS is pretty simple. You can do it as with any other software.
If you need help with this, follow the explanation below, whether you use the Desktop interface or a terminal.
Here are the steps to follow if you are on Raspberry Pi OS with Desktop:
- Open the main menu, and go into Preferences.
- Start the “Add / Remove software” tool.
- In the search engine, type “firefox-esr“.
- You should get something similar in the results:
- Check the box close to “firefox-esr” (it should be the first one on the list, the other ones are language files).
- Click on “OK” to confirm.
- The system will ask for your password to complete the installation.
From a terminal or SSH
It’s often faster to install software with command lines IF you are comfortable with the process.
So, if you have a terminal or are connected via SSH, you can do this:
- Start by updating the packages list with:
sudo apt update
- Then install the Firefox ESR package directly:
sudo apt install firefox-esr
Either way, Firefox is now installed and you should see it in the main menu:
- Open the main menu, then go into “Internet”.
- Click on the Firefox icon.
- Your favorite browser is now running:
As you’ll quickly figure out, this browser is working well but it might be 10 to 15 versions older than the one you have on your computer.
For example, Firefox ESR on Raspberry Pi OS is currently in version 78 (versus 87 on my computer).
This isn’t a big deal most of the time, but it may not be optimal if you are really used to the latest features.
If it’s your case and that you would prefer using the latest version, keep reading! I explain everything in the next part :).
Firefox RR: the full version
What is Firefox RR?
I suppose you already understood that if you read the previous part, but Firefox RR stands for “Rapid Release”. So basically, it’s the latest stable Firefox version available.
This version is the one we typically use on our computers.
You can expect a major version approximately every 6 weeks with this version, as it’s the current development cycle for Firefox.
There are also development versions with a shorter cycle, but that’s not the topic for today. We want a recent version, not something too buggy 🙂
Let’s get back to the Raspberry Pi, especially on how to install Firefox RR on Raspberry Pi OS.
I have done a lot of research for this article in order to find the solutions to do this. There are many options to choose from, each forum seems to recommend a different one.
Unfortunately, I didn’t find “the best solution” or “the official one” so there isn’t a definitive best practice. So, you’ll need to trust the solution I selected. I chose this solution as it was the simplest to explain.
As Firefox RR is not available in the Raspberry Pi OS repositories, the idea is to get it from a system offering this package: Ubuntu.
So, we’ll add an Ubuntu repository in apt and then use apt to download and install Firefox latest version:
- Open a terminal to type the following commands (SSH is fine too).
- Open the sources.list file with your favorite text editor:
sudo nano /etc/apt/sources.list
- Add this line at the end of the file:
deb http://ports.ubuntu.com/ubuntu-ports bionic-updates main
- Save and exit (CTRL+O, CTRL+X).
- Add the key for this repository:
sudo apt-key adv – keyserver keyserver.ubuntu.com – recv-keys 3B4FE6ACC0B21F32
- Before going further, we need to edit the preferences. We don’t want to mess with other packages with the one from the Ubuntu repository:
- Open this file:
sudo nano /etc/apt/preferences.d/99bionic-updates
- Paste the following lines in it:
Pin: release a=bionic-updates
- Save and exit (CTRL+O, CTRL+Y).
- If this is unclear for you and want to learn more, you can check the Debian wiki here.
- Open this file:
- We can now update the package list and install Firefox:
sudo apt update
sudo apt install firefox
As you can see, there is no mention of “ESR” in the package name this time.
In theory, everything should work directly, and you can start Firefox as usual.
You can now start Firefox from the main menu > Internet.
Click on “Firefox web browser”.
You should now have the latest version running on your Raspberry Pi:
If you experience any issue with this procedure, it could be because you need to use a more recent repository from Ubuntu Bionic is an LTS release, but it will not always be available.
That’s it, you now know how to install Firefox on your Raspberry Pi. You know the differences between Firefox ESR and Firefox RR, and how to install each one.
I hope this tutorial was useful for you. If it’s the case, feel free to share it on your favorite social media, it helps me a lot :).