Running Firefox on a Raspberry Pi works better than most people expect. Here's the current state of Firefox on ARM/Raspberry Pi hardware.
Firefox Availability on Raspberry Pi
Raspberry Pi OS (Debian-based): Firefox is available in the official repositories.
sudo apt update
sudo apt install firefox-esr
This installs Firefox ESR (Extended Support Release) — the maintained, stability-focused version. For the latest release:
# Add Mozilla's deb repository
sudo install -d -m 0755 /etc/apt/keyrings
wget -q https://packages.mozilla.org/apt/repo-signing-key.gpg -O- | \
sudo tee /etc/apt/keyrings/packages.mozilla.org.asc > /dev/null
echo "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main" | \
sudo tee /etc/apt/sources.list.d/mozilla.list > /dev/null
sudo apt update
sudo apt install firefox
Performance on Different Pi Hardware
Raspberry Pi 5 (2023)
The Pi 5 with 8GB RAM runs Firefox adequately for regular browsing:
- YouTube 1080p: manageable with hardware acceleration
- General web browsing: responsive
- Dev.to, GitHub: fine
- Gmail/Google Docs: usable, some lag on complex operations
The Pi 5 is the first Pi where Firefox feels like a real browser rather than a slower-than-ideal one.
Raspberry Pi 4 (2GB/4GB/8GB)
Firefox works. Comfortable for:
- News reading, documentation
- Light web app use
- Web development testing
Not comfortable for:
- Multiple heavy tabs simultaneously
- WebGL-heavy pages
- Complex JavaScript applications
8GB variant is significantly better than 2GB.
Raspberry Pi 3/Zero
Firefox runs but is noticeably slow. Chromium/Chromium-based browsers may perform better on Pi 3 due to Google's ARM optimization work. Firefox ESR is more practical than release on Pi 3.
Hardware Acceleration on Pi
Firefox on Raspberry Pi can use the GPU for video decoding:
Check if hardware acceleration is working:
about:support → Search for "HW_COMPOSITING" — should show "Available, blocked by default" or "Available, enabled"
Enable VA-API (Video Acceleration API) on supported Pi hardware:
about:config → media.ffmpeg.vaapi.enabled → true
about:config → layers.acceleration.force-enabled → true
Then restart Firefox. Check about:support → Media section to verify acceleration is active.
For Pi 4 with KMS/DRM video output, VA-API can meaningfully improve YouTube performance.
Memory Usage
Firefox is more memory-hungry than Chromium on Pi. With 4 tabs open:
- Firefox: ~800MB–1.2GB
- Chromium: ~500MB–800MB
On Pi with 4GB+ RAM, this is fine. On 2GB Pi 4, be conservative with open tabs.
Firefox's about:performance shows per-tab memory usage — useful for monitoring on memory-limited hardware.
Firefox Lightweight Configuration for Pi
Reduce resource usage in about:config:
browser.cache.disk.capacity → 51200 (limit disk cache to 50MB)
network.http.max-persistent-connections-per-server → 4 (reduce connections)
layers.acceleration.disabled → false (keep acceleration on if available)
And in Settings:
- Disable hardware acceleration if it causes visual glitches (Settings → Performance → uncheck "Use hardware acceleration when available")
- Close unused tabs (each tab consumes memory)
Kiosk Mode
Firefox on Pi is good for kiosk displays (dashboards, signs):
firefox --kiosk https://grafana.local/d/your-dashboard
Combined with --private-window for no session persistence, and autorandr or xrandr for display setup.
For headless use (no display):
firefox --headless --screenshot output.png https://example.com
Useful for automated screenshots or testing from Pi without a monitor attached.
Firefox Profiles on Pi
Firefox profile storage can fill up Pi's SD card. Manage profile location:
about:profiles → Create a New Profile → Store on external drive
Or set MOZ_PROFILE_DIR environment variable to a USB drive location.
Regularly clear cache: about:preferences#privacy → Clear Data.
Comparison: Firefox vs Chromium on Pi
| Firefox | Chromium | |
|---|---|---|
| Default on Raspberry Pi OS | ESR | Sometimes bundled |
| Memory | Higher | Lower |
| Extensions | Full AMO | Chrome Web Store (limited on ARM) |
| Video acceleration | VA-API | Good VA-API support |
| Privacy defaults | Better | Worse |
| Performance feel | Pi 4: decent, Pi 5: good | Pi 3+: generally faster |
Bottom line: On Pi 4 with 4GB+ RAM, Firefox is a legitimate daily browser. On Pi 3 or for resource-constrained setups, Chromium may be more practical. On Pi 5, Firefox is fully viable.
NightOwl Dark Mode on Pi
If you're using Firefox on a Pi connected to a low-brightness display (common for embedded/kiosk setups), NightOwl dark mode extension reduces the brightness burden. Install from AMO as you would on any Firefox install.
The extension works identically on ARM Firefox as on x86 — Firefox extensions don't have architecture dependencies.
Top comments (0)