Ungoogled Chromium for Void Linux
Ungoogled Chromium template and builds for Void Linux, based on the void-packages chromium template.
Content Overview
Building from source
Note
Consult void-packages documentation for more information about setting it up.
Clone and setup the void-packages repository in a work directory and:
git clone --depth=1 https://github.com/DAINRA/ungoogled-chromium-void.git
[[ -d void-packages/srcpkgs/ungoogled-chromium ]] && rm -r void-packages/srcpkgs/ungoogled-chromium
cp -r ungoogled-chromium-void/void-packages/srcpkgs/ungoogled-chromium void-packages/srcpkgs/
cd void-packages
./xbps-src pkg ungoogled-chromium
Binary release
./xbps-src show-options ungoogled-chromium
=> ungoogled-chromium-x.x.x.x_x: the following build options are set:
clang: Use clang to build (ON)
pipewire: Enable support for screen sharing for WebRTC via PipeWire (ON)
pulseaudio: Enable support for the PulseAudio sound server (ON)
vaapi: Enable support for VA-API (ON)
debug: Build with debug symbols (OFF)
js_optimize: Optimize the JS used for Chromium's UI (OFF)
sndio: Enable support for the sndio sound server (OFF)
js_optimized
disabled as per enable_js_type_check=false.sndio
is disabled (same as the void-linux build) andsndio.patch
is moved to the files directory.
If the option is enabled, it is applied at the end of the patching stage, otherwise it causes patching to fail.- remove-strip_binary.patch removed since it is already included in fix-building-with-prunned-binaries.patch.
Available builds
You can check the workflow file for the available builds:
ungoogled-chromium-void/.github/workflows/create-release.yml
Lines 35 to 40 in 17c6b58
and the Actions tab for current build progress.
Installing the binary package
Method 1 - manual update
Download the xbps
package from the releases page, index and install the package:
xbps-rindex -a *.xbps
sudo xbps-install -vR $PWD ungoogled-chromium
Method 2 - updates handled by xbps-install
Add the releases page as a repository:
cat << EOF > /etc/xbps.d/20-ungoogled-chromium.conf
repository=https://github.com/DAINRA/ungoogled-chromium-void/releases/latest/download/
EOF
xbps-install -Su ungoogled-chromium
First xbps-install -S
run it will ask to import the repository key, same as 88:ac:8f:99:4d:b0:20:8f:6b:f0:8f:49:b9:13:fb:17.plist.
Troubleshooting
- Although it is not included in the run dependencies,
gtk+3
package must be installed. - To enable VAAPI add
--enable-features=VaapiVideoDecoder
toCHROME_FLAGS
environment variable.
More info vaapi.md. Also check Void Handbook in case of problems. - For VAAPI
--disable-features=UseChromeOSDirectVideoDecoder
might also be needed.
Check inchrome://gpu
ifVideo Decode: Hardware accelerated
.
Musl crashes mitigation
- Make sure you have
dbus
running (on glibc it doesn't matter).
Symptoms: crashes, pages stalling and refusing to load until browser restart, plugin crashes. - Try adding
--js-flags=--jitless
toCHROME_FLAGS
. If nothing else, it's a security hardening option.
General tweaks
- Lower ram usage:
--renderer-process-limit=2
renderer-process-limit. - Reduce disk activity:
--disk-cache-size=1 --v8-cache-options=none
disk-cache-size, v8-cache-options. - Dark Mode:
chrome://flags/#enable-force-dark
. - Global media controls can cause crashes either by opening or closing it, as described in this issue.
Either avoid using the feature or disable it completely (--disable-features=GlobalMediaControls
).