Difference between revisions of "Chromium"
(ugh, looks like I just duplicated another section) |
(→Force GPU acceleration: flag expansion: one more GPU acceleration feature "CheckerImaging") |
||
(27 intermediate revisions by 11 users not shown) | |||
Line 18: | Line 18: | ||
== Installation == | == Installation == | ||
− | The open-source project, '''Chromium''', can be [[install]]ed with the {{Pkg|chromium}} package | + | The open-source project, '''Chromium''', can be [[install]]ed with the {{Pkg|chromium}} package. |
Other alternatives include: | Other alternatives include: | ||
− | + | * {{App|Chromium Dev Channel|the development version|https://chromereleases.googleblog.com/|{{AUR|chromium-dev}}}} | |
− | * {{App|Chromium Dev Channel|the development version|https:// | ||
* {{App|Chromium snapshot builds|the untested nightly version|https://build.chromium.org/|{{AUR|chromium-snapshot-bin}}}} | * {{App|Chromium snapshot builds|the untested nightly version|https://build.chromium.org/|{{AUR|chromium-snapshot-bin}}}} | ||
− | * {{App|Chromium with | + | * {{App|Chromium with VA-API support|see [[#Hardware video acceleration]]|https://chromium-review.googlesource.com/c/chromium/src/+/532294|{{AUR|chromium-vaapi}}}} |
+ | * {{App|Ungoogled Chromium|removes Google integration and enhances privacy|https://github.com/Eloston/ungoogled-chromium|{{AUR|ungoogled-chromium}}}} | ||
− | The derived browser, '''Google Chrome''', | + | The derived browser, '''Google Chrome''', which automatically installs Flash Player and Widevine [[Wikipedia:Encrypted Media Extensions|EME]] (for e.g. Netflix), can be [[install]]ed with the {{AUR|google-chrome}} package. |
Other alternatives include: | Other alternatives include: | ||
* {{App|Google Chrome Beta Channel|the beta version|https://www.google.com/chrome/browser/beta.html|{{AUR|google-chrome-beta}}}} | * {{App|Google Chrome Beta Channel|the beta version|https://www.google.com/chrome/browser/beta.html|{{AUR|google-chrome-beta}}}} | ||
− | * {{App|Google Chrome Dev Channel|the development version|https://www.google.com/chrome | + | * {{App|Google Chrome Dev Channel|the development version|https://www.google.com/chrome/|{{AUR|google-chrome-dev}}}} |
− | {{Note| | + | {{Note|Support for native client (NaCl) has been dropped in {{pkg|chromium}} version 54, see {{Bug|51511}}. Opening NaCl applications will display this error message: "This plugin is not supported". The {{aur|google-chrome}} package supports NaCl.}} |
− | |||
− | |||
− | }} | ||
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. | 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. | ||
Line 69: | Line 66: | ||
=== Certificates === | === Certificates === | ||
− | Chromium uses [[Network Security Services | + | Chromium uses [[Network Security Services]] for certificate management. Certificates can be managed in {{ic|chrome://settings/certificates}}. |
+ | |||
+ | === Hardware video acceleration === | ||
+ | |||
+ | {{Note|You might need to [[#Force GPU acceleration]] and see [[Hardware video acceleration]] first.}} | ||
+ | |||
+ | Accelerated video decoding via VA-API is available using {{AUR|chromium-vaapi}} and can be enabled either by: | ||
+ | * enabling {{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}} on the command line or adding them to [[/Tips and tricks#Making flags persistent|persistent configuration]]. | ||
+ | |||
+ | Additionally {{ic|--disable-gpu-driver-bug-workarounds}} has been tested and confirmed to remove video freezes (especially when watching in fullscreen). | ||
== Tips and tricks == | == Tips and tricks == | ||
Line 85: | Line 92: | ||
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. | 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. | ||
− | === Force | + | ==== Font rendering issues of UTF characters ==== |
+ | |||
+ | 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. | ||
+ | |||
+ | ==== Tab font size is too large ==== | ||
+ | |||
+ | 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}}. | ||
+ | |||
+ | === Force GPU acceleration === | ||
+ | |||
+ | {{Expansion|Add {{ic|1=--enable-features="CheckerImaging"}}}} | ||
{{Warning|Disabling the rendering blacklist may cause unstable behaviour, including crashes of the host. See the bug reports in {{ic|chrome://gpu}}.}} | {{Warning|Disabling the rendering blacklist may cause unstable behaviour, including crashes of the host. See the bug reports in {{ic|chrome://gpu}}.}} | ||
− | + | To force GPU acceleration, ''enable'' the flags: "Override software rendering list", "GPU rasterization", "Zero-copy rasterizer" in {{ic|chrome://flags}}. Check if it is working in {{ic|chrome://gpu}}. This may also alleviate tearing issues with the [[radeon]] driver. | |
If "Native GpuMemoryBuffers" under {{ic|chrome://gpu}} mentions software rendering, you additionally need to pass the {{ic|--enable-native-gpu-memory-buffers}} flag, or some optimizations (like the zero-copy rasterizer) won't do anything. This flag isn't available under {{ic|chrome://flags}} - it must be passed in either the chromium-flags.conf file (as noted in [[Chromium/Tips and tricks#Making flags persistent]]) or directly on the command line. | If "Native GpuMemoryBuffers" under {{ic|chrome://gpu}} mentions software rendering, you additionally need to pass the {{ic|--enable-native-gpu-memory-buffers}} flag, or some optimizations (like the zero-copy rasterizer) won't do anything. This flag isn't available under {{ic|chrome://flags}} - it must be passed in either the chromium-flags.conf file (as noted in [[Chromium/Tips and tricks#Making flags persistent]]) or directly on the command line. | ||
=== WebGL === | === WebGL === | ||
− | |||
− | There is the possibility that your graphics card has been blacklisted by Chromium. See [[#Force | + | 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 {{ic|optirun chromium --disable-gpu-sandbox}}. | 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}}. | ||
Line 104: | Line 120: | ||
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}}. | 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}}. | ||
− | === | + | === Zoomed-in GUI === |
+ | |||
+ | {{Style|1=The word "sometimes" does not improve accuracy [https://wiki.archlinux.org/index.php?title=Chromium&diff=526683&oldid=526551].}} | ||
− | Chromium's graphical interface | + | Chromium's graphical interface will sometimes automatically scale for [[HiDPI]] displays. To disable this, use {{ic|1=--force-device-scale-factor=1}}. |
=== Password prompt on every start with GNOME Keyring === | === Password prompt on every start with GNOME Keyring === | ||
Line 119: | Line 137: | ||
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. | 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. | ||
+ | |||
+ | See [[Chromium/Tips and tricks#Force a password store]]. | ||
+ | |||
+ | === Hang on startup when Google Sync enabled === | ||
+ | |||
+ | Try launching Chrome with {{ic|1=--password-store=basic}} or another appropriate password store. | ||
See [[Chromium/Tips and tricks#Force a password store]]. | See [[Chromium/Tips and tricks#Force a password store]]. |
Revision as of 19:02, 6 September 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.
Contents
- 1 Installation
- 2 Configuration
- 3 Tips and tricks
- 4 Troubleshooting
- 5 See also
Installation
The open-source project, Chromium, can be installed with the chromium package.
Other alternatives include:
- Chromium Dev Channel — the development version
- Chromium snapshot builds — the untested nightly version
- Chromium with VA-API support — see #Hardware video acceleration
- Ungoogled Chromium — removes Google integration and enhances privacy
The derived browser, Google Chrome, which automatically installs Flash Player and Widevine EME (for e.g. Netflix), can be installed with the google-chromeAUR package.
Other alternatives include:
- Google Chrome Beta Channel — the beta version
- Google Chrome Dev Channel — the development version
See these two articles for an explanation of the differences between Chromium and Chrome.
On top of the different Chromium build channels, a number of forks exist with more or less special features; see List of applications#Blink-based.
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 via VA-API is available using chromium-vaapiAUR and can be enabled either by:
- enabling
chrome://flags/#enable-accelerated-video
andchrome://flags/#enable-accelerated-mjpeg-decode
flags; - specifying
--enable-accelerated-video
and--enable-accelerated-mjpeg-decode
on the command line or adding them to 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
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
chrome://gpu
.To force GPU acceleration, enable the flags: "Override software rendering list", "GPU rasterization", "Zero-copy rasterizer" in chrome://flags
. Check if it is working in chrome://gpu
. This may also alleviate tearing issues with the radeon driver.
If "Native GpuMemoryBuffers" under chrome://gpu
mentions software rendering, you additionally need to pass the --enable-native-gpu-memory-buffers
flag, or some optimizations (like the zero-copy rasterizer) won't do anything. This flag isn't available under chrome://flags
- it must be passed in either the chromium-flags.conf file (as noted in Chromium/Tips and tricks#Making flags persistent) or directly on 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
.
Zoomed-in GUI
Chromium's graphical interface will sometimes automatically scale for HiDPI displays. To disable this, use --force-device-scale-factor=1
.
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.