Skip to main content

Firefox

Firefox is the recommended browser for ADL. It has strong ARM64 support, runs well under proot, and is available directly from the Ubuntu repositories. You do not need to hunt for third-party builds or worry about architecture mismatches.

Why Firefox?โ€‹

Several factors make Firefox the best default choice for browsing in ADL:

  • Native ARM64 packages โ€” Ubuntu's repositories include a fully optimized ARM64 build
  • Lower memory footprint โ€” Firefox uses less RAM than Chromium-based browsers, which matters on devices with 4-8 GB
  • Strong privacy defaults โ€” built-in tracking protection reduces network requests and speeds up page loads
  • Reliable rendering โ€” Firefox handles software rendering gracefully when GPU acceleration is unavailable
โญBest Practice

Start with Firefox before trying other browsers. It has the fewest compatibility issues in a proot environment and requires the least configuration to get running.

Installationโ€‹

Install Firefox from the Ubuntu repositories:

$sudo apt update && sudo apt install firefox
Expected Result

Firefox appears in your application menu under Internet. You can also launch it from the terminal by running firefox.

If you are using a minimal Ubuntu installation that does not include a display server, make sure Termux:X11 is configured first. See the display setup guide for details.

Performance Configurationโ€‹

Firefox works out of the box, but you can improve performance significantly by adjusting a few internal settings. Open a new tab and navigate to about:config, then accept the warning.

โš ๏ธabout:config changes

These settings are safe to modify, but changing random settings in about:config without understanding them can break your browser. Stick to the values listed here.

SettingValueWhy
gfx.webrender.allfalseDisables WebRender, which depends on GPU acceleration not available in proot
layers.acceleration.disabledtrueForces software compositing, preventing rendering glitches
image.mem.surfacecache.max_size_kb131072Limits image cache to 128 MB to reduce memory pressure
browser.sessionstore.interval60000Reduces session save frequency to once per minute, lowering disk I/O
browser.tabs.unloadOnLowMemorytrueAutomatically unloads background tabs when memory is low
dom.ipc.processCount2Limits content processes to reduce memory usage
โœ…๐Ÿ’ก Tip

After changing these settings, restart Firefox completely for all changes to take effect.

Disable Unnecessary Featuresโ€‹

Reduce background resource usage by turning off features you likely do not need in an ADL environment:

$# In about:config, set these values:
SettingValuePurpose
toolkit.telemetry.enabledfalseStops telemetry data collection
datareporting.healthreport.uploadEnabledfalseStops health report uploads
extensions.pocket.enabledfalseRemoves Pocket integration
reader.parse-on-load.enabledfalseDisables reader view background parsing

Essential Extensionsโ€‹

These extensions work well on ARM64 Firefox and improve the browsing experience:

ExtensionPurpose
uBlock OriginBlocks ads and trackers. Reduces page weight and speeds up loading significantly
Dark ReaderApplies dark mode to all websites. Easier on your eyes when using a phone screen
Auto Tab DiscardSuspends inactive tabs to free memory
LocalCDNServes common libraries locally instead of fetching from CDNs
๐ŸŸกPerformance โ€” Medium Impact

uBlock Origin alone can reduce memory usage by 20-30% on ad-heavy sites. Install it first.

Fixing Common Issuesโ€‹

Font Rendering Problemsโ€‹

If web pages show missing characters, boxes, or incorrect fonts, you need to install font packages:

$sudo apt install fonts-noto fonts-noto-cjk fonts-noto-color-emoji fonts-liberation

This installs comprehensive Unicode coverage including CJK characters and emoji.

Blank or Garbled Displayโ€‹

If Firefox opens but the window is blank or garbled, force software rendering:

$export MOZ_X11_EGL=0 && firefox

To make this permanent, add the export to your shell profile:

$echo 'export MOZ_X11_EGL=0' >> ~/.bashrc

High Memory Usageโ€‹

๐Ÿ”งTroubleshooting
Firefox uses too much memory and the system becomes sluggish
Reduce dom.ipc.processCount to 1 in about:config, install Auto Tab Discard, and keep fewer than 5 tabs open simultaneously.
Firefox crashes on memory-intensive pages
Enable zram swap if not already active. Close other applications before opening heavy websites. Consider using a lighter browser for casual browsing.
Pages load very slowly
Install uBlock Origin to reduce page weight. Disable JavaScript on sites that don't need it using uBlock's per-site controls. Check that dns.prefetch is not overloading your connection.

Performance Tipsโ€‹

Follow these practices to keep Firefox responsive on constrained hardware:

โญBest Practice

Keep your open tab count below 5. Each tab consumes 50-150 MB of RAM depending on page complexity. On a device with 4 GB of RAM, 10 open tabs can consume half your available memory.

  • Set a lightweight homepage โ€” use about:blank or a static HTML page instead of a content-heavy start page
  • Disable animations โ€” set ui.prefersReducedMotion to 1 in about:config
  • Clear cache regularly โ€” Firefox's cache can grow large over time; set a cache limit in Preferences > Privacy & Security
  • Use Reader View โ€” on article-heavy sites, Reader View strips out heavy page elements and reduces memory usage per tab
  • Avoid streaming video in multiple tabs โ€” video decoding without hardware acceleration is CPU-intensive

Browser Alternativesโ€‹

Firefox is the best default, but other browsers work in ADL depending on your needs.

๐Ÿค”Which browser should you use?
โ„น๏ธChromium on ARM64

Chromium works in ADL but typically uses 30-50% more memory than Firefox for the same set of tabs. If you need Chromium for web app compatibility, apply the same process count and telemetry tweaks described above โ€” Chromium has similar settings under chrome://flags.

โ“Frequently Asked Questions
Can I use Google Chrome instead of Chromium?
Google does not provide an official ARM64 Linux build of Chrome. Use Chromium instead, which is the open-source base of Chrome and is available in the Ubuntu repos.
Does hardware-accelerated video work?
No. The proot environment does not have access to the GPU for video decoding. All video playback uses software decoding, which is CPU-intensive. Lower the video quality to 480p or 720p for smoother playback.
Can I sync my Firefox profile from my desktop?
Yes. Sign in to Firefox Sync in both browsers to sync bookmarks, passwords, history, and open tabs between your ADL setup and your desktop Firefox.