Chromium

[[Has Abstract::(Chromium is the open source version of Google's Chrome web browser. It features a minimal user interface, powerful web development tools, and a built in task manager. The Chromium Project is at the forefront of implementing new web standards.)| ]]

Chromium is the open source version of Google's Chrome web browser. It features a minimal user interface, powerful web development tools, and a built in task manager. The Chromium Project is at the forefront of implementing new web standards.

Because Chromium is open source it is legally unable to include several features that the proprietary Google Chrome browser includes by default. Namely automatic updates and the integration of Adobe's Flash Player. A complete list of the differences can be found in the chromium repository.

Installation[edit | edit source]

USE flags[edit | edit source]

Linguas[edit | edit source]

There are many linguas available via USE_EXPAND in Chromium. So many, in fact, that the Wiki cannot display all of them. For a full list of linguas run:

user $equery u www-client/chromium | grep l10n
Note
The equery tools comes as part of the app-portage/gentoolkit package. It will need to be installed in order to use the above command.

Miscellaneous[edit | edit source]

USE flags for www-client/chromium Open-source version of Google Chrome web browser

component-build Split build into more shared libraries to speed up linking. Mostly intended for debugging and development, NOT RECOMMENDED for general use.
cups Add support for CUPS (Common Unix Printing System)
custom-cflags Build with user-specified CFLAGS (unsupported)
hangouts Enable support for Google Hangouts features such as screen sharing
headless Build Ozone only with headless backend, NOT RECOMMENDED for general use.
js-type-check Enable JavaScript type-checking for Chrome's web technology-based UI. Requires Java.
kerberos Add kerberos support
official Enable Official build instead of Developer build.
pic Disable optimized assembly code that is not PIC friendly
proprietary-codecs Enable codecs for patent-encumbered audio and video formats.
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
suid Build the SUID sandbox, which is only needed on CONFIG_USER_NS=n kernels
system-ffmpeg Use system ffmpeg instead of the bundled one
system-icu Use system icu instead of the bundled one
tcmalloc Use bundled tcmalloc instead of system malloc
vaapi Enable Video Acceleration API for hardware decoding
wayland Enable dev-libs/wayland backend
widevine Unsupported closed-source DRM capability (required by Netflix VOD)

icu USE flag[edit | edit source]

Important
To avoid an emerge slot conflict with dev-libs/libxml2, which prevents Chromium to be emerged, icu USE flag must be set in /etc/portage/make.conf. If icu is newly set, update the system before emerging Chromium by issuing:

root #emerge --ask --update --deep --newuse @world

Emerge[edit | edit source]

Tip
Be aware that compiling Chromium can take a significant amount of real time, CPU time, and system memory. Allow 2Gb of RAM per each make thread (as defined by MAKEOPTS, see this post). It is probably not a good idea to build Chromium when the system is under heavy load.

After setting USE flags as desired, emerge Chromium with the following command:

root #emerge --ask www-client/chromium

Configuration[edit | edit source]

HiDPI[edit | edit source]

Chromium's visual output is generally disconnected from a Desktop environment's DPI scaling. It can be instructed to start in a scaled mode by using the --force-device-scale-factor command-line option. This option can be passed a integer or decimal value. Standard scaling begins at 1.0. For example, to make Chromium's UI 1.5x larger:

user $chromium --force-device-scale-factor=1.5

A full list of command-line switches can be found here.

Native Wayland support[edit | edit source]

Since version 87, native Wayland support in Chromium can be enabled by passing the following options:

user $chromium --enable-features=UseOzonePlatform --ozone-platform=wayland

To set Chromium to start every time using the Wayland backend, append the following lines the user's Chromium configuration file:

FILE ~/.config/chromium-flags.conf
--enable-features=UseOzonePlatform
--ozone-platform=wayland

Usage[edit | edit source]

Chrome URLs[edit | edit source]

Much like Firefox, Chromium has many internal Chrome URLs (special pages) that are used for additional configuration, troubleshooting, task management, etc. An exhaustive list of special pages can be accessed by navigating to: chrome://about/

Prominent special pages include:

  • chrome://components/ - Shows enabled components and provides a button to check for updates for each of them. It is sometimes necessary to manually update the PPAPI Adobe flash module via this interfaces when using Chrome.
  • chrome://chrome/ - Displays the About page which includes version information.
  • chrome://extensions/ - A page to manage extensions.
  • chrome://flags/ - Enable/disable experimental features.
  • chrome://flash/ - Displays special information about the Adobe Flash Player (if it is accessible by Chromium).
  • chrome://gpu/ - Displays information about use of graphics acceleration.
  • chrome://history/ - Displays web history. Also accessible through the sandwich menu or by pressing Ctrl+h.
  • chrome://memory-redirect/ - Measure the memory usage of the browser and per-tab usage.
  • chrome://net-internals/ - Lots of information on network connections.
  • chrome://plugins/ - Shows a list of plugins. Enable/disable them from this interface. (Deprecated in Chrome version 57[1].)
  • chrome://version/ - Displays more version information than the chrome page.

Troubleshooting[edit | edit source]

Tabs crash[edit | edit source]

Occasionally tabs in Chromium crash. This can be caused by quite a few things, however one of the most common reason for occurrence is that the system is running low on memory. On Gentoo, this can especially happen if the system is compiling a www-client/chromium package update while running Chromium.

The free command can be used to see how much memory is available on the system:

user $free -h
              total        used        free      shared  buff/cache   available
Mem:            15G         11G        735M        789M        3.4G        3.1G

The solution to is to free up memory until the large package compiles have finished. Open a resource monitor of choice and kill applications using large amounts of memory.

See also[edit | edit source]

  • Firefox โ€” Mozilla's solution to the web browser.
  • Chrome โ€” Google's proprietary (closed source) web browser.

References[edit | edit source]

This article is issued from Gentoo. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.