Difference between revisions of "Chromium"

From ArchWiki
Jump to navigation Jump to search
m (typos)
(→‎Configuration: chromium-vaapi needs only --ignore-gpu-blacklist to get hw decoding working)
 
(381 intermediate revisions by 84 users not shown)
Line 1: Line 1:
 +
[[Category:Web browser]]
 +
[[Category:Google]]
 +
[[de:Chromium]]
 
[[es:Chromium]]
 
[[es:Chromium]]
 
[[fr:chromium]]
 
[[fr:chromium]]
 
[[it:Chromium]]
 
[[it:Chromium]]
[[zh-CN:Chromium]]
+
[[ja:Chromium]]
[[Category:Web Browser]]
+
[[ru:Chromium]]
 +
[[zh-hans:Chromium]]
 +
{{Related articles start}}
 +
{{Related|Chromium/Tips and tricks}}
 +
{{Related|Browser plugins}}
 +
{{Related|Firefox}}
 +
{{Related|Opera}}
 +
{{Related articles end}}
  
{{Article summary start}}
+
[[Wikipedia:Chromium (web browser)|Chromium]] is an open-source graphical web browser based on the [[Wikipedia:Blink (web engine)|Blink]] rendering engine. It is the basis for the proprietary Google Chrome browser.
{{Article summary text|General information, installation and troubleshooting for Chromium.}}
 
{{Article summary heading|Related}}
 
{{Article summary wiki|Chromium Tips and Tweaks}}
 
{{Article summary wiki|Browser Plugins}}
 
{{Article summary wiki|Firefox}}
 
{{Article summary wiki|Opera}}
 
{{Article summary end}}
 
  
[[Wikipedia:Chromium (web browser)|Chromium]] is an open source graphical web browser from Google, based on the [[Wikipedia:WebKit|WebKit]] rendering engine.
+
Google Chrome has following notable built-in features over Chromium:
  
== Installation ==
+
* [[Wikipedia:Flash player|Flash player]], also available via {{Pkg|pepper-flash}}.
Chromium can be [[Pacman|installed]] with the package {{Pkg|chromium}}, available in the [[official repositories]].
+
* Widevine [[Wikipedia:Encrypted Media Extensions|EME]] for e.g. Netflix, also available via {{AUR|chromium-widevine}}.
 +
* [[Wikipedia:Native client|Native client]] (NaCl). Support for native client (NaCl) has been dropped from Chromium packages since version 54, see {{Bug|51511}}.
  
In the [[AUR]] you can also find:
+
See these [https://chromium.googlesource.com/chromium/src/+/master/docs/chromium_browser_vs_google_chrome.md two] [https://www.howtogeek.com/202825/what%E2%80%99s-the-difference-between-chromium-and-chrome/ articles] for an explanation of the differences between Chromium and Chrome.
* {{AUR|chromium-dev}} - a development version of the Chromium browser.
 
* {{AUR|chromium-update}} - an update. script for Chromium nighly builds, pre-compiled on the Chromium buildbot server.
 
* {{AUR|chromium-browser-bin}} - a binary version of the latest Chromium build.
 
  
{{Note|Compiling {{AUR|chromium-dev}} takes at least as long as compiling the Linux kernel.}}
+
See [[List of applications/Internet#Blink-based]] for other browsers based on Chromium.
  
Various versions of the modified Google Chrome browser can be found in the [[AUR]]:
+
== Installation ==
* {{AUR|google-chrome}}
 
* {{AUR|google-chrome-beta}}
 
* {{AUR|google-chrome-dev}}
 
  
See these [https://code.google.com/p/chromium/wiki/ChromiumBrowserVsGoogleChrome two] [http://news.softpedia.com/news/Google-Chrome-vs-Chromium-Understanding-Stable-Beta-Dev-Releases-and-Version-No-140060.shtml articles] for an explanation of the differences between Stable/Beta/Dev, as well as Chromium vs. Chrome and the version numbers.
+
There are several packages available to [[install]] Chromium with:
  
== Configuration ==
+
* {{Pkg|chromium}} – stable release.
 +
* {{AUR|chromium-dev}} – development release.
 +
* {{AUR|chromium-snapshot-bin}} – nightly build.
 +
* {{AUR|chromium-vaapi}} – patched stable release with [[#Hardware_video_acceleration|VA-API]].
 +
* {{AUR|chromium-vaapi-bin}} – patched stable release with [[#Hardware_video_acceleration|VA-API]], pre-compiled.
 +
* {{AUR|chromium-ozone}} – stable release compiled with wayland support via ozone
  
=== File associations ===
+
Google Chrome packages:
  
Unlike [[Firefox]], Chromium does not maintain its own database of mimetype-to-application associations. Instead, it relies on [[Xdg-open|xdg-open]] to open files and other mime types, for example, [[Wikipedia:Magnet URI scheme|magnet links]].
+
* {{AUR|google-chrome}} – stable release.
 +
* {{AUR|google-chrome-beta}} – beta release.
 +
* {{AUR|google-chrome-dev}} – development release.
  
There are exceptions to this rule though. In the case of ''mailto'' URIs, Chromium calls out to {{ic|xdg-email}} which is similar to {{ic|xdg-open}}. Other protocol handlers may have equivalent scripts so check {{ic|/usr/bin/xdg*}}.
+
== Configuration ==
  
The behaviour of {{ic|xdg-*}} tools is managed automatically in environments such as [[GNOME]], [[KDE]], [[Xfce]] or [[LXDE]], but does not work in others. Usually this behaviour can be fixed by tricking them into thinking that they are operating in one of the supported desktop environments. Depending on your environment one may work and another will not so trying each is recommended. You can set the desktop environment with the following variable:
+
=== Default applications ===
export DE=INSERT_DE_HERE
 
  
where the recognised desktop environments are: '''gnome''', '''kde''', '''xfce''' and '''lxde'''. For the variable to be always set, put it somewhere like {{ic|~/.xinitrc}} or {{ic|~/.bashrc}}.
+
To set Chromium as the default browser and to change which applications Chromium launches when opening downloaded files, see [[default applications]].
  
An alternative is to edit the {{ic|xdg-open}} or {{ic|xdg-email}} scripts and '''hard-code''' a useful DE. At the bottom of the file you will see something like this:
+
=== Certificates ===
{{hc|/usr/bin/xdg-open|<nowiki>
 
detectDE
 
  
if [ x"$DE" = x"" ]; then
+
Chromium uses [[Network Security Services]] for certificate management. Certificates can be managed in {{ic|chrome://settings/certificates}}.
    DE=generic
 
fi
 
  
DEBUG 2 "Selected DE $DE"
+
=== Widevine Content Decryption Module plugin ===
  
# if BROWSER variable is not set, check some well known browsers instead
+
Widevine is Google's Encrypted Media Extensions (EME) Content Decryption Module (CDM). It is used to watch premium video content such as Netflix. It is automatically installed when using Google Chrome.
if [ x"$BROWSER" = x"" ]; then
 
    BROWSER=links2:elinks:links:lynx:w3m
 
    if [ -n "$DISPLAY" ]; then
 
        BROWSER=x-www-browser:firefox:seamonkey:mozilla:epiphany:konqueror:chromium-browser:google-chrome:$BROWSER
 
    fi
 
fi
 
  
case "$DE" in
+
To install it for Chromium, [[install]] the {{AUR|chromium-widevine}} package. Make sure ''Allow sites to play protected content'' is checked in {{ic|chrome://settings/content/protectedContent}}.
    kde)
 
    open_kde "$url"
 
    ;;
 
  
    gnome*)
+
=== Force GPU acceleration ===
    open_gnome "$url"
 
    ;;
 
  
    mate)
+
{{Warning|Disabling the rendering blacklist may cause unstable behavior, including crashes of the host. See the bug reports in {{ic|chrome://gpu}} for details.}}
    open_mate "$url"
 
    ;;
 
  
    xfce)
+
By default Chromium on Linux doesn't use any GPU acceleration. To force GPU acceleration, [[append]] the following flags to [[/Tips and tricks#Making flags persistent|persistent configuration]]:
    open_xfce "$url"
 
    ;;
 
  
    lxde)
+
{{hc|~/.config/chromium-flags.conf|
    open_lxde "$url"
+
--ignore-gpu-blacklist
    ;;
+
--enable-gpu-rasterization
 
+
--enable-native-gpu-memory-buffers
    generic)
+
--enable-zero-copy
    open_generic "$url"
+
}}
    ;;
 
  
    *)
+
Additionally the flag {{ic|--disable-gpu-driver-bug-workarounds}} may need to be passed to prevent GPU workaround from being used. Flags in {{ic|chrome://gpu}} should state "Hardware accelerated" when configured and available.
    exit_failure_operation_impossible "no method available for opening '$url'"
 
    ;;
 
esac</nowiki>
 
}}
 
  
change the third line: {{ic|DE&#61;generic}} to one of the supported desktop environments (e.g. {{ic|DE&#61;gnome}}).
+
=== Hardware video acceleration ===
  
{{Note|These changes are lost when any of the utilities are upgraded.}}
+
Accelerated video decoding using [[VA-API]] can be used with community made patches [https://bugs.chromium.org/p/chromium/issues/detail?id=463440#c65], packages are available in [[AUR]] as {{aur|chromium-vaapi}} or {{aur|chromium-vaapi-bin}}.
  
An approach which is less useful is to place the required application in the default browser list:
+
{{Warning|Wayland support is not enabled in above packages yet. XWayland is [https://github.com/intel/libva/issues/79 broken] on {{Pkg|libva-intel-driver}}.}}
  
    BROWSER=links2:links:lynx:w3m
+
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#Verifying VA-API]].
    if [ -n "$DISPLAY" ]; then
 
        BROWSER=firefox:mozilla:epiphany:konqueror:chromium-browser:google-chrome:$BROWSER
 
    fi
 
  
{{ic|xdg-open}} and {{ic|xdg-email}} fall back to this list of browsers and will use the first that they find to attempt to open the URI. You could add the name of the application to the beginning of the list. However there is no guarantee that the application will be called correctly to meet your needs, e.g. your mail client will open but it will not correctly receive the ''mailto'' address. Also it will only work for one application.
+
To enable video acceleration, [[append]] the {{ic|--ignore-gpu-blacklist}} flag to [[/Tips and tricks#Making flags persistent|persistent configuration]]
  
A fourth option is to make a softlink from your preferred application to one of the names on the browser list. This approach has the same problems as the previous work around. For more discussion on these ideas see [https://bbs.archlinux.org/viewtopic.php?id=81282&p=1 this forum thread].
+
{{Note|Additionally [[#Force GPU acceleration]] and set {{ic|--disable-gpu-driver-bug-workarounds}} to remove video freezes (especially when watching in fullscreen).
  
=== Font Rendering ===
+
If you keep seeing some issues during playback, try to set also {{ic|1=--use-gl=egl}} option.
Chromium is now supposed to use the settings in {{ic|~/.fonts.conf}}, though you may have to edit it manually (see [[Font_Configuration#Basic_settings|Font Configuration]]). If the fonts are still rendered badly, you can use Xft settings [[X resources|as suggested here]]. Create {{ic|~/.Xresources}} if it does not exist and add in:
 
{{hc|~/.Xresources|
 
...
 
! Xft settings ---------------------------------------------------------------
 
Xft.dpi:        96
 
Xft.antialias:  true
 
Xft.rgba:      rgb
 
Xft.hinting:    true
 
Xft.hintstyle:  hintslight
 
...
 
 
}}
 
}}
  
Then update the X Resources database using:
+
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 :
 +
* Hardware acceleration: MojoVideoDecoder, GpuVideoDecoder
 +
* Software acceleration: VpxVideoDecoder, FFmpegVideoDecoder (some say it's Hardware acceleration?)
 +
Also chrome://gpu should read Video Decode: Hardware accelerated
  
{{bc|xrdb -merge ~/.Xresources}}
+
=== Flash Player plugin ===
  
{{Note|These settings will affect any application that uses X Resources for font settings; one example is [[Rxvt-unicode|rxvt-unicode]].}}
+
Flash Player is automatically installed when using Google Chrome.
  
==== Non-Latin characters ====
+
To install it for Chromium, [[install]] the {{Pkg|pepper-flash}} package.
Install needed fonts to correctly display Chinese, Japanese, Korean characters. For examples of recommended fonts for various languages see [[Fonts#Font_packages|Font Packages]].
 
  
=== Default browser ===
+
Make sure Flash is allowed to run in {{ic|chrome://settings/content/flash}}.
The simplest way to make Chromium the default browser is to set variable {{Ic|<nowiki>$BROWSER=chromium</nowiki>}} in {{ic|~/.profile}}
 
if [ -n "$DISPLAY" ]; then
 
      BROWSER=chromium
 
fi
 
  
To test if this was applied successfully, try to open an URL with {{ic|xdg-open}} as follows:
+
=== PDF viewer plugin ===
$ xdg-open http://google.com/
 
If everything went well, either a new tab inside Chromium, or a new window would open and display the Google homepage, depending on your settings.
 
  
Another option, when using {{AUR|mimeo}}, is to associate "http://" links with Chromium:
+
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 {{ic|chrome://settings/content/pdfDocuments}}.
{{hc|~/.config/mimeo.conf|<nowiki>
 
/usr/bin/chromium
 
  ^http://
 
</nowiki>}}
 
  
If all of that still does not get it working, you can try adding the following to the {{ic|[Added Associations]}} list in  {{ic|~/.local/share/applications/mimeapps.list}}:
+
== Tips and tricks ==
x-scheme-handler/http=chromium.desktop
 
  
For more info, see [[Xdg-open]].
+
See the main article: [[Chromium/Tips and tricks]].
  
=== Flash Player ===
+
== Troubleshooting ==
The Adobe Flash plugin can be [[Pacman|installed]] with the package {{Pkg|flashplugin}}, available in the official repositories.
 
  
While the classic Flash plugin will not be updated for Linux, Chromium can use the Flash plugin from Google Chrome (that uses the new Pepper API). This plugin is available in the [[AUR]] with the {{AUR|chromium-pepper-flash}}, {{AUR|chromium-pepper-flash-stable}} or {{AUR|chrome-pepper-flashplugin}} packages.
+
=== Fonts ===
  
{{Note|Make sure to enable the Flash plugin with location {{ic|/usr/lib/PepperFlash/libpepflashplayer.so}} in {{ic|chrome://plugins}} and disable the plugin with location {{ic|/usr/lib/mozilla/plugins/libflashplayer.so}}.}}
+
{{Note|Chromium does not fully integrate with fontconfig/GTK/Pango/X/etc. due to its sandbox. For more information, see the [https://dev.chromium.org/developers/linux-technical-faq Linux Technical FAQ].}}
  
=== Open PDF files inside Chromium ===
+
==== Font rendering issues in PDF plugin ====
  
There are multiple ways of enabling PDF support in Chromium that are detailed below.
+
To fix the font rendering in some PDFs one has to install the {{Pkg|ttf-liberation}} package, otherwise the substituted font causes text to run into other text. This was [https://code.google.com/p/chromium/issues/detail?id=369991 reported on the chromium bug tracker] by an Arch user.
  
==== Using Google Chrome's libpdf ====
+
==== Font rendering issues of UTF characters ====
  
'''libpdf''' is Google's own implementation of a PDF renderer. While compatible, it is currently only part of Chrome releases, not Chromium ones.
+
UTF characters may render as boxes (e.g. simplified Chinese characters). Installing {{Pkg|ttf-liberation}} will allow for the characters to be rendered as expected.
  
The easiest way to add it to the latter is using one of the packages provided in the [[AUR]]:
+
==== Tab font size is too large ====
* {{AUR|chromium-stable-libpdf}} for the stable version of the browser.
 
* {{AUR|chromium-libpdf}} for a development version that installs to {{ic|/usr/lib/chromium}} (such as {{AUR|chromium-dev}}).
 
* {{AUR|chromium-browser-libpdf}} for a development version that installs to {{ic|/opt/chromium-browser}} (such as {{AUR|chromium-browser-bin}}).
 
  
To do it manually, download a Google Chrome release that corresponds to the version of Chromium you use:
+
Chromium will use the GTK settings as described in [[GTK#Configuration]]. When configured, Chromium will use the {{ic|gtk-font-name}} setting for tabs (which may mismatch window font size). To override these settings, use {{ic|1=--force-device-scale-factor=1.0}}.
  
$ wget https://dl-ssl.google.com/linux/direct/google-chrome-stable_current_i386.deb
+
=== WebGL ===
$ wget https://dl-ssl.google.com/linux/direct/google-chrome-unstable_current_i386.deb
 
 
 
$ wget https://dl-ssl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
 
$ wget https://dl-ssl.google.com/linux/direct/google-chrome-unstable_current_amd64.deb
 
 
 
Extract the deb file with
 
$ ar vx <deb-file>
 
  
Extract LZMA archive with
+
There is the possibility that your graphics card has been blacklisted by Chromium. See [[#Force GPU acceleration]].
$ tar -xJf <lzma-file>
 
  
Move {{ic|libpdf.so}} from {{ic|opt/google/chrome/}} to the appropriate directory as stated above. A change of its file permissions and ownership may be necessary (the permission of {{ic|libpdf.so}} should be 755).
+
If you are using Chromium with [[Bumblebee]], WebGL might crash due to GPU sandboxing. In this case, you can disable GPU sandboxing with {{ic|optirun chromium --disable-gpu-sandbox}}.
  
To verify that the installation went correctly: start Chromium, open ''about:plugins'' and check  if "Chrome PDF Viewer" is available (it may need to be enabled).
+
Visit {{ic|chrome://gpu/}} for debugging information about WebGL support.
  
{{Note|As a new version of Chromium will not update {{ic|libpdf.so}}, it may become incompatible. Thus and with respect to possible security fixes it is advisable to update both at the same time.}}
+
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 {{ic|chrome://gpu}} even when you're not using it or primusrun/optirun). Running using a different user directory, e.g, {{ic|1=chromium --user-data-dir=$(mktemp -d)}} may solve this issue. For a persistent solution you can reset the GPU information by deleting {{ic|~/.config/chromium/Local\ State}}.
  
==== Using mozplugger ====
+
=== Incorrect HiDPI rendering ===
[http://mozplugger.mozdev.org/ mozplugger] is a general purpose Firefox plugin that allows the user to embed and launch their favourite application to handle the various different types of media. It can also be used in Chromium to handle PDF files using Evince or Okular, for example.
 
  
mozplugger plugin can be [[Pacman|installed]] with the package {{AUR|mozplugger-chromium}}, available in the [[AUR]].  
+
Chromium will automatically scale for a [[HiDPI]] display, however this may cause an incorrect renderend GUI.
  
To set the application you wish to use to view PDF files, follow the instructions on the [[Firefox_Tweaks#Viewing_PDF.2FPS_inside_Firefox|Firefox Tweaks]] page.
+
The flag {{ic|1=--force-device-scale-factor=1}} may be used to overrule the automatic scaling factor.
  
==== Using the KParts plugin ====
+
On Wayland, the {{AUR|chromium-ozone}} package will automatically scale based on the configured scale of each monitor.
[http://www.unix-ag.uni-kl.de/~fischer/kpartsplugin/ The KParts plugin] is a plugin that uses KDE's KPart technology to embed different file viewers in the browser, such as PDFs (using Okular), archives (using Ark), ODF (using Calligra Words), etc.
 
  
The KParts plugin can be installed with the package {{Pkg|kpartsplugin}}, available in the official repositories.
+
=== Password prompt on every start with GNOME Keyring ===
  
=== Certificates ===
+
See [[GNOME/Keyring#Passwords are not remembered]].
  
Chromium uses [[Nss|NSS]] for the certificate management. Certificates can be managed (including added) by going to ''Settings'', clicking the  ''Show advanced settings..'' link and then ''Manage Certificates''.
+
=== Chromecasts in the network are not discovered ===
  
== Tips and Tricks ==
+
You will need to enable the Media Router Component Extension in {{ic|chrome://flags/#load-media-router-component-extension}}.
{{Box||See the main article: [[Chromium Tips and Tweaks]]|#E5E5FF|#FCFCFC}}
 
  
== Troubleshooting ==
+
=== Losing cookies and passwords when switching between desktop environments ===
  
=== Proxy Settings ===
+
If you see the message {{ic|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.
There have been many situations in which proxy settings do not work properly, especially if set through the KDE interface. A good method as of now is to use Chromium's command-line options, like {{ic|--proxy-pac-url}} and {{ic|--proxy-server}}, to set your proxy.
 
  
=== Default profile ===
+
See [[Chromium/Tips and tricks#Force a password store]].
If you cannot get your default profile when you try to run Chromium and get a similar error instead:
 
{{bc|
 
$ chromium
 
[2630:2630:485325611:FATAL:chrome/browser/browser_main.cc(755)] Check failed: profile.  
 
Cannot get default profile. Trace/breakpoint trap
 
}}
 
  
you have to set the correct owner of the directory {{ic|~/.config/chromium}} as following:
+
=== Hang on startup when Google Sync enabled ===
$ sudo chown -R yourusername:yourusergroup /home/yourusername/.config/chromium
 
  
=== WebGL ===
+
Try launching Chrome with {{ic|1=--password-store=basic}} or another appropriate password store.
  
Sometimes, Chromium will disable WebGL with certain graphics card configurations. This can generally be remedied by typing {{ic|about:flags}} into the URL bar and enabling the WebGL flag. You may also enable WebGL by passing the command line flag {{ic|--enable-webgl}} to Chromium in the terminal.
+
See [[Chromium/Tips and tricks#Force a password store]].
  
There is also the possibility that your graphics card has been blacklisted by Chromium. To override this, pass the flag {{ic|--ignore-gpu-blacklist}} when starting Chromium, alternatively, go to {{ic|about:flags}} and enable ''Override software rendering list''.
+
== See also ==
  
== See Also ==
+
* [https://www.chromium.org/ Chromium homepage]
* [http://www.chromium.org/Home Chromium Homepage]
+
* [https://googlechromereleases.blogspot.com Google Chrome release notes]
* [http://googlechromereleases.blogspot.com Google Chrome Release Notes]
+
* [https://chrome.google.com/webstore/category/home Chrome web store]
* [https://chrome.google.com/webstore/category/home Chrome Web Store]
+
* [[Wikipedia:Chromium (web browser)#Differences from Google Chrome|Differences between Chromium and Google Chrome]]
* [[Wikipedia: Chromium_(web_browser)#Differences_from_Google_Chrome|Differences between Chromium and Google Chrome]]
 
 
* [http://peter.sh/experiments/chromium-command-line-switches/ List of Chromium command-line switches]
 
* [http://peter.sh/experiments/chromium-command-line-switches/ List of Chromium command-line switches]

Latest revision as of 08:02, 16 October 2019

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:

See these two articles for an explanation of the differences between Chromium and Chrome.

See List of applications/Internet#Blink-based for other browsers based on Chromium.

Installation

There are several packages available to install Chromium with:

Google Chrome packages:

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.

Widevine Content Decryption Module plugin

Widevine is Google's Encrypted Media Extensions (EME) Content Decryption Module (CDM). It is used to watch premium video content such as Netflix. It is automatically installed when using Google Chrome.

To install it for Chromium, install the chromium-widevineAUR package. Make sure Allow sites to play protected content is checked in chrome://settings/content/protectedContent.

Force GPU acceleration

Warning: Disabling the rendering blacklist may cause unstable behavior, including crashes of the host. See the bug reports in 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

Accelerated video decoding using VA-API can be used with community made patches [1], packages are available in AUR as chromium-vaapiAUR or chromium-vaapi-binAUR.

Warning: Wayland support is not enabled in above packages yet. XWayland is broken on libva-intel-driver.

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#Verifying VA-API.

To enable video acceleration, append the --ignore-gpu-blacklist flag to persistent configuration

Note: Additionally #Force GPU acceleration and set --disable-gpu-driver-bug-workarounds to remove video freezes (especially when watching in fullscreen).

If you keep seeing some issues during playback, try to set also --use-gl=egl option.

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 :

  • Hardware acceleration: MojoVideoDecoder, GpuVideoDecoder
  • Software acceleration: VpxVideoDecoder, FFmpegVideoDecoder (some say it's Hardware acceleration?)

Also chrome://gpu should read Video Decode: Hardware accelerated

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.

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.

Tips and tricks

See the main article: Chromium/Tips and tricks.

Troubleshooting

Fonts

Note: Chromium does not fully integrate with fontconfig/GTK/Pango/X/etc. due to its sandbox. For more information, see the Linux Technical FAQ.

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 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 renderend 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.

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.

See also