LibreWolf
LibreWolf is a freedom-respecting, independent fork of the Firefox web browser.
Introduction
LibreWolf aims to be a private, secure, and freedom-expanding alternative browser. All telemetry, data collection, and annoyances of Firefox are removed. This goal is reached with patch files that are applied to Firefox's source code.[1]
This guide is a user-written guide - please check the official documentation given in librewolf.net.
Installation
For proper localization support, review the Localization section before emerging. This will prevent a recompile to add location support later.
Prerequisites
Overlay
Manual
To manually add the official LibreWolf overlay, a new file needs to be created:
/etc/portage/repos.conf/librewolf.conf
[librewolf] priority = 50 location = /var/db/repos/librewolf sync-type = git sync-uri = https://gitlab.com/librewolf-community/browser/gentoo.git auto-sync = Yes
Although in the official guide, the location of the repo is not given, the directory with the official Gentoo repo is /var/db/repos.
eselect
When adding the overlay through eselect repository, this command is necessary:
root #
eselect repository add librewolf git https://gitlab.com/librewolf-community/browser/gentoo.git
The overlay also has to be synced:
root #
emaint -r librewolf sync
USE flags
Although Librewolf is different from Firefox, the same Firefox USE Flags can still be used:
USE flags for www-client/firefox Firefox Web Browser
clang
|
Use Clang compiler instead of GCC |
dbus
|
Enable dbus support for anything that needs it (gpsd, gnomemeeting, etc) |
debug
|
Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces |
eme-free
|
Disable EME (DRM plugin) capability at build time |
geckodriver
|
Enable WebDriver support |
gmp-autoupdate
|
Allow Gecko Media Plugins (binary blobs) to be automatically downloaded and kept up-to-date in user profiles |
hardened
|
Activate default security enhancements for toolchain (gcc, glibc, binutils) |
hwaccel
|
Force-enable hardware-accelerated rendering (Mozilla bug 594876) |
jack
|
Add support for the JACK Audio Connection Kit |
libproxy
|
Enable libproxy support |
lto
|
Enable Link Time Optimization (LTO)Uses BFD linker with GCC and LLD linker with Clang |
openh264
|
Use media-libs/openh264 for H264 support instead of downloading binary blob from Mozilla at runtime |
pgo
|
Add support for profile-guided optimization for faster binariesthis option will double the compile time |
pulseaudio
|
Add support for PulseAudio sound server |
screencast
|
Enable support for remote desktop and screen cast using media-video/pipewire |
selinux
|
!!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur |
sndio
|
Enable support for the media-sound/sndio backend |
system-av1
|
Use the system-wide media-libs/dav1d and media-libs/libaom library instead of bundled |
system-harfbuzz
|
Use the system-wide media-libs/harfbuzz and media-gfx/graphite2 instead of bundled |
system-icu
|
Use the system-wide dev-libs/icu instead of bundled |
system-jpeg
|
Use the system-wide media-libs/libjpeg-turbo instead of bundled |
system-libevent
|
Use the system-wide dev-libs/libevent instead of bundled |
system-libvpx
|
Use the system-wide media-libs/libvpx instead of bundled |
system-png
|
Use the system-wide media-libs/libpng instead of bundled (requires APNG patches) |
system-python-libs
|
Use system's python site instead of bundled python libraries |
system-webp
|
Use the system-wide media-libs/libwebp instead of bundled |
wayland
|
Enable dev-libs/wayland backend |
wifi
|
Enable wireless network functions |
For librewolf-bin:
USE flags for www-client/firefox-bin Firefox Web Browser
alsa
|
When pulseaudio isn't set, this prefers apulse |
ffmpeg
|
Enable ffmpeg/libav-based audio/video codec support |
gmp-autoupdate
|
Allow Gecko Media Plugins (binary blobs) to be automatically downloaded and kept up-to-date in user profiles |
pulseaudio
|
Add support for PulseAudio sound server |
selinux
|
!!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur |
wayland
|
Enable dev-libs/wayland backend |
Emerge
Now, LibreWolf is ready to be emerged:
root #
emerge --ask www-client/librewolf
Alternatively install the binary:
root #
emerge --ask www-client/librewolf-bin
Configuration
Localization
Changing the UI language can be done by changing the L10N variable. For more information about localizing on Gentoo, the Localization article may help. All language tags can be found in this Language localisation wikipedia article. The following example shows how to enable the German language package for LibreWolf:
/etc/portage/make.conf
L10N="de"
Removal
Unmerge
LibreWolf can be removed with unmerging it:
root #
emerge --ask --depclean --verbose www-client/librewolf
For librewolf-bin:
root #
emerge --ask --depclean --verbose www-client/librewolf-bin
External resources
- LibreWolf website - The LibreWolf main site.
- LibreWolf Gentoo installation - The LibreWolf installation for Gentoo Linux.
- LibreWolf Gentoo overlay - The official LibreWolf overlay for Gentoo Linux.