Difference between revisions of "Chromium"

From ArchWiki
Jump to: navigation, search
(Non-Latin characters)
(Hardware video acceleration: setting env variable only to the application)
 
(333 intermediate revisions by 74 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.
Chromium can be [[Pacman|installed]] with the package {{Pkg|chromium}}, available in the [[official repositories]].
 
  
In the [[AUR]] you can also find:
+
Google Chrome has following notable built-in features over Chromium:
* {{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.
 
* {{AUR|iron-bin}} - a binary version of Chromium without Google's 'tracking features'
 
  
{{Note|Compiling {{AUR|chromium-dev}} 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}}.
  
Various versions of the modified Google Chrome browser can be found 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.
* {{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.
+
See [[List of applications#Blink-based]] for other browsers based on Chromium.
  
== Configuration ==
+
== Installation ==
  
=== 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, for example, [[Wikipedia:Magnet URI scheme|magnet links]].
+
* {{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]].
  
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*}}.
+
Google Chrome packages:
  
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:
+
* {{AUR|google-chrome}} – stable release.
export DE=INSERT_DE_HERE
+
* {{AUR|google-chrome-beta}} – beta release.
 +
* {{AUR|google-chrome-dev}} – development release.
  
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}}.
+
== Configuration ==
  
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:
+
=== Default applications ===
{{hc|/usr/bin/xdg-open|<nowiki>
 
detectDE
 
  
if [ x"$DE" = x"" ]; then
+
To set Chromium as the default browser and to change which applications Chromium launches when opening downloaded files, see [[default applications]].
    DE=generic
 
fi
 
  
DEBUG 2 "Selected DE $DE"
+
=== Flash Player plugin ===
  
# if BROWSER variable is not set, check some well known browsers instead
+
Flash Player 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 {{Pkg|pepper-flash}} package.
    kde)
 
    open_kde "$url"
 
    ;;
 
  
    gnome*)
+
Make sure Flash is allowed to run in {{ic|chrome://settings/content/flash}}.
    open_gnome "$url"
 
    ;;
 
  
    mate)
+
=== Widevine Content Decryption Module plugin ===
    open_mate "$url"
 
    ;;
 
  
    xfce)
+
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.
    open_xfce "$url"
 
    ;;
 
  
    lxde)
+
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}}.
    open_lxde "$url"
 
    ;;
 
  
    generic)
+
=== PDF viewer plugin ===
    open_generic "$url"
 
    ;;
 
  
    *)
+
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}}.
    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}}).
+
=== Certificates ===
  
{{Note|These changes are lost when any of the utilities are upgraded.}}
+
Chromium uses [[Network Security Services]] for certificate management. Certificates can be managed in {{ic|chrome://settings/certificates}}.
  
An approach which is less useful is to place the required application in the default browser list:
+
=== Hardware video acceleration ===
  
    BROWSER=links2:links:lynx:w3m
+
Accelerated video decoding using [[VA-API]] is available on {{AUR|chromium-vaapi}} and {{AUR|chromium-vaapi-bin}}.
    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.
+
{{Note|1=<nowiki></nowiki>
 +
* [[Hardware video acceleration#Verifying_VA-API|Verify VA-API]] has been enabled and working correctly.
 +
* One may need to [[#Force GPU acceleration]] as Chromium uses a GPU blacklist by default.
  
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].
+
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):
=== Font Rendering ===
+
{{hc|/etc/environment|2=allow_rgb10_configs=false}}
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]]).
+
* or app-specific adding the [[environment variable|variable]] to {{ic|chromium.desktop}} [[desktop entry]] editing the {{ic|1=Exec=}} command line:
If your fonts setting are stored in another place, create {{ic|~/.fonts.conf}} and add these lines:
+
{{hc|~/.local/share/applications/chromium.desktop|2=
{{hc|~/.fonts.conf|
+
Exec=allow_rgb10_configs=false chromium %U
<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
 
...
 
 
}}
 
}}
 +
{{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/}}.}}}}
  
Then update the X Resources database using:
+
To use hardware video acceleration:
 +
* enable both {{ic|chrome://flags/#enable-accelerated-video}} and {{ic|chrome://flags/#enable-accelerated-mjpeg-decode}} flags;
 +
* 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]].
  
{{bc|xrdb -merge ~/.Xresources}}
+
Additionally {{ic|--disable-gpu-driver-bug-workarounds}} has been tested and confirmed to remove video freezes (especially when watching in fullscreen).
  
{{Note|These settings will affect any application that uses X Resources for font settings; one example is [[Rxvt-unicode|rxvt-unicode]].}}
+
== Tips and tricks ==
  
==== Non-Latin characters ====
+
See the main article: [[Chromium/Tips and tricks]].
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.
+
== Troubleshooting ==
  
=== Default browser ===
+
=== Fonts ===
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:
+
{{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].}}
$ 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:
+
==== Font rendering issues in PDF plugin ====
{{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}}:
+
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.
x-scheme-handler/http=chromium.desktop
 
  
For more info, see [[Xdg-open]].
+
==== Font rendering issues of UTF characters ====
  
=== Flash Player ===
+
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 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}} or {{AUR|chromium-pepper-flash-stable}} packages.
+
==== Tab font size is too large ====
  
{{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}}.}}
+
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}}.
  
