Intel Graphics: Difference between revisions
imported>Colemickens No edit summary |
drop 24.05 compat |
||
(12 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
== | == Driver == | ||
Refer to the [https://nixos.org/manual/nixos/stable/#sec-x11--graphics-cards-intel Intel Graphics drivers] section of the NixOS manual. | |||
== Video acceleration == | |||
To enable hardware (GPU) accelerated video decoding and encoding you need to add additional entries in <code>hardware.graphics.extraPackages</code> (see [[Accelerated_Video_Playback|accelerated video playback]]). | |||
== Quick Sync Video == | |||
Intel Quick Sync Video (QSV) is a hardware accelerated media conversion framework for Intel GPUs. | |||
Applications that can be accelerated using QSV include OBS Studio and ffmpeg. | |||
QSV support can be used through either [https://github.com/Intel-Media-SDK/MediaSDK Intel Media SDK] or [https://github.com/intel/libvpl Intel VPL]. Intel VPL supersedes the now deprecated Media SDK. | |||
Both libraries dispatch to a backing implementation that is different depending on the GPU generation at runtime. You need to add either <code>intel-media-sdk</code> or <code>vpl-gpu-rt</code> (previously <code>onevpl-intel-gpu</code>) to <code>hardware.graphics.extraPackages</code>. You can check the [https://github.com/intel/libvpl?tab=readme-ov-file#dispatcher-behavior-when-targeting-intel-gpus this] table to decide whether you need the Media SDK or VPL GPU runtime. | |||
Sample configuration: | |||
<syntaxHighlight lang=nix> | <syntaxHighlight lang=nix> | ||
hardware.graphics = { | |||
enable = true; | |||
extraPackages = with pkgs; [ | |||
... # your Open GL, Vulkan and VAAPI drivers | |||
vpl-gpu-rt # or intel-media-sdk for QSV | |||
]; | |||
}; | }; | ||
</syntaxHighlight> | </syntaxHighlight> | ||
== 12th Gen (Alder Lake) == | |||
The X Server may fail to start with the newer 12th generation, Alder Lake, iRISxe integrated graphics chips. If this is the case, you can give the kernel a hint as to what driver to use. First confirm the graphic chip's device ID by running in a terminal: | |||
<syntaxHighlight lang=console> | |||
$ nix-shell -p pciutils --run "lspci -nn | grep VGA" | |||
00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-UP3 GT2 [Iris Xe Graphics] [8086:46a8] (rev 0c) | |||
</syntaxHighlight> | |||
In this example, "46a8" is the device ID. You can then add this to your configuration and reboot: | |||
<pre>boot.kernelParams = [ "i915.force_probe=<device ID>" ];</pre> | |||
[[Category:Video]] |