Difference between revisions of "Chromium"

From ArchWiki
Jump to: navigation, search
(those packages are already mentioned at the proper place)
m (Wiki link removed, comma)
(46 intermediate revisions by 14 users not shown)
Line 4: Line 4:
 
[[zh-CN:Chromium]]
 
[[zh-CN:Chromium]]
 
[[Category:Web Browser]]
 
[[Category:Web Browser]]
 
 
 
{{Article summary start}}
 
{{Article summary start}}
{{Article summary text|General info and installation as well as troubleshooting for Chromium.}}
+
{{Article summary text|General information, installation and troubleshooting for Chromium.}}
{{Article summary heading|External Resources}}
+
{{Article summary link|Announcements and release notes for the Google Chrome browser|http://googlechromereleases.blogspot.com}}
+
{{Article summary link|Chromium homepage|http://www.chromium.org/Home}}
+
[[Wikipedia: Chromium_(web_browser)#Differences_from_Google_Chrome|Differences from Google Chrome]]
+
 
{{Article summary heading|Related}}
 
{{Article summary heading|Related}}
{{Article summary wiki|Chromium_Tips_and_Tweaks}}
+
{{Article summary wiki|Chromium Tips and Tweaks}}
 +
{{Article summary wiki|Browser Plugins}}
 +
{{Article summary wiki|Firefox}}
 +
{{Article summary wiki|Opera}}
 
{{Article summary 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.
  
Chromium is an open source graphical web browser from Google, based on the [[Wikipedia: WebKit|WebKit]] rendering engine.
+
== Installation ==
  
== Installation ==
+
The open source project, '''Chromium''', can be [[Pacman|installed]] with the package {{Pkg|chromium}}, available in the [[official repositories]].
The stable version of Chromium can be [[pacman|installed]] from the [[Official Repositories|official repositories]] via the {{pkg|chromium}} package.
+
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
  
There is also a development version which can be found in the [[Arch User Repository|AUR]] under the name of {{AUR|chromium-dev}}, as well as {{AUR|chromium-update}} which is an update script that installs or updates to the Chromium nightly builds. A binary version is {{AUR|chromium-browser-bin}}.
+
{{note|Compiling Chromium takes at least as long as compiling the Linux kernel.}}
  
{{Note|Compiling chromium-beta or {{AUR|chromium-dev}} takes at least as long as compiling the Linux kernel.}}
+
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]].
{{Note|{{AUR|chromium-update}} installs nightly builds of Chromium which are pre-compiled by the Chromium Buildbot server.}}
+
In the [[AUR]] you can also find:
 +
* {{AUR|google-chrome-beta}} - the beta version
 +
* {{AUR|google-chrome-dev}} - the development version
  
There are also some packages in the AUR which provide the binary version of Google Chrome which can be found [https://aur.archlinux.org/packages.php?O=0&K=google-chrome&do_Search=Go here].
+
{{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 [https://code.google.com/p/chromium/wiki/ChromiumBrowserVsGoogleChrome this article] and [http://news.softpedia.com/news/Google-Chrome-vs-Chromium-Understanding-Stable-Beta-Dev-Releases-and-Version-No-140060.shtml this] for an explanation of the differences between the three flavours, Chromium vs. Chrome, and the version numbers.
+
'''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]].
  
 
== Configuration ==
 
== Configuration ==
Line 34: Line 36:
 
=== File associations ===
 
=== File associations ===
  
Unlike [[Firefox]], Chromium does not maintain its own database of mimetype-to-application associations. Instead, it relies on [[Xdg-open]] to open files and other mime types, for example, [[Wikipedia: Magnet_URI_scheme|magnet links]]. See [[Xdg-open]] for more information.
+
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.
  
There are exceptions to this rule though. In the case of mailto URIs chromium calls out to xdg-email which is similar to xdg-open. Other protocol handlers may have equivalent scripts so check /usr/bin/xdg*.  
+
Refer to [[Xdg-open|xdg-open]], [[Default Applications|default applications]] or [[Environment Variables|environment variables]] on how to set up default file associations.
  
The behaviour of both is broken in places when used in an environment that is not one of the major four or five: gnome, kde, xfce and lxde. 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 won't so trying each is recommended. It has been reported that desktop environment can be set as an environment variable:
+
==== Default browser ====
  
export DE=INSERT_DE_HERE
+
{{Merge|Xdg-open|cover the topic in one place, not on every page of every browser}}
  
where the recognised DEs are: gnome, kde, xfce and lxde. Put it somewhere like ~/.xinitrc. This might impact on other things though.
+
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
An alternative is to edit the script: xdg-open or xdg-email to hardcode a useful DE. At the bottom of the file you will see something like this:
+
        BROWSER=chromium
 
+
detectDE
+
  if [ x"$DE" = x"" ]; then
+
    DE=generic
+
 
  fi
 
  fi
# if BROWSER variable is not set, check some well known browsers instead
 
if [ x"$BROWSER" = x"" ]; then
 
    BROWSER=links2:links:lynx:w3m
 
    if [ -n "$DISPLAY" ]; then
 
        BROWSER=firefox:mozilla:epiphany:konqueror:chromium-browser:google-chrome:$BROWSER
 
    fi
 
fi
 
case "$DE" in
 
    kde)
 
    open_kde "$url"
 
    ;;
 
    gnome*)
 
    open_gnome "$url"
 
    ;;
 
    xfce)
 
    open_xfce "$url"
 
    ;;
 
    lxde)
 
    open_lxde "$url"
 
    ;;
 
    generic)
 
    open_generic "$url"
 
    ;;
 
    *)
 
    exit_failure_operation_impossible "no method available for opening '$url'"
 
    ;;
 
esac
 
  
change the 3rd line: {{ic|<nowiki>DE=generic</nowiki>}} to one of the DEs eg {{ic|<nowiki>DE=gnome</nowiki>}}.  
+
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.
  
An approach which is less useful is to place the required application in the default browser list:
+
Another option, when using {{AUR|mimeo}}, is to associate "http://" links with Chromium:
 +
{{hc|~/.config/mimeo.conf|<nowiki>
 +
/usr/bin/chromium
 +
  ^http://
 +
</nowiki>}}
  
    BROWSER=links2:links:lynx:w3m
+
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}}:
    if [ -n "$DISPLAY" ]; then
+
x-scheme-handler/http=chromium.desktop
        BROWSER=firefox:mozilla:epiphany:konqueror:chromium-browser:google-chrome:$BROWSER
+
    fi
+
  
Xdg-open and 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 eg your mail client will open but no compose window with the mailto address. Also it will only work for one application.
+
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
 +
}}
  
The problem with these approaches is that the changes are lost when these utilities are upgraded.
+
For more info, see [[Xdg-open]].
  
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. These ideas came from a [[https://bbs.archlinux.org/viewtopic.php?id=81282&p=1 bbs discussion]]
+
=== Font rendering ===
  
=== 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]]).
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:
+
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|
 
{{hc|~/.Xresources|
 
...
 
...
 
 
! Xft settings ---------------------------------------------------------------
 
! Xft settings ---------------------------------------------------------------
 
 
Xft.dpi:        96
 
Xft.dpi:        96
 
Xft.antialias:  true
 
Xft.antialias:  true
Line 105: Line 96:
 
Xft.hinting:    true
 
Xft.hinting:    true
 
Xft.hintstyle:  hintslight
 
Xft.hintstyle:  hintslight
 
 
...
 
...
 
}}
 
}}
Line 111: Line 101:
 
Then update the X Resources database using:
 
Then update the X Resources database using:
  
{{bc|xrdb -merge ~/.Xresources}}
+
$ xrdb -merge ~/.Xresources
  
 
{{Note|These settings will affect any application that uses X Resources for font settings; one example is [[Rxvt-unicode|rxvt-unicode]].}}
 
{{Note|These settings will affect any application that uses X Resources for font settings; one example is [[Rxvt-unicode|rxvt-unicode]].}}
  
 
==== Non-Latin characters ====
 
==== Non-Latin characters ====
Install needed fonts to correctly display Chinese, Japanese, Korean characters. For example, [[pacman|Install]] {{Pkg|ttf-arphic-uming}}, available in the [[Official Repositories]].
 
  
For more, see the  [[Fonts#Font_packages|Font Packages]] for detailed instructions.
+
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 ===
+
For the Arch Wiki, one only needs the {{Pkg|ttf-arphic-uming}} package.
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 were conducted successfully, type this into your terminal:
+
=== Flash Player plugin ===
$ xdg-open http://google.com
+
If everything went perfect, 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 '''mimeo''', is to associate "http://" links with chromium:
+
==== Adobe (Netscape plugin API) ====
{{hc|~/.config/mimeo.conf|<nowiki>
+
{{Note|This version will not be updated (except for security updates), and is stuck at version 11.2.}}
/usr/bin/chromium
+
The Adobe Flash plugin can be [[Pacman|installed]] with the package {{Pkg|flashplugin}}, available in the official repositories.
  ^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}}
+
==== Adobe (Pepper plugin API) ====
x-scheme-handler/http=chromium.desktop
+
  
For more info, see [[Xdg-open]].
+
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.
  
=== Flash Player ===
+
The easiest way to install '''pepper-flash''' for Chromium is using one of the packages provided in the [[AUR]]:
 +
* {{AUR|chromium-pepper-flash-stable}} for the stable version.
 +
* {{AUR|chromium-pepper-flash}} for a development version.
  
All one needs to do is to [[pacman|install]] the {{Pkg|flashplugin}} package and restart Chromium.
+
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}}.
  
If you wish to use Flash Player using Pepper API, you can install {{AUR|chromium-pepper-flash}}, {{AUR|chromium-pepper-flash-stable}} or {{AUR|chrome-pepper-flashplugin}} from [[AUR]] and enable only the flash plugin with location {{ic|/usr/lib/PepperFlash/libpepflashplayer.so}} in {{ic|chrome://plugins}}.
+
{{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
 +
{{bc|1=iron --ppapi-flash-path=/usr/lib/PepperFlash/libpepflashplayer.so --ppapi-flash-version=11.7.700.169}}
 +
}}
  
=== Open PDF files inside Chromium ===
+
=== PDF viewer plugin ===
  
There are two ways to do this: The first one by using Google Chrome's own PDF rendering plugin, the second by allowing Chromium access to e.g. Evince via the mozplugger plugin.
+
There are multiple ways of enabling PDF support in Chromium that are detailed below.
KDE users can also choose KParts Plugin and use any installed KDE application as an embedded viewer. 
+
  
==== libpdf.so ====
+
==== libpdf ====
  
libpdf is Google's own implementation of a PDF renderer. While compatible, it is currently only part of Chrome releases, not Chromium ones.
+
'''libpdf''' is Google's own implementation of a PDF renderer included with Google Chrome. It is compatible with Chromium and Iron.
  
The easiest way to add it to the latter is using one of the packages provided in the AUR {{AUR|chromium-stable-libpdf}} for the stable version of the browser, or for the dev version either {{AUR|chromium-libpdf}} if your Chromium package installed to {{ic|/usr/lib/chromium}} or {{AUR|chromium-browser-libpdf}} if it installed to {{ic|/opt/chromium-browser}}.
+
The easiest way to install '''libpdf''' for Chromium is using one of the packages provided in the [[AUR]]:
 +
* {{AUR|chromium-libpdf-stable}} for the stable version.
 +
* {{AUR|chromium-libpdf}} for a development version.
 +
 
 +
Enable the plugin in {{ic|chrome://plugins}}.
 +
 
 +
{{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
 +
install -m644 opt/google/chrome/libpdf.so "${pkgdir}/usr/lib/chromium"
 +
with
 +
install -m644 opt/google/chrome/libpdf.so "${pkgdir}/opt/chromium-browser"
 +
}}
 +
 
 +
===== Manual installation =====
  
 
To do it manually, download a Google Chrome release that corresponds to the version of Chromium you use:
 
To do it manually, download a Google Chrome release that corresponds to the version of Chromium you use:
Line 162: Line 157:
 
  $ wget https://dl-ssl.google.com/linux/direct/google-chrome-stable_current_i386.deb
 
  $ 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-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-stable_current_amd64.deb
 
  $ wget https://dl-ssl.google.com/linux/direct/google-chrome-unstable_current_amd64.deb
 
  $ wget https://dl-ssl.google.com/linux/direct/google-chrome-unstable_current_amd64.deb
  
 
Extract the deb file with
 
Extract the deb file with
 
+
  $ ar vx ''deb-file''
  $ ar vx <deb-file>
+
  
 
Extract LZMA archive with
 
Extract LZMA archive with
 
+
  $ tar -xJf ''lzma-file''
  $ 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).
 
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).
  
Start Chromium and open ''about:plugins''. "Chrome PDF Viewer" should now view; it may need to be enabled.
+
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.}}
+
{{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.}}
  
==== mozplugger ====
+
==== Using mozplugger ====
  
To use mozplugger, install {{AUR|mozplugger-chromium}} from AUR.
+
{{Box||See the main article: [[Browser Plugins#MozPlugger]]|#E5E5FF|#FCFCFC}}
Follow similar instructions as described in [[Firefox Tweaks]] to set up the PDF app you wish to use with mozplugger-chromium.
+
  
==== kpartsplugin ====
+
==== Using the KParts plugin ====
  
To use KParts Plugin, install {{Pkg|kpartsplugin}}.
+
{{Box||See the main article: [[Browser Plugins#kpartsplugin]]|#E5E5FF|#FCFCFC}}
The plugin should be able, among other things, to open PDF files inside Chromium using an embedded Okular instance.
+
  
 
=== Certificates ===
 
=== Certificates ===
  
Chromium uses [[Nss | NSS]] for the certificate management. Certificates can be managed (including added) by going to Wrench -> Preferences -> Under the Hood -> Manage 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 ==
This section has been distilled out into a discrete [[Chromium_Tips_and_Tweaks]] article.
+
 
 +
{{Box||See the main article: [[Chromium Tips and Tweaks]]|#E5E5FF|#FCFCFC}}
  
 
== Troubleshooting ==
 
== Troubleshooting ==
  
=== Proxy Settings ===
+
=== Proxy settings ===
Proxy settings do not work properly. Especially when used through the KDE interface. A good method as of now is to use the command line options like {{ic|--proxy-pac-url}} and {{ic|--proxy-server}}
+
 
 +
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 ===
 
=== Default profile ===
If you cannot get your default profile when you try to run chromium:
+
 
{{bc|
+
If you cannot get your default profile when you try to run Chromium and get a similar error instead:
$ chromium
+
{{hc|$ chromium|
 
[2630:2630:485325611:FATAL:chrome/browser/browser_main.cc(755)] Check failed: profile.  
 
[2630:2630:485325611:FATAL:chrome/browser/browser_main.cc(755)] Check failed: profile.  
 
Cannot get default profile. Trace/breakpoint trap
 
Cannot get default profile. Trace/breakpoint trap
 
}}
 
}}
  
Just correct the owner of the directory {{ic|~/.config/chromium}}, and it will work.
+
You have to set the correct owner of the directory {{ic|~/.config/chromium}} as following:
 +
# chown -R yourusername:yourusergroup ~/.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 and 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|
 
{{bc|
$sudo chown -R yourusername:yourusergroup /home/yourusername/.config/chromium
+
pasuspender -- google-chrome
 
}}
 
}}
  
=== WebGL ===
+
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].
 +
 
 +
=== Google Play and Flash ===
 +
 
 +
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|{{AUR|chromium-pepper-flash}} does not work with this method. The user must ensure they are using {{Pkg|flashplugin}}.}}
 +
 
 +
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:
 +
{{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>}}
 +
 
 +
=== Force 3D acceleration in Pepper Flash Player and i.g. the browser with radeon driver ===
 +
 
 +
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}}.
  
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 the WebGL flag. You may also enable WebGL by passing the command line flag {{ic|--enable-webgl}} to Chromium in the terminal.
+
== See also ==
  
There is also the possibility that your graphics card has been blacklisted by Chromium. To override this, pass the flag {{ic|--ignore-gpu-blacklist}} to the chromium command.
+
* [http://www.chromium.org/Home Chromium homepage]
 +
* [http://googlechromereleases.blogspot.com Google Chrome release notes]
 +
* [https://chrome.google.com/webstore/category/home Chrome web store]
 +
* [[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]

Revision as of 21:13, 17 June 2013

Summary help replacing me
General information, installation and troubleshooting for Chromium.
Related
Chromium Tips and Tweaks
Browser Plugins
Firefox
Opera

Chromium is an open source graphical web browser from Google, based on the WebKit rendering engine.

Installation

The open source project, Chromium, can be installed with the package chromium, available in the official repositories. In the AUR you can also find:

Note: Compiling Chromium takes at least as long as compiling the Linux kernel.

The modified browser, Google Chrome, bundled with Flash Player and PDF Reader, can be installed with the package google-chromeAUR, available in the AUR. In the AUR you can also find:

Tip: See these two articles for an explanation of the differences between Stable/Beta/Dev, as well as Chromium vs. Chrome and the version numbers.

SRWare Iron, a modified Chromium with altered settings to increase privacy and with built-in ad-blocker, can be installed with the package iron-binAUR, available in the AUR.

Configuration

File associations

Unlike Firefox, Chromium does not maintain its own database of mimetype-to-application associations. Instead, it relies on xdg-open to open files and other mime types and URI schemes, for example, magnet links. There are exceptions to this rule though, for example in the case of mailto URIs, Chromium calls xdg-email, which is also part of xdg-utils package.

Refer to xdg-open, default applications or environment variables on how to set up default file associations.

Default browser

Merge-arrows-2.pngThis article or section is a candidate for merging with Xdg-open.Merge-arrows-2.png

Notes: cover the topic in one place, not on every page of every browser (Discuss in Talk:Chromium#)

The simplest way to make Chromium the default browser is to set variable $BROWSER=chromium in ~/.profile

if [ -n "$DISPLAY" ]; then
        BROWSER=chromium
fi

To test if this was applied successfully, try to open an URL with 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 mimeoAUR, is to associate "http://" links with Chromium:

~/.config/mimeo.conf
/usr/bin/chromium
  ^http://

If all of that still does not get it working, you can try adding the following to the [Added Associations] list in ~/.local/share/applications/mimeapps.list:

x-scheme-handler/http=chromium.desktop

If even that didn't work, try this:

$ 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 ~/.fonts.conf, though you may have to edit it manually (see Font Configuration). If your fonts setting are stored in another place, create ~/.fonts.conf and add these lines:

~/.fonts.conf
 <match target="font">
    <edit name="autohint" mode="assign">
      <bool>true</bool>
    </edit>
    <edit name="hinting" mode="assign">
      <bool>true</bool>
    </edit>
    <edit mode="assign" name="hintstyle">
      <const>hintslight</const>
    </edit>
  </match>

If the fonts are still rendered badly, you can use Xft settings as suggested here. Create ~/.Xresources if it does not exist and add in:

~/.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:

$ xrdb -merge ~/.Xresources
Note: These settings will affect any application that uses X Resources for font settings; one example is rxvt-unicode.

Non-Latin characters

Install needed fonts to correctly display Chinese, Japanese, Korean characters. For examples of recommended fonts for various languages see Font Packages.

For the Arch Wiki, one only needs the ttf-arphic-uming package.

Flash Player plugin

Adobe (Netscape plugin API)

Note: This version will not be updated (except for security updates), and is stuck at version 11.2.

The Adobe Flash plugin can be installed with the package flashplugin, available in the official repositories.

Adobe (Pepper plugin API)

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.

The easiest way to install pepper-flash for Chromium is using one of the packages provided in the AUR:

Enable the Flash Player plugin with location /usr/lib/PepperFlash/libpepflashplayer.so in chrome://plugins and disable the plugin with location /usr/lib/mozilla/plugins/libflashplayer.so.

Note: If Pepper Flash doesn't show up in the plugins list (as is the case for Iron), then disable libflashplayer.so and start with
iron --ppapi-flash-path=/usr/lib/PepperFlash/libpepflashplayer.so --ppapi-flash-version=11.7.700.169

PDF viewer plugin

There are multiple ways of enabling PDF support in Chromium that are detailed below.

libpdf

libpdf is Google's own implementation of a PDF renderer included with Google Chrome. It is compatible with Chromium and Iron.

The easiest way to install libpdf for Chromium is using one of the packages provided in the AUR:

Enable the plugin in chrome://plugins.

Note: To install libpdf for other Chromium packages, edit the PKGBUILD of chromium-libpdf-stableAUR to install libpdf.so into correct path. For example, to install it for chromium-browser-binAUR, replace
install -m644 opt/google/chrome/libpdf.so "${pkgdir}/usr/lib/chromium"

with

install -m644 opt/google/chrome/libpdf.so "${pkgdir}/opt/chromium-browser"
Manual installation

To do it manually, download a Google Chrome release that corresponds to the version of Chromium you use:

$ 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

$ tar -xJf lzma-file

Move libpdf.so from opt/google/chrome/ to the appropriate directory as stated above. A change of its file permissions and ownership may be necessary (the permission of libpdf.so should be 755).

To verify that the installation went correctly: start Chromium, open 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 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

Template:Box

Using the KParts plugin

Template:Box

Certificates

Chromium uses 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

Template:Box

Troubleshooting

Proxy settings

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 --proxy-pac-url and --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:

$ 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 ~/.config/chromium as following:

# chown -R yourusername:yourusergroup ~/.config/chromium

WebGL

Sometimes, Chromium will disable WebGL with certain graphics card configurations. This can generally be remedied by typing about:flags into the URL bar and enabling the WebGL flag. You may also enable WebGL by passing the command line flag --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 --ignore-gpu-blacklist when starting Chromium, alternatively, go to about:flags and enable Override software rendering list.

Pulseaudio, PA-Alsa-Bridge and 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 [1] for the bugreport.

A possible workaround is to use pasuspender to suspend Pulseaudio and force Chrome to use Alsa directly.

First, create an ~/.asoundrc file to default Alsa to your real hardware instead of Pulseaudio. See Alsa and [2] for more information. Exemplary ~/.asoundrc:

~/.asoundrc
pcm. !default {
    type hw
    card 0
    device 0
}

Then use pasuspender to suspend Pulseaudio and force Chrome to use Alsa which now uses your real hardware.

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 [3].

Google Play and Flash

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-flashAUR does not work with this method. The user must ensure they are using flashplugin.

As per "Watching movies from Google Play on Arch Linux"; install halAUR and hal-infoAUR. Then run the following Bash code:

cd ~/.adobe/Flash_Player;                       ## enter the Adobe Flash Player directory
rm -rf NativeCache AssetCache APSPrivateData2;  ## remove cache

Start the HAL daemon and one will be able to watch Google Play Movie content.

# systemctl start hal.service

Alternately one can just save the following Bash script below and run it before they want to watch Google Play Movie content.

#!/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

Force 3D acceleration in Pepper Flash Player and i.g. the browser with radeon driver

To force 3D rendering there is an option "Override software rendering list" in chrome://flags, also you would have to export video acceleration variables, see ATI#Enabling_video_acceleration. You could check if it is working in chrome://gpu.

See also