If Pepper Flash doesn't show up in the plugins list (as is the case for Iron) then disable libflashplayer.so and start with the following command.
+
=== Force GPU acceleration ===
iron --ppapi-flash-path=/usr/lib/PepperFlash/libpepflashplayer.so --ppapi-flash-version=11.5.31.101
 
  
Enable only one flash player at a time by going to {{ic|chrome://plugins}} -> details -> Adobe Flash Player
+
{{Warning|Disabling the rendering blacklist may cause unstable behavior, including crashes of the host. See the bug reports in {{ic|chrome://gpu}} for details.}}
  
=== Google Play & Flash ===
+
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.
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.
 
  
Note : Chromium-pepper-flash doesn't work with this method, the user must ensure they are using {{Pkg|flashplugin}}.
+
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.
  
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 bash code :
+
=== WebGL ===
{{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.
 
{{bc|<nowiki>
 
# systemctl start hal.service
 
</nowiki>}}
 
 
 
Alternately one can just save the following bash script below and run it before they want to watch Google Play Movie content.
 
 
 
{{bc|<nowiki>
 
#!/bin/bash
 
 
 
## written by Mark Lee <bluerider>
 
## 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
 
 
 
function main () {  ## run the main insertion function
 
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
 
cd ~/.adobe/Flash_Player;  ## go to Flash player user directory
 
rm -rf NativeCache AssetCache APSPrivateData2;  ## remove cache
 
}
 
 
 
function start-hal () {  ## start the hal daemon
 
sudo systemctl start hal.service && ( ## systemd : start hal daemon
 
echo "Started hal service..."
 
) || (
 
echo "Failed to start hal service!"
 
)
 
}
 
 
 
function stop-hal () {  ## stop the hal daemon
 
sudo systemctl stop hal.service && (  ## systemd : stop hal daemon
 
echo "Stopped hal service..."
 
) || (
 
echo "Failed to stop hal service!"
 
)
 
}
 
 
 
main;  ## run the main insertion function
 
</nowiki>}}
 
 
 
=== Open PDF files inside Chromium ===
 
 
 
There are multiple ways of enabling PDF support in Chromium that are detailed below. 
 
 
 
==== Using Google Chrome's libpdf ====
 
 
 
'''libpdf''' is Google's own implementation of a PDF renderer. While compatible, it is currently only part of Chrome releases, not Chromium ones.
 
  
The easiest way to add it to the latter is using one of the packages provided in the [[AUR]]:
+
There is the possibility that your graphics card has been blacklisted by Chromium. See [[#Force GPU acceleration]].
* {{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:
+
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}}.
  
$ wget https://dl-ssl.google.com/linux/direct/google-chrome-stable_current_i386.deb
+
Visit {{ic|chrome://gpu/}} for debugging information about WebGL support.
$ 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
+
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}}.
$ wget https://dl-ssl.google.com/linux/direct/google-chrome-unstable_current_amd64.deb
 
  
Extract the deb file with
+
=== Incorrect HiDPI rendering ===
$ ar vx <deb-file>
 
  
Extract LZMA archive with
+
Chromium will automatically scale for a [[HiDPI]] display, however this may cause an incorrect renderend GUI.
$ 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).
+
The flag {{ic|1=--force-device-scale-factor=1}} may be used to overrule the automatic scaling factor.
  
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).
+
=== Password prompt on every start with GNOME Keyring ===
  
{{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.}}
+
See [[GNOME/Keyring#Passwords are not remembered]].
  
==== Using mozplugger ====
+
=== Chromecasts in the network are not discovered ===
{{Box||See the main article: [[Browser Plugins#MozPlugger]]|#E5E5FF|#FCFCFC}}
 
  
For information about the installation see [[Browser Plugins#PDF viewer]].
+
You will need to enable the Media Router Component Extension in {{ic|chrome://flags/#load-media-router-component-extension}}.
  
==== Using the KParts plugin ====
+
=== Losing cookies and passwords when switching between desktop environments ===
{{Box||See the main article: [[Browser Plugins#kpartsplugin]]|#E5E5FF|#FCFCFC}}
 
  
=== Certificates ===
+
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.
  
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''.
+
See [[Chromium/Tips and tricks#Force a password store]].
  
== Tips and Tricks ==
+
=== Hang on startup when Google Sync enabled ===
{{Box||See the main article: [[Chromium Tips and Tweaks]]|#E5E5FF|#FCFCFC}}
 
  
== Troubleshooting ==
+
Try launching Chrome with {{ic|1=--password-store=basic}} or another appropriate password store.
  
=== Proxy Settings ===
+
See [[Chromium/Tips and tricks#Force a password store]].
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:
 
{{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:
 
$ sudo chown -R yourusername:yourusergroup /home/yourusername/.config/chromium
 
 
 
=== WebGL ===
 
 
 
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.
 
 
 
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''.
 
 
 
=== Pulseaudio & PA-Alsa-Bridge & Pepper-Flash ===
 
 
 
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 continously. See [http://code.google.com/p/chromium/issues/detail?id=128870] for the bugreport.
 
 
 
A possible workaround is to use {{ic|pasuspender}} to suspend Pulseaudio and force Chrome to use Alsa directly.
 
 
 
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}}:
 
 
 
{{hc|~/.asoundrc|
 
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.
 
 
 
{{bc|
 
pasuspender -- google-chrome
 
}}
 
  
The problem might be related to the 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].
+
== 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 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