Chromium
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=AcceleratedVideoEncoder"
"--ignore-gpu-blocklist"
"--enable-zero-copy"
];
})
];
}
In some cases, chrome://gpu
will show Video Decode as enabled, but Video Acceleration Information as blank, with chrome://media-internals
using FFmpeg Video Decoder (software decoding). If this happens, try to enable the following features:
/etc/nixos/configuration.nix
{
environment.systemPackages = with pkgs; [
(chromium.override {
commandLineArgs = [
"--enable-features=AcceleratedVideoEncoder,VaapiOnNvidiaGPUs,VaapiIgnoreDriverChecks,Vulkan,DefaultANGLEVulkan,VulkanFromANGLE"
"--enable-features=VaapiIgnoreDriverChecks,VaapiVideoDecoder,PlatformHEVCDecoderSupport"
"--enable-features=UseMultiPlaneFormatForHardwareVideo"
"--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; })
];
}