Chromium
Chromium is an open-source graphical web browser based on the Blink rendering engine. It is the basis for the proprietary Google Chrome browser.
Google Chrome has following notable built-in features over Chromium:
- Geolocation support.[1]
- Flash player, also available via pepper-flash. (will be removed in December 2020)
- Native client (NaCl). (will be removed in June 2021)
See these two articles [2] [3] for an explanation of the differences between Chromium and Chrome.
See List of applications/Internet#Blink-based for other browsers based on Chromium.
Contents
- 1 Installation
- 2 Configuration
- 3 Tips and tricks
-
4 Troubleshooting
- 4.1 Fonts
- 4.2 WebGL
- 4.3 Incorrect HiDPI rendering
- 4.4 Password prompt on every start with GNOME Keyring
- 4.5 Chromecasts in the network are not discovered
- 4.6 Everything is syncing except for password
- 4.7 Losing cookies and passwords when switching between desktop environments
- 4.8 Hang on startup when Google Sync enabled
- 4.9 Chromium asks to be set as the default browser every time it starts
- 4.10 "This browser or app may not be secure" error logging in to Google
- 5 See also
Installation
There are several packages available to install Chromium with:
- chromium — stable release;
- chromium-devAUR — development release;
- chromium-snapshot-binAUR — nightly build;
- chromium-vaapiAUR — stable release with Hardware video acceleration support enabled;
- chromium-ozoneAUR — stable release with Wayland support enabled.
Google Chrome packages:
- google-chromeAUR — stable release;
- google-chrome-betaAUR — beta release;
- google-chrome-devAUR — development release.
Configuration
Default applications
To set Chromium as the default browser and to change which applications Chromium launches when opening downloaded files, see default applications.
Certificates
Chromium uses Network Security Services for certificate management. Certificates can be managed in chrome://settings/certificates
.
Force GPU acceleration
chrome://gpu
for details.By default Chromium on Linux doesn't use any GPU acceleration. To force GPU acceleration, append the following flags to persistent configuration:
~/.config/chromium-flags.conf
--ignore-gpu-blacklist --enable-gpu-rasterization --enable-native-gpu-memory-buffers --enable-zero-copy
Additionally the flag --disable-gpu-driver-bug-workarounds
may need to be passed to prevent GPU workaround from being used. Flags in chrome://gpu
should state "Hardware accelerated" when configured and available.
Hardware video acceleration
Before trying VA-API support in Chromium be sure to:
- Install correct VA-API driver for your video card and verify VA-API has been enabled and working correctly, see Hardware video acceleration;
- Install chromium-vaapiAUR or get compiled version from Unofficial user repositories#archlinuxcn;
- One may need to #Force GPU acceleration as Chromium uses a GPU blacklist by default;
- Check
chrome://gpu
Video Decode field.
To check if it's working play a video which is using a codec supported by your VA-API driver (vainfo tell you which codecs are supported) go to chrome://media-internals/
and check video_decoder field:
- Hardware accelerated: MojoVideoDecoder, GpuVideoDecoder;
- In-software decoding: VpxVideoDecoder, FFmpegVideoDecoder.
To reduce CPU usage while watching YouTube where VP8/VP9 hardware decoding is not available use the h264ify or enhanced-h264ify extension.
PDF viewer plugin
Chromium and Google Chrome are bundled with the Chromium PDF Viewer plugin. If you don't want to use this plugin, check Open PDFs using a different application in chrome://settings/content/pdfDocuments
.
Flash Player plugin
Flash Player is automatically installed when using Google Chrome.
To install it for Chromium, install the pepper-flash package.
Make sure Flash is allowed to run in chrome://settings/content/flash
.
Tips and tricks
See the main article: Chromium/Tips and tricks.
Troubleshooting
Fonts
Font rendering issues in PDF plugin
To fix the font rendering in some PDFs one has to install the ttf-liberation package, otherwise the substituted font causes text to run into other text. This was reported on the chromium bug tracker by an Arch user.
Font rendering issues of UTF characters
UTF characters may render as boxes (e.g. simplified Chinese characters). Installing ttf-liberation or another Unicode font will allow for the characters to be rendered as expected.
Tab font size is too large
Chromium will use the GTK settings as described in GTK#Configuration. When configured, Chromium will use the gtk-font-name
setting for tabs (which may mismatch window font size). To override these settings, use --force-device-scale-factor=1.0
.
WebGL
There is the possibility that your graphics card has been blacklisted by Chromium. See #Force GPU acceleration.
If you are using Chromium with Bumblebee, WebGL might crash due to GPU sandboxing. In this case, you can disable GPU sandboxing with optirun chromium --disable-gpu-sandbox
.
Visit chrome://gpu/
for debugging information about WebGL support.
Chromium can save incorrect data about your GPU in your user profile (e.g. if you use switch between an Nvidia card using Optimus and Intel, it will show the Nvidia card in chrome://gpu
even when you're not using it or primusrun/optirun). Running using a different user directory, e.g, chromium --user-data-dir=$(mktemp -d)
may solve this issue. For a persistent solution you can reset the GPU information by deleting ~/.config/chromium/Local\ State
.
Incorrect HiDPI rendering
Chromium will automatically scale for a HiDPI display, however, this may cause an incorrect rendered GUI.
The flag --force-device-scale-factor=1
may be used to overrule the automatic scaling factor.
On Wayland, the chromium-ozoneAUR package will automatically scale based on the configured scale of each monitor.
Password prompt on every start with GNOME Keyring
See GNOME/Keyring#Passwords are not remembered.
Chromecasts in the network are not discovered
You will need to enable the Media Router Component Extension in chrome://flags/#load-media-router-component-extension
.
Everything is syncing except for password
If synchronization is not working for password only (you can check it on chrome://sync-internals/
) delete profile login data:
$ rm ~/.config/chromium/Default/Login\ Data*
See Google Chrome Help forum for details.
Losing cookies and passwords when switching between desktop environments
If you see the message Failed to decrypt token for service AccountId-*
in the terminal when you start Chromium, it might try to use the wrong password storage backend. This might happen when you switch between Desktop Environments.
See Chromium/Tips and tricks#Force a password store.
Hang on startup when Google Sync enabled
Try launching Chrome with --password-store=basic
or another appropriate password store.
See Chromium/Tips and tricks#Force a password store.
Chromium asks to be set as the default browser every time it starts
If you are using KDE and have once set Firefox as the default browser (by clicking the button inside Firefox), you might find Chromium asks to be set as the default browser every time it starts, even if you click the "set as default" button.
Chromium checks for this status by running xdg-settings check default-web-browser chromium.desktop
. If the output is "no", it is not considering itself to be the default browser. The script xdg-settings
checks for the following MIME associations and expect all of them to be chromium.desktop
:
x-scheme-handler/http x-scheme-handler/https text/html
To fix it, go to System settings > Applications > Default applications > Web browser and choose Chromium. Then, set the MIME association for text/html
:
$ xdg-mime default chromium.desktop text/html
Finally, update the MIME database:
$ update-mime-database ~/.local/share/mime
"This browser or app may not be secure" error logging in to Google
As of 2020.04.20 if you run chromium with --remote-debugging-port=9222
flag for web development, you can't log in to your Google account. Temporarily disable this flag to login and then you can enable it back.