I have an Arc (previous gen) - here’s some thoughts:
- Putting vdpau-anything in your config
makes no sense, that’s for nvidia(EDIT: I was slightly misinformed but AFAICT it’s still unnecessary) vaapiIntelis redundant because you already would useintel-media-driverfor VA-API handling- I do not use
nixos-hardwareat all
First run this to get the device ID for your card (56a0 in this case; you can ignore the 8086 which just means Intel):
$ nix run github:eclairevoyant/pcids
PCI:45:0:0
Intel Corporation [8086]
DG2 [Arc A770] [56a0]
Then here’s what my config looks like for the card. Replace the deviceId as you identified from the previous step.
{
config,
lib,
pkgs,
...
}:
let
deviceId = "56a0";
in
{
boot = {
# recent kernel needed for proper functionality
kernelPackages = pkgs.linuxKernel.packageAliases.linux_latest;
kernelParams =
# xe driver available from kernel 6.8
assert lib.versionAtLeast config.boot.kernelPackages.kernel.version "6.8";
[
"i915.force_probe=!${deviceId}"
"xe.force_probe=${deviceId}"
];
};
# https://wiki.archlinux.org/title/Hardware_video_acceleration
environment = {
systemPackages = lib.attrValues {
inherit (pkgs) libva-utils; # vainfo
};
variables = {
LIBVA_DRIVER_NAME = "iHD";
};
};
hardware.graphics = {
enable = true;
enable32Bit = true;
extraPackages = lib.attrValues {
inherit (pkgs)
intel-compute-runtime
intel-media-driver # vaapi via iHD
vpl-gpu-rt # libvpl impl for qsv
;
};
};
security.wrappers.igt = {
owner = "root";
group = "root";
capabilities = "cap_perfmon=+ep";
source = lib.getExe' pkgs.intel-gpu-tools "intel_gpu_top";
};
}
If you see issues with the xe driver, you can switch back to i915 via boot.kernelParams = ["i915"]; instead of the kernel params above. (I saw flickering in my case and did in fact switch back.)
Since I was personally dissatisfied with the steam packaging in nixpkgs, I use the flatpak for steam:
services.flatpak.enable = true;
And installed/run steam that way:
$ flatpak install com.valvesoftware.Steam
$ flatpak run com.valvesoftware.Steam
However, hopefully the config mentioned gets you a bit closer to running steam in either case.
(And yeah, it’s a super new card and may just Not Work.)