Accelerated Video Playback: Difference between revisions

From NixOS Wiki
Unabomberlive (talk | contribs)
Marked this version for translation
Unabomberlive (talk | contribs)
No edit summary
Line 5: Line 5:
</translate>
</translate>


<translate>
== Installation ==
== Installation ==
</translate>
<translate>
=== Intel ===
=== Intel ===
</translate>
{{file|/etc/nixos/configuration.nix|nix|<nowiki>
{{file|/etc/nixos/configuration.nix|nix|<nowiki>
{
{
Line 50: Line 54:
<!--T:7-->
<!--T:7-->
You can test your configuration by running: <code>nix-shell -p libva-utils --run vainfo</code>
You can test your configuration by running: <code>nix-shell -p libva-utils --run vainfo</code>
 
</translate>
<translate>
<!--T:8-->
<!--T:8-->
See [https://wiki.archlinux.org/index.php/Hardware_video_acceleration#Verification Arch Linux wiki#Hardware video acceleration] for more information.
See [https://wiki.archlinux.org/index.php/Hardware_video_acceleration#Verification Arch Linux wiki#Hardware video acceleration] for more information.
Line 56: Line 61:
<translate>
<translate>
== Applications == <!--T:9-->
== Applications == <!--T:9-->
 
</translate>
<translate>
=== Chromium === <!--T:10-->
=== Chromium === <!--T:10-->
<!--T:11-->
See [[Chromium#Accelerated_video_playback]].
See [[Chromium#Accelerated_video_playback]].
</translate>
<translate>
=== Firefox === <!--T:11-->


=== Firefox === <!--T:12-->
<!--T:12-->
 
See [https://wiki.archlinux.org/index.php/Firefox#Hardware_video_acceleration Arch Linux wiki#Firefox].
</translate>
<!--T:13-->
<!--T:13-->
See [https://wiki.archlinux.org/index.php/Firefox#Hardware_video_acceleration Arch Linux wiki#Firefox].
<translate>
 
<!--T:14-->
=== MPV ===
=== MPV ===
You can place the following configuration in {{ic|~/.config/mpv/mpv.conf}}:
You can place the following configuration in {{ic|~/.config/mpv/mpv.conf}}:
 
</translate>
<!--T:15-->
<!--T:14-->
<syntaxHighlight lang=ini>
<syntaxHighlight lang=ini>
hwdec=auto-safe
hwdec=auto-safe
Line 79: Line 85:
</syntaxHighlight>
</syntaxHighlight>


<!--T:16-->
<!--T:15-->
<translate>
See [https://wiki.archlinux.org/title/mpv#Hardware_video_acceleration Arch Linux wiki#mpv].
See [https://wiki.archlinux.org/title/mpv#Hardware_video_acceleration Arch Linux wiki#mpv].
</translate>
</translate>
<translate>
<translate>
<!--T:17-->
<!--T:16-->
== Also see ==
== Also see ==
* [https://wiki.archlinux.org/index.php/Hardware_video_acceleration Arch Linux wiki#Hardware video acceleration].
* [https://wiki.archlinux.org/index.php/Hardware_video_acceleration Arch Linux wiki#Hardware video acceleration].

Revision as of 13:52, 21 July 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

See Arch Linux wiki#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