Accelerated Video Playback: Difference between revisions
imported>Colemickens No edit summary |
Marked this version for translation Tags: Mobile edit Mobile web edit |
||
(29 intermediate revisions by 13 users not shown) | |||
Line 1: | Line 1: | ||
<languages/> | |||
<translate> | |||
<!--T:1--> | |||
Accelerated video playback in NixOS is generally done by adding relevant packages to {{nixos:option|hardware.opengl.extraPackages}}. | |||
</translate> | |||
<translate> | |||
== Installation == <!--T:18--> | |||
</translate> | |||
<translate> | |||
=== Intel === <!--T:19--> | |||
</translate> | |||
{{file|/etc/nixos/configuration.nix|nix|<nowiki> | |||
< | |||
{ | { | ||
. | hardware.graphics = { # hardware.opengl in 24.05 and older | ||
enable = true; | enable = true; | ||
extraPackages = with pkgs; [ | extraPackages = with pkgs; [ | ||
intel-media-driver # For Broadwell (2014) or newer processors. LIBVA_DRIVER_NAME=iHD | |||
intel-vaapi-driver # For older processors. LIBVA_DRIVER_NAME=i965 | |||
intel- | |||
]; | ]; | ||
}; | }; | ||
. | environment.sessionVariables = { LIBVA_DRIVER_NAME = "iHD"; }; # Optionally, set the environment variable | ||
} | } | ||
</ | </nowiki>}} | ||
<translate> | |||
<!--T:2--> | |||
Note, <code>intel-vaapi-driver</code> still performs better for browsers (gecko/chromium based) on newer Skylake (2015) processors.<ref>https://github.com/intel/media-driver/issues/1024</ref> | |||
</translate> | |||
<translate> | |||
<!--T:3--> | |||
For 32-bit support, use | |||
</translate> {{nixos:option|hardware.graphics.extraPackages32}}: | |||
{{file|/etc/nixos/configuration.nix|nix|<nowiki> | |||
{ | |||
# hardware.opengl.extraPackages32 in 24.05 | |||
hardware.graphics.extraPackages32 = with pkgs.pkgsi686Linux; [ intel-vaapi-driver ]; | |||
} | |||
</nowiki>}} | |||
<translate> | |||
=== AMD === <!--T:4--> | |||
= | <!--T:5--> | ||
AMD configuration (at least for Ryzen 5 iGPUs) works out of the box: | |||
=== | </translate> | ||
{{file|/etc/nixos/configuration.nix|nix|<nowiki> | |||
{ | |||
hardware.opengl.enable = true; | |||
} | |||
</nowiki>}} | |||
<translate> | |||
== Testing your configuration == <!--T:6--> | |||
=== | <!--T:7--> | ||
You can test your configuration by running: <code>nix-shell -p libva-utils --run vainfo</code> | |||
</translate> | |||
<translate> | |||
<!--T:8--> | |||
See [https://wiki.archlinux.org/index.php/Hardware_video_acceleration#Verification Arch Linux wiki#Hardware video acceleration] for more information. | |||
</translate> | |||
<translate> | |||
== Applications == <!--T:9--> | |||
</translate> | |||
<translate> | |||
<!--T:10--> | |||
=== Chromium === | |||
See [[Chromium#Accelerated_video_playback]]. | |||
</translate> | |||
<translate> | |||
=== Firefox === <!--T:11--> | |||
<!--T:12--> | |||
See [https://wiki.archlinux.org/index.php/Firefox#Hardware_video_acceleration Arch Linux wiki#Firefox]. | |||
</translate> | |||
<!--T:13--> | |||
<translate> | |||
=== MPV === <!--T:20--> | |||
</translate> | |||
<translate> | |||
<!--T:21--> | |||
You can place the following configuration in {{ic|~/.config/mpv/mpv.conf}}: | |||
</translate> | |||
<!--T:14--> | |||
<syntaxHighlight lang=ini> | <syntaxHighlight lang=ini> | ||
hwdec= | hwdec=auto-safe | ||
vo=gpu | vo=gpu | ||
profile=gpu-hq | |||
gpu-context=wayland ; On wayland only | |||
gpu-context=wayland | |||
</syntaxHighlight> | </syntaxHighlight> | ||
<!--T:15--> | |||
<translate> | |||
<!--T:22--> | |||
See [https://wiki.archlinux.org/title/mpv#Hardware_video_acceleration Arch Linux wiki#mpv]. | |||
</translate> | |||
<translate> | |||
<!--T:16--> | |||
== Also see == | |||
* [https://wiki.archlinux.org/index.php/Hardware_video_acceleration Arch Linux wiki#Hardware video acceleration]. | |||
* [https://github.com/NixOS/nixos-hardware nixos-hardware] has example configurations for various types of hardware. | |||
</translate> | |||
[[Category:Video]] | |||
Latest revision as of 14:05, 21 August 2024
Accelerated video playback in NixOS is generally done by adding relevant packages to hardware.opengl.extraPackages
.
Installation
Intel
/etc/nixos/configuration.nix
{
hardware.graphics = { # hardware.opengl in 24.05 and older
enable = true;
extraPackages = with pkgs; [
intel-media-driver # For Broadwell (2014) or newer processors. LIBVA_DRIVER_NAME=iHD
intel-vaapi-driver # For older processors. LIBVA_DRIVER_NAME=i965
];
};
environment.sessionVariables = { LIBVA_DRIVER_NAME = "iHD"; }; # Optionally, set the environment variable
}
Note, intel-vaapi-driver
still performs better for browsers (gecko/chromium based) on newer Skylake (2015) processors.[1]
For 32-bit support, use hardware.graphics.extraPackages32
:
/etc/nixos/configuration.nix
{
# hardware.opengl.extraPackages32 in 24.05
hardware.graphics.extraPackages32 = with pkgs.pkgsi686Linux; [ intel-vaapi-driver ];
}
AMD
AMD configuration (at least for Ryzen 5 iGPUs) works out of the box:
/etc/nixos/configuration.nix
{
hardware.opengl.enable = true;
}
Testing your configuration
You can test your configuration by running: nix-shell -p libva-utils --run vainfo
See Arch Linux wiki#Hardware video acceleration for more information.
Applications
Chromium
See Chromium#Accelerated_video_playback.
Firefox
MPV
You can place the following configuration in ~/.config/mpv/mpv.conf
:
hwdec=auto-safe
vo=gpu
profile=gpu-hq
gpu-context=wayland ; On wayland only
See Arch Linux wiki#mpv.
Also see
- Arch Linux wiki#Hardware video acceleration.
- nixos-hardware has example configurations for various types of hardware.