|
|
(11 intermediate revisions by 5 users not shown) |
Line 1: |
Line 1: |
| '''Note''': Firefox requires the Google Hangouts Video plugin but Chromium (37+) doesn't require any plugin to use Google Hangouts.
| | == Installation == |
| | === NixOS === |
| | Add {{nixos:package|chromium}} to {{NixOS Manual|name=systemPackages|anchor=#sec-package-management}}. |
|
| |
|
| == Per User == | | == Accelerated video playback == |
|
| |
|
| It is possible to configure certain features in nixpkgs by creating <code>~/.nixpkgs/config.nix</code> and setting the options. See below for details on how to set the equivalent options for the system profile when running NixOS.
| | Make sure [[Accelerated Video Playback]] is setup on the system properly. Check {{ic|chrome://gpu}} to see if Chromium has enabled hardware acceleration. |
|
| |
|
| To install Firefox and Chromium for a user profile you need to create <code>~/.nixpkgs/config.nix</code> and add the following options:
| | If accelerated video playback is not working, check relevant flags at {{ic|chrome://flags}}, or enable them using the cli: |
| | | {{file|/etc/nixos/configuration.nix|nix|<nowiki> |
| ~/.nixpkgs/config.nix:
| |
| <syntaxhighlight lang="nix"> | |
| { | | { |
| allowUnfree = true;
| | environment.systemPackages = with pkgs; [ |
| | | (chromium.override { |
| firefox = { | | commandLineArgs = [ |
| enableGoogleTalkPlugin = true;
| | "--enable-features=VaapiVideoDecodeLinuxGL" |
| enableAdobeFlash = true;
| | "--ignore-gpu-blocklist" |
| };
| | "--enable-zero-copy" |
| | | ]; |
| chromium = {
| | }) |
| enablePepperFlash = true; # Chromium's non-NSAPI alternative to Adobe Flash
| | ]; |
| }; | |
| | |
| } | | } |
| </syntaxhighlight> | | </nowiki>}} |
| | |
| After these options have been set you need to install the "Wrapper" versions of Firefox:
| |
| | |
| <syntaxhighlight lang="console">
| |
| $ nix-env -i firefox-with-plugins chromium
| |
| </syntaxhighlight>
| |
| | |
| If you are using a version that does not have a wrapper, you can write one (add to config.nix and install with `nix-env -iA nixpkgs.pkgs.firefox-bin-wrapper` or `nix-env -iA nixos.pkgs.firefox-bin-wrapper`):
| |
| <syntaxhighlight lang="nix">
| |
| packageOverrides = pkgs: with pkgs; rec {
| |
| # FF bin with plugins
| |
| firefox-bin-wrapper = wrapFirefox { browser = firefox-bin; };
| |
| };
| |
| </syntaxhighlight>
| |
| | |
| == For NixOS ==
| |
| | |
| In NixOS you can configure nixpkgs options by adding a nixpkgs.config section to /etc/nixos/configuration.nix. This has no effect on nix-env commands but does apply to packages installed via the environment.systemPackages list. The options are exactly the same as above.
| |
| | |
| In order to install Firefox with support for plugins, you need to use the "Wrapper" version. For example, in /etc/nixos/configuration.nix environment.systemPackages this would be firefoxWrapper.
| |
| | |
| To install Firefox and Chromium with Google Talk and Flash in your system profile you can add the following to your configuration.nix file.
| |
| | |
| /etc/nixos/configuration.nix:
| |
| <syntaxhighlight lang="nix">
| |
| ...
| |
| | |
| nixpkgs.config = {
| |
| | |
| allowUnfree = true;
| |
| | |
| firefox = {
| |
| enableGoogleTalkPlugin = true;
| |
| enableAdobeFlash = true;
| |
| };
| |
| | |
| chromium = {
| |
| enablePepperFlash = true; # Chromium removed support for Mozilla (NPAPI) plugins so Adobe Flash no longer works
| |
| };
| |
| | |
| };
| |
| | |
| environment.systemPackages = [ pkgs.firefoxWrapper pkgs.chromium ];
| |
| ...
| |
| </syntaxhighlight>
| |
| | |
| then run <pre>nixos-rebuild switch</pre>
| |
| | |
| == Enable GPU accelerated video decoding (VA-API) ==
| |
| | |
| VA-API is enabled by default now in Chromium. Check chrome://gpu if it is working and if VA is detected. You may need to enable Hardware-accelerated video decode in chrome://flags.
| |
| | |
| Make sure the required VA-API drivers are installed: [[Accelerated Video Playback]]
| |
| | |
| Make sure your driver works by running: <code>nix-shell -p libva-utils --run vainfo</code>
| |
| | |
| == Gnome Shell extensions ==
| |
| | |
| Gnome Shell extensions can be enabled with <code>enableGnomeExtensions = true</code>. It is a mozilla plugin, therefore it does not work currently with Chromium.
| |
|
| |
|
| == Enabling native Wayland support == | | == Enabling native Wayland support == |
|
| |
|
| It's possible to have Chromium launch with experimental native support for Wayland by setting the appropriate command-line flags:
| | You can turn on native Wayland support in all chrome and most electron apps by setting an environment variable: <code>environment.sessionVariables.NIXOS_OZONE_WL = "1"</code>. |
|
| |
|
| <syntaxhighlight lang="nix">
| | == Enabling DRM (Widevine support) == |
| nixpkgs.config.chromium.commandLineArgs = "--enable-features=UseOzonePlatform --ozone-platform=wayland";
| | By default, {{nixos:package|chromium}} does not support playing DRM protected media. However, there is a build time flag to include the unfree Widevine blob from nixpkgs: |
| </syntaxhighlight>
| | {{file|/etc/nixos/configuration.nix|nix|<nowiki> |
| | | { |
| == Overriding Chromium ==
| | environment.systemPackages = with pkgs; [ |
| | | (chromium.override { enableWideVine = true; }) |
| Note: This section was never properly tested. Please update it accordingly if you notice issues with the examples and feel free to extend it.
| | ]; |
| | | } |
| To create a customized Chromium the following approach can be used:
| | </nowiki>}} |
| <pre> | |
| chromium.mkDerivation (base: { name = "my-chromium"; gnFlags = { test_flag = 42; }; })
| |
| </pre>
| |
| | |
| It should also be possible to override a Chromium attribute using <pre>chromium.browser.overrideAttrs ...</pre>.
| |
|
| |
|
| [[Category:Configuration]]
| |
| [[Category:Applications]] | | [[Category:Applications]] |
| | [[Category:Web Browser]] |
Installation
NixOS
Add chromium
to
systemPackages.
Accelerated video playback
Make sure Accelerated Video Playback is setup on the system properly. Check chrome://gpu
to see if Chromium has enabled hardware acceleration.
If accelerated video playback is not working, check relevant flags at chrome://flags
, or enable them using the cli:
/etc/nixos/configuration.nix
{
environment.systemPackages = with pkgs; [
(chromium.override {
commandLineArgs = [
"--enable-features=VaapiVideoDecodeLinuxGL"
"--ignore-gpu-blocklist"
"--enable-zero-copy"
];
})
];
}
Enabling native Wayland support
You can turn on native Wayland support in all chrome and most electron apps by setting an environment variable: environment.sessionVariables.NIXOS_OZONE_WL = "1"
.
Enabling DRM (Widevine support)
By default, chromium
does not support playing DRM protected media. However, there is a build time flag to include the unfree Widevine blob from nixpkgs:
/etc/nixos/configuration.nix
{
environment.systemPackages = with pkgs; [
(chromium.override { enableWideVine = true; })
];
}