Firefox Gentoo
- Gentoo - Gnome - Firefox - Flash - Sound: Greggor: Linux - Software: 9: 12:13 PM: firefox 1.5beta on gentoo: mndar: Linux - Software: 3: 11:12 PM: Gentoo firefox USE flags: mndar: Linux - Software: 5: 12:47 PM: Minor FireFox issues with Gentoo: vharishankar: Linux - Software: 9: 12:35 AM: firefox.
- Www-client/firefox: the `x8664-gentoo-linux-musl` target may not be installed 748849 - Assigned to mozilla www-client/firefox-82.0 fails to compile: 'jemallocpurgefreedpages' declared void.
- Browser-Home-Profile is a shell script that manage web browsers home profile and cache directories similar to Profile-Sync-Daemon bash script. However, bhp does not touch the underlying profile and cache directories contrary to psd with symbolic links which can render the profile/cache direcories unusable; it just bind mount temporary file system (see tmpfs for more info) on the directories.
NEWS 210122 about exGENT (Gentoo) 64 bit
I’ve made a new version of exGENT with only a few necessary packages pre-installed. It uses LXQt 0.15.1 as Desktop environment and kernel 5.10.8-gentoo-aufs-exton corresponding Kernel.org’s latest stable kernel 5.10.8. The ISO file is of 2220 MB. Despite this exGENT version 210120 runs surprisingly fast from DVD or USB. Even in VirtualBox and VMware. Faster than most other Linux live systems. I call my new version exGENT 2021 LXQt Live DVD/USB. It replaces version 200428. All installed packages in exGENT have been updated to the latest available version by 210122. Study the full package list.
What’s new in kernel 5.10 LTS? – The most exciting kernel in years!
Is exGENT Build 210122 unique?
If you have a look at Gentoo’s download site you will notice that the latest Gentoo live system is from 20160704 (!?). Furthermore there are only a few other distros based on Gentoo. The most well-known are Funtoo Linux and Sabayon Linux. Funtoo isn’t a live system. Sabayon is a live system distributed with different Desktops variants. (Not with LXQt though). I have tried some of them on the computers I have access to. None of Sabayon’s variants could run live. Not even in VirtualBox and VMware. My guess is that exGENT has better hardware recognition than Sabayon.
Who is exGENT/Gentoo for?
Experienced Linux users or those who really want to learn Linux. (Perhaps also for people who are bored with mainstream distributions like Ubuntu).
Screenshots
1. exGENT Build 210122 running Firefox/Netflix
2. exGENT Build 210122 – root’s Desktop
3. exGENT running Calamares in VirtualBox
4. exGENT running in VirtualBox in full screen
5. exGENT running showing a Samba connection
A wild qtwebengine appears! (seriously, it's even worse). It annoys me to no end that i need it for only one application, and that's anki (flashcards app). I finally decided to package precompiled version of it and it took much quicker to make an ebuld for it than to build the damn dependencies (pyqt5,qtwebengine). Especially since current version relies on deprecated pyqt4 + qtwebkit4 that.
andex.exton.net – latest is AndEX 10 (with GAPPS) and AndEX Pie 9.0 (also with GAPPS)!
and
about my Android 11, 10, Pie, Oreo, Nougat, Marshmallow and Lollipop versions for Raspberry Pi 4 and 3/2 at
raspex.exton.se – latest is RaspAnd 11 (without GAPPS) and RaspAnd Oreo 8.1 (with GAPPS)!
Firefox is Mozilla's web browser. It is not the same thing as Firefox OS, which was a full operating system.
Aurora is the 'unbranded' version of Mozilla's Firefox.
Installation
USE flags
USE flags forwww-client/firefoxFirefox 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) cabability 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 |
lto | Enable Link Time Optimization (LTO). Requires Gold linker when using GCC or LDD linker when using Clang |
openh264 | Use media-libs/openh264 for H.264 support instead of downloading binary blob from Mozilla at runtime |
pgo | Add support for profile-guided optimization using gcc-4.5, for faster binaries. This 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 |
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-webp | Use the system-wide media-libs/libwebp instead of bundled. |
wayland | Enable dev-libs/wayland backend |
wifi | Enable wireless network functions |
The above list of USE flag is not comprehensive. Use equery (part of app-portage/gentoolkit) for a full list:
Emerge
To compile the source version of Firefox ESR, issue:
Be aware that non-ESR versions are not getting stabilized.
Emerging the source version of Firefox can be a long process; a pre-compiled (binary) version does exist in the Gentoo repository, however users of the pre-built package should note the warning below and this message. To emerge the Firefox binary, issue:
The disadvantage of using pre-compiled www-client/firefox-bin package is that almost all of the USE flags in the list above cannot be set. Be aware that setting these flags while using this package will not alter the binary.
Configuration
Running under Wayland
Since Firefox 65, it is possible to run Firefox natively under Wayland by launching it with the GDK_BACKEND=wayland
environment variable set after having emerged Firefox with the USE flag wayland
enabled. From a terminal:
To set Firefox to always open using the Wayland backend, set the following environment variable in the user's shell. Bash is the default user shell on Gentoo systems:
~/.bash_profile
Enabling multitouch
Xinput2 scrolling
This brings touch scrolling and multitouch support for Firefox:
MOZ_USE_XINPUT2environment variable has to be set to a value of 1
in /etc/env.d/80firefox, or just before launching firefox in a shell. for example:
This also eliminates the predefined scroll step size for touchpad scrolling! All scrolling will be really smooth.
Wacom tablets/touchscreens may need extra configuration so they emit true touch events for X.
Multitouch zoom
This only works when the multitouch events reach Firefox, therefore the Xinput2
activation above has to be done first.
Description | about:config option | Value |
---|---|---|
Multitouch activation | gestures.enable_single_finger_input | False |
Zoom in | browser.gesture.pinch.in | cmd_fullZoomReduce |
Zoom out | browser.gesture.pinch.out | cmd_fullZoomEnlarge |
Middle mouse scroll (autoscroll)
Traditionally in Linux, the middle mouse button is used to paste the currently selected (highlighted) text into a text field. On Windows systems, the middle mouse button in Firefox is used for click-and-drag scrolling up and down the page. This functionality can be enabled in Firefox by opening about:config
and setting the following value[1]:
general.autoScroll = true
Middle click-and-drag scrolling should now be enabled.
Although not necessary, sometimes it is desirable to disable all other middle-click functionality within Firefox when using click-and-drap scrolling. Open about:config
and set the following values to disable middle-click functionality:
middlemouse.contentLoadURL = false
middlemouse.openNewWindow = false
middlemouse.paste = false
Threads
Firefox >= 54 has 4 threads enabled by default. Threads can be adjusted by modifying the following in the about:config
interface:
Description | about:config option | Value |
---|---|---|
Increase the threads | dom.ipc.processCount | N |
Where N
is an integer number.
Audio backend
Firefox's cubeb audio library supports a number of different backends[2][3].
Description | about:config option | Value |
---|---|---|
JACK | media.cubeb.backend | jack |
Disabling percent-encoding
Normally, URLs that are copied from the address bar get percent-encoded. This may cause an annoyance when certain non-Latin symbols (such as Cyrillic) get encoded, as they become unreadable to humans.
To disable percent-encoding when copying from the address bar, set the about:config
option network.standard-url.escape-utf8
to false
.
Unfortunately Firefox does not support non-Latin symbols in anchors, those remain encoded (not percent-encoded, though).
Disable enforced digital signatures verification in Firefox >=48
This concerns mandatory add-ons signature in Firefox and can lead to security issues.
Method 1
Create this file:
Then insert this:
/usr/lib/firefox/defaults/pref/channel-prefs.js
Method 2
Method 3
This patch works for both firefox 49 and firefox 51, and seems to be robust to changes.
Firefox Gentoo Package
/etc/portage/patches/www-client/firefox/no-signature-force-check.patch