Difference between revisions of "Chromium"

From ArchWiki
Jump to: navigation, search
(Pulseaudio, PA-Alsa-Bridge and Pepper-Flash: fix typos, capitalization, etc.)
(Hardware video acceleration: setting env variable only to the application)
 
(302 intermediate revisions by 70 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]]
{{Article summary start}}
+
[[zh-hans:Chromium]]
{{Article summary text|General information, installation and troubleshooting for Chromium.}}
+
{{Related articles start}}
{{Article summary heading|Related}}
+
{{Related|Chromium/Tips and tricks}}
{{Article summary wiki|Chromium Tips and Tweaks}}
+
{{Related|Browser plugins}}
{{Article summary wiki|Browser Plugins}}
+
{{Related|Firefox}}
{{Article summary wiki|Firefox}}
+
{{Related|Opera}}
{{Article summary wiki|Opera}}
+
{{Related articles end}}
{{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.
 
  
== Installation ==
+
[[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.
  
The open source project, '''Chromium''', can be [[Pacman|installed]] with the package {{Pkg|chromium}}, available in the [[official repositories]].
+
Google Chrome has following notable built-in features over Chromium:
In the [[AUR]] you can also find:
 
* {{AUR|chromium-dev}} - the development version
 
* {{AUR|chromium-browser-bin}} - the binary version of the latest Chromium build
 
  
{{note|Compiling Chromium takes at least as long as compiling the Linux kernel.}}
+
* [[Wikipedia:Flash player|Flash player]], also available via {{Pkg|pepper-flash}}.
 +
* 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}}.
  
The modified browser, '''Google Chrome''', bundled with Flash Player and PDF Reader, can be installed with the package {{AUR|google-chrome}}, available in the [[AUR]].
+
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.
In the [[AUR]] you can also find:
 
* {{AUR|google-chrome-beta}} - the beta version
 
* {{AUR|google-chrome-dev}} - the development version
 
  
{{Tip|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.}}
+
See [[List of applications#Blink-based]] for other browsers based on Chromium.
  
'''SRWare Iron''', a modified Chromium with altered settings to increase privacy and with built-in ad-blocker, can be installed with the package {{AUR|iron-bin}}, available in the [[AUR]].
+
== Installation ==
 
 
== Configuration ==
 
  
=== File associations ===
+
There are several packages available to [[install]] Chromium with:
  
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 and URI schemes, for example, [[Wikipedia:Magnet URI scheme|magnet links]]. There are exceptions to this rule though, for example in the case of ''mailto'' URIs, Chromium calls {{ic|xdg-email}}, which is also part of {{Pkg|xdg-utils}} package.
+
* {{Pkg|chromium}} – stable release.
 +
* {{AUR|chromium-dev}} – development release.
 +
* {{AUR|chromium-snapshot-bin}} – nightly build.
 +
* {{AUR|chromium-vaapi}}, {{AUR|chromium-vaapi-bin}} – packages with [[VA-API]] support, for configuration see [[#Hardware video acceleration]].
  
Refer to [[Xdg-open|xdg-open]], [[Default Applications|default applications]] or [[Environment Variables|environment variables]] on how to set up default file associations.
+
Google Chrome packages:
  
==== Default browser ====
+
* {{AUR|google-chrome}} – stable release.
 +
* {{AUR|google-chrome-beta}} – beta release.
 +
* {{AUR|google-chrome-dev}} – development release.
  
{{Merge|Xdg-open|cover the topic in one place, not on every page of every browser}}
+
== Configuration ==
 
 
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:
 
$ 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:
 
{{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}}:
 
x-scheme-handler/http=chromium.desktop
 
 
 
If even that didn't work, try this:
 
{{bc|
 
$ xdg-mime default chromium.desktop x-scheme-handler/http
 
$ xdg-mime default chromium.desktop x-scheme-handler/https
 
}}
 
 
 
For more info, see [[Xdg-open]].
 
 
 
=== Font rendering ===
 
 
 
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 your fonts setting are stored in another place, create {{ic|~/.fonts.conf}} and add these lines:
 
{{hc|~/.fonts.conf|
 
<match target&#61;"font">
 
    <edit name&#61;"autohint" mode&#61;"assign">
 
      <bool>true</bool>
 
    </edit>
 
    <edit name&#61;"hinting" mode&#61;"assign">
 
      <bool>true</bool>
 
    </edit>
 
    <edit mode&#61;"assign" name&#61;"hintstyle">
 
      <const>hintslight</const>
 
    </edit>
 
  </match>
 
}}
 
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:
+
=== Default applications ===
  
$ xrdb -merge ~/.Xresources
+
To set Chromium as the default browser and to change which applications Chromium launches when opening downloaded files, see [[default applications]].
 
 
{{Note|These settings will affect any application that uses X Resources for font settings; one example is [[Rxvt-unicode|rxvt-unicode]].}}
 
 
 
==== Non-Latin characters ====
 
 
 
Install needed fonts to correctly display Chinese, Japanese, Korean characters. For examples of recommended fonts for various languages see [[Fonts#Font_packages|Font Packages]].
 
 
 
For the Arch Wiki, one only needs the {{Pkg|ttf-arphic-uming}} package.
 
  
 
=== Flash Player plugin ===
 
=== Flash Player plugin ===
  
==== Adobe (Netscape plugin API) ====
+
Flash Player is automatically installed when using Google Chrome.
{{Note|This version will not be updated (except for security updates), and is stuck at version 11.2.}}
 
The Adobe Flash plugin can be [[Pacman|installed]] with the package {{Pkg|flashplugin}}, available in the official repositories.  
 
  
==== Adobe (Pepper plugin API) ====
+
To install it for Chromium, [[install]] the {{Pkg|pepper-flash}} package.
  
While the classic Flash plugin will not be updated for Linux, an updated Flash Player is included with Google Chrome. It is compatible with Chromium and Iron.
+
Make sure Flash is allowed to run in {{ic|chrome://settings/content/flash}}.
  
The easiest way to install '''pepper-flash''' for Chromium is using one of the packages provided in the [[AUR]]:
+
=== Widevine Content Decryption Module plugin ===
* {{AUR|chromium-pepper-flash-stable}} for the stable version.
 
* {{AUR|chromium-pepper-flash}} for a development version.
 
  
Enable the Flash Player 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}}.
+
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.
  
{{Note|1=If Pepper Flash doesn't show up in the plugins list (as is the case for Iron), then disable {{ic|libflashplayer.so}} and start with
+
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}}.
{{bc|1=iron --ppapi-flash-path=/usr/lib/PepperFlash/libpepflashplayer.so --ppapi-flash-version=11.7.700.169}}
 
}}
 
  
 
=== PDF viewer plugin ===
 
=== PDF viewer plugin ===
  
There are multiple ways of enabling PDF support in Chromium that are detailed below.
+
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}}.
  
==== libpdf ====
+
=== Certificates ===
  
'''libpdf''' is Google's own implementation of a PDF renderer included with Google Chrome. It is compatible with Chromium and Iron.
+
Chromium uses [[Network Security Services]] for certificate management. Certificates can be managed in {{ic|chrome://settings/certificates}}.
  
The easiest way to install '''libpdf''' for Chromium is using one of the packages provided in the [[AUR]]:
+
=== Hardware video acceleration ===
* {{AUR|chromium-libpdf-stable}} for the stable version.
 
* {{AUR|chromium-libpdf}} for a development version.
 
  
Enable the plugin in {{ic|chrome://plugins}}.
+
Accelerated video decoding using [[VA-API]] is available on {{AUR|chromium-vaapi}} and {{AUR|chromium-vaapi-bin}}.
  
{{Note|To install '''libpdf''' for other Chromium packages, edit the PKGBUILD of {{AUR|chromium-libpdf-stable}} to install {{ic|libpdf.so}} into correct path. For example, to install it for {{AUR|chromium-browser-bin}}, replace
+
{{Note|1=<nowiki></nowiki>
install -m644 opt/google/chrome/libpdf.so "${pkgdir}/usr/lib/chromium"
+
* [[Hardware video acceleration#Verifying_VA-API|Verify VA-API]] has been enabled and working correctly.
with
+
* One may need to [[#Force GPU acceleration]] as Chromium uses a GPU blacklist by default.
install -m644 opt/google/chrome/libpdf.so "${pkgdir}/opt/chromium-browser"
+
 
 +
On [[ATI]]/[[AMDGPU]] video corruption may occur [https://bugs.freedesktop.org/show_bug.cgi?id=106490]. A workaround is to set {{ic|1=allow_rgb10_configs=false}} [[environment variable]]
 +
* globally (all applications will be affected):
 +
{{hc|/etc/environment|2=allow_rgb10_configs=false}}
 +
* or app-specific adding the [[environment variable|variable]] to {{ic|chromium.desktop}} [[desktop entry]] editing the {{ic|1=Exec=}} command line:
 +
{{hc|~/.local/share/applications/chromium.desktop|2=
 +
Exec=allow_rgb10_configs=false chromium %U
 
}}
 
}}
 +
{{Tip|It may be helpful to copy the {{ic|.desktop}} file in {{ic|/usr/share/applications/}} and then modify the one locally at {{ic|~/.local/share/applications/}}.}}}}
  
===== Manual installation =====
+
To use hardware video acceleration:
 
+
* enable both {{ic|chrome://flags/#enable-accelerated-video}} and {{ic|chrome://flags/#enable-accelerated-mjpeg-decode}} flags;
To do it manually, download a Google Chrome release that corresponds to the version of Chromium you use:
+
* specifying {{ic|--enable-accelerated-video}} and {{ic|--enable-accelerated-mjpeg-decode}} as arguments or [[append]] them to the [[/Tips and tricks#Making flags persistent|persistent configuration]].
 
 
$ wget https://dl-ssl.google.com/linux/direct/google-chrome-stable_current_i386.deb
 
$ 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
+
Additionally {{ic|--disable-gpu-driver-bug-workarounds}} has been tested and confirmed to remove video freezes (especially when watching in fullscreen).
$ 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).
 
 
 
To verify that the installation went correctly: start Chromium, open {{ic|chrome://plugins/}} and check  if "Chrome PDF Viewer" is available (it may need to be enabled).
 
 
 
{{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.}}
 
 
 
==== Using mozplugger ====
 
 
 
{{Box||See the main article: [[Browser Plugins#MozPlugger]]|#E5E5FF|#FCFCFC}}
 
 
 
==== Using the KParts plugin ====
 
 
 
{{Box||See the main article: [[Browser Plugins#kpartsplugin]]|#E5E5FF|#FCFCFC}}
 
 
 
=== Certificates ===
 
 
 
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''.
 
  
 
== Tips and tricks ==
 
== Tips and tricks ==
  
{{Box||See the main article: [[Chromium Tips and Tweaks]]|#E5E5FF|#FCFCFC}}
+
See the main article: [[Chromium/Tips and tricks]].
  
 
== Troubleshooting ==
 
== Troubleshooting ==
  
=== Proxy settings ===
+
=== Fonts ===
 
 
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 ===
 
  
If you cannot get your default profile when you try to run Chromium and get a similar error instead:
+
{{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].}}
{{hc|$ 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:
+
==== Font rendering issues in PDF plugin ====
# chown -R yourusername:yourusergroup ~/.config/chromium
 
  
=== WebGL ===
+
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.
  
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.
+
==== Font rendering issues of UTF characters ====
  
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''.
+
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.
  
=== PulseAudio, PA-ALSA-Bridge and Pepper-Flash ===
+
==== Tab font size is too large ====
  
Given a certain version of Chrome (23.x seem to exhibit this problem) and Pepper-Flash (11.x) while using the PA-Alsa-Bridge, sound may not play, become distorted, start skipping or outright keep crashing the PA-ALSA-Bridge continuously. See [http://code.google.com/p/chromium/issues/detail?id=128870] for the bug report.
+
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}}.
  
A possible workaround is to use {{ic|pasuspender}} to suspend PulseAudio and force Chrome to use ALSA directly.
+
=== Force GPU acceleration ===
  
First, create an {{ic|~/.asoundrc}} file to default ALSA to your real hardware instead of PulseAudio. See [[ALSA]] and [http://alsa.opensrc.org/FAQ026] for more information. Exemplary {{ic|~/.asoundrc}}:
+
{{Warning|Disabling the rendering blacklist may cause unstable behavior, including crashes of the host. See the bug reports in {{ic|chrome://gpu}} for details.}}
  
{{hc|~/.asoundrc|
+
To force GPU acceleration, ''enable'' the flags: {{ic|--ignore-gpu-blacklist}}, {{ic|--enable-gpu-rasterization}}, {{ic|--enable-zero-copy}} in {{ic|chrome://flags}} or [[append]] to the [[/Tips and tricks#Making flags persistent|persistent configuration]]. 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.
pcm. !default {
 
type hw
 
card 0
 
device 0
 
}
 
}}
 
  
Then use {{ic|pasuspender}} to suspend PulseAudio and force Chrome to use ALSA which now uses your real hardware.
+
For ''Native GpuMemoryBuffers'' the flag {{ic|--enable-native-gpu-memory-buffers}} needs to be pass or some optimizations (like the zero-copy rasterizer) will use software rendering. The flag isn't available under {{ic|chrome://flags}} and must be passed as a [[Chromium/Tips and tricks#Making flags persistent|persistent flag]] or directly from the command line.
  
{{bc|
+
=== WebGL ===
pasuspender -- google-chrome
 
}}
 
  
The problem might be related to the {{ic|1=tsched=0}} option in PulseAudio. See [[Pulseaudio#Glitches, skips or crackling]] and comment #27 in [http://code.google.com/p/chromium/issues/detail?id=128870#c27].
+
There is the possibility that your graphics card has been blacklisted by Chromium. See [[#Force GPU acceleration]].
  
=== Google Play and Flash ===
+
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}}.
  
{{Out of date|HAL is no longer used in Arch.}}
+
Visit {{ic|chrome://gpu/}} for debugging information about WebGL support.
  
DRM content on Flash still requires HAL to play. This is readily apparent with Google Play Movies. If one attempts to play a Google Play movie without HAL, they will receive a YouTube-like screen, but the video will not play.
+
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}}.
  
{{Note|{{AUR|chromium-pepper-flash}} does not work with this method. The user must ensure they are using {{Pkg|flashplugin}}.}}
+
=== Incorrect HiDPI rendering ===
  
As per [http://isenmann.blogspot.gr/2012/08/watching-movies-from-google-play-with.html "Watching movies from Google Play on Arch Linux"]; install {{AUR|hal}} and {{AUR|hal-info}}. Then run the following commands:
+
Chromium will automatically scale for a [[HiDPI]] display, however this may cause an incorrect renderend GUI.
{{bc|<nowiki>
 
cd ~/.adobe/Flash_Player;                      ## enter the Adobe Flash Player directory
 
rm -rf NativeCache AssetCache APSPrivateData2;  ## remove cache
 
</nowiki>}}
 
  
Start the HAL daemon and one will be able to watch Google Play Movie content.
+
The flag {{ic|1=--force-device-scale-factor=1}} may be used to overrule the automatic scaling factor.
{{bc|<nowiki>
 
# systemctl start hal
 
</nowiki>}}
 
  
Alternately one can just save the following Bash script below and run it before they want to watch Google Play Movie content.
+
=== Password prompt on every start with GNOME Keyring ===
{{bc|<nowiki>
 
#!/bin/bash
 
  
## written by Mark Lee <bluerider>
+
See [[GNOME/Keyring#Passwords are not remembered]].
## using information from <https://wiki.archlinux.org/index.php/Chromium#Google_Play_.26_Flash>
 
  
## Start and stop HAL service on command for Google Play Movie service
+
=== Chromecasts in the network are not discovered ===
  
function main () { ## run the main insertion function
+
You will need to enable the Media Router Component Extension in {{ic|chrome://flags/#load-media-router-component-extension}}.
clear-cache;  ## remove adobe cache
 
start-hal;  ## start the hal daemon
 
read -p "Press 'enter' to stop hal";  ## pause the command line with a read line
 
stop-hal;  ## stop the hal daemon
 
}
 
  
function clear-cache () {  ## remove adobe cache
+
=== Losing cookies and passwords when switching between desktop environments ===
cd ~/.adobe/Flash_Player;  ## go to Flash player user directory
 
rm -rf NativeCache AssetCache APSPrivateData2;  ## remove cache
 
}
 
  
function start-hal () { ## start the hal daemon
+
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.
sudo systemctl start hal && ( ## systemd : start hal daemon
 
echo "Started HAL service..."
 
) || (
 
echo "Failed to start HAL service!"
 
)
 
}
 
  
function stop-hal () {  ## stop the hal daemon
+
See [[Chromium/Tips and tricks#Force a password store]].
sudo systemctl stop hal && (  ## systemd : stop HAL daemon
 
echo "Stopped HAL service..."
 
) || (
 
echo "Failed to stop HAL service!"
 
)
 
}
 
  
main;  ## run the main insertion function
+
=== Hang on startup when Google Sync enabled ===
</nowiki>}}
 
  
=== Force 3D acceleration in Pepper Flash Player and i.g. the browser with radeon driver ===
+
Try launching Chrome with {{ic|1=--password-store=basic}} or another appropriate password store.
  
To force 3D rendering  there is an option  "Override software rendering list" in {{ic|chrome://flags}}, also you would have to export video acceleration variables, see [[ATI#Enabling_video_acceleration]]. You could check if it is working in  {{ic|chrome://gpu}}.
+
See [[Chromium/Tips and tricks#Force a password store]].
  
 
== See also ==
 
== See also ==
  
* [http://www.chromium.org/Home Chromium homepage]
+
* [https://www.chromium.org/ Chromium homepage]
* [http://googlechromereleases.blogspot.com Google Chrome release notes]
+
* [https://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 21:25, 16 December 2018

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

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.

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.

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.

Certificates

Chromium uses Network Security Services for certificate management. Certificates can be managed in chrome://settings/certificates.

Hardware video acceleration

Accelerated video decoding using VA-API is available on chromium-vaapiAUR and chromium-vaapi-binAUR.

Note:

On ATI/AMDGPU video corruption may occur [1]. A workaround is to set allow_rgb10_configs=false environment variable

  • globally (all applications will be affected):
/etc/environment
allow_rgb10_configs=false
~/.local/share/applications/chromium.desktop
Exec=allow_rgb10_configs=false chromium %U
Tip: It may be helpful to copy the .desktop file in /usr/share/applications/ and then modify the one locally at ~/.local/share/applications/.

To use hardware video acceleration:

  • enable both chrome://flags/#enable-accelerated-video and chrome://flags/#enable-accelerated-mjpeg-decode flags;
  • specifying --enable-accelerated-video and --enable-accelerated-mjpeg-decode as arguments or append them to the persistent configuration.

Additionally --disable-gpu-driver-bug-workarounds has been tested and confirmed to remove video freezes (especially when watching in fullscreen).

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.

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.

To force GPU acceleration, enable the flags: --ignore-gpu-blacklist, --enable-gpu-rasterization, --enable-zero-copy in chrome://flags or append to the persistent configuration. 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.

For Native GpuMemoryBuffers the flag --enable-native-gpu-memory-buffers needs to be pass or some optimizations (like the zero-copy rasterizer) will use software rendering. The flag isn't available under chrome://flags and must be passed as a persistent flag or directly from the command line.

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.

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