Hello!
@randoneering I’m having what I assume to be a driver issue because certain applications seem fuzzy and more graphically demanding tasks have some severe lag. This has happened to me before on Arch, but I don’t know how to fix it on NixOS. Here’s my system info and what I’ve got in both configuration.nix and hardware-configuration.nix:
Any thoughts/solutions?
svayp
September 2, 2026, 8:02am
2
Try to delete
pkgs.vaapi-intel-hybrid
pkgs.driversi686Linux.libvdpau-va-gl
pkgs.xf86-video-intel
and graphics part do
hardware.graphics = {
enable = true;
extraPackages = with pkgs; [
intel-media-driver
vpl-gpu-rt
];
};
environment.sessionVariables = {
LIBVA_DRIVER_NAME = "iHD";
};
then show what nix-shell -p libva-utils --run vainfo command shows
1 Like
Here’s what I got:
Trying display: wayland
error: XDG_RUNTIME_DIR is invalid or not set in the environment.
Trying display: x11
libva info: VA-API version 1.23.0
libva info: User environment variable requested driver 'iHD'
libva info: Trying to open /run/opengl-driver/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_23
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.23 (libva 2.23.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 26.1.6 ()
vainfo: Supported profile and entrypoints
VAProfileNone : VAEntrypointVideoProc
VAProfileNone : VAEntrypointStats
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Simple : VAEntrypointEncSlice
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointFEI
VAProfileH264Main : VAEntrypointEncSliceLP
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointFEI
VAProfileH264High : VAEntrypointEncSliceLP
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264ConstrainedBaseline: VAEntrypointFEI
VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
VAProfileVP8Version0_3 : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointFEI
VAProfileHEVCMain : VAEntrypointEncSliceLP
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileHEVCMain10 : VAEntrypointEncSlice
VAProfileHEVCMain10 : VAEntrypointEncSliceLP
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile0 : VAEntrypointEncSliceLP
VAProfileVP9Profile1 : VAEntrypointVLD
VAProfileVP9Profile1 : VAEntrypointEncSliceLP
VAProfileVP9Profile2 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointEncSliceLP
VAProfileVP9Profile3 : VAEntrypointVLD
VAProfileVP9Profile3 : VAEntrypointEncSliceLP
VAProfileHEVCMain12 : VAEntrypointVLD
VAProfileHEVCMain12 : VAEntrypointEncSlice
VAProfileHEVCMain422_10 : VAEntrypointVLD
VAProfileHEVCMain422_10 : VAEntrypointEncSlice
VAProfileHEVCMain422_12 : VAEntrypointVLD
VAProfileHEVCMain422_12 : VAEntrypointEncSlice
VAProfileHEVCMain444 : VAEntrypointVLD
VAProfileHEVCMain444 : VAEntrypointEncSliceLP
VAProfileHEVCMain444_10 : VAEntrypointVLD
VAProfileHEVCMain444_10 : VAEntrypointEncSliceLP
VAProfileHEVCMain444_12 : VAEntrypointVLD
VAProfileHEVCSccMain : VAEntrypointVLD
VAProfileHEVCSccMain : VAEntrypointEncSliceLP
VAProfileHEVCSccMain10 : VAEntrypointVLD
VAProfileHEVCSccMain10 : VAEntrypointEncSliceLP
VAProfileHEVCSccMain444 : VAEntrypointVLD
VAProfileHEVCSccMain444 : VAEntrypointEncSliceLP
VAProfileAV1Profile0 : VAEntrypointVLD
VAProfileHEVCSccMain444_10 : VAEntrypointVLD
VAProfileHEVCSccMain444_10 : VAEntrypointEncSliceLP
svayp
September 2, 2026, 8:22am
4
Excellent, VA-API works as it should - the iHD driver caught everything correctly
Now OpenGL rendering show
nix-shell -p glxinfo --run "glxinfo | grep -E 'OpenGL vendor|OpenGL renderer|OpenGL version'"
and
dmesg | grep -i i915
1 Like
Cool!
Here’s the result of glxinfo (for some reason it made me run it as mesa-demos):
OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) Iris(R) Xe Graphics (ADL GT2)
OpenGL version string: 4.6 (Compatibility Profile) Mesa 26.1.8
And the dmesg print:
[ 0.000000] Command line: initrd=\EFI\nixos\143gazi6aqpqqgaq36aqsn2ycajiwfn1-initrd-linux-7.2.1-initrd.efi init=/nix/store/lh330qdwvcy1pidj7z5xwmz8wgx076yk-nixos-system-nixos-26.05.20260827.d57af92/init i915.force_probe=46a8 i915.force_probe=46a8 root=fstab loglevel=4 lsm=landlock,yama,bpf
[ 0.029296] Kernel command line: initrd=\EFI\nixos\143gazi6aqpqqgaq36aqsn2ycajiwfn1-initrd-linux-7.2.1-initrd.efi init=/nix/store/lh330qdwvcy1pidj7z5xwmz8wgx076yk-nixos-system-nixos-26.05.20260827.d57af92/init i915.force_probe=46a8 i915.force_probe=46a8 root=fstab loglevel=4 lsm=landlock,yama,bpf
[ 6.914623] i915 0000:00:02.0: [drm] Found alderlake_p (device ID 46a8) integrated display version 13.00 stepping D0
[ 6.915660] i915 0000:00:02.0: [drm] VT-d active for gfx access
[ 6.939141] i915 0000:00:02.0: vgaarb: deactivate vga console
[ 6.939299] i915 0000:00:02.0: [drm] Using Transparent Hugepages
[ 6.947562] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/adlp_dmc.bin (v2.20)
[ 6.951407] i915 0000:00:02.0: [drm] [ENCODER:516:DDI B/PHY B] unusable PPS, disabling eDP
[ 6.952045] i915 0000:00:02.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=io:owns=io+mem
[ 6.974344] i915 0000:00:02.0: [drm] GT0: GuC firmware i915/adlp_guc_70.bin version 70.49.4
[ 6.974370] i915 0000:00:02.0: [drm] GT0: HuC firmware i915/tgl_huc.bin version 7.9.3
[ 7.023929] i915 0000:00:02.0: [drm] GT0: HuC: authenticated for all workloads
[ 7.024915] i915 0000:00:02.0: [drm] GT0: GUC: submission enabled
[ 7.024933] i915 0000:00:02.0: [drm] GT0: GUC: SLPC enabled
[ 7.025460] i915 0000:00:02.0: [drm] GT0: GUC: RC enabled
[ 7.027558] mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_ops [i915])
[ 7.034191] i915 0000:00:02.0: [drm] Registered 4 planes with drm panic
[ 7.081989] [drm] Initialized i915 1.6.0 for 0000:00:02.0 on minor 1
[ 7.095060] fbcon: i915drmfb (fb0) is primary device
[ 7.131168] sof-audio-pci-intel-tgl 0000:00:1f.3: bound 0000:00:02.0 (ops intel_audio_component_bind_ops [i915])
[ 7.135942] i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device
svayp
September 2, 2026, 8:31am
6
OpenGL renders normally.
GPU acceleration works at both the OpenGL and VA-API levels. Check if everything works after reboot. If no try to replace boot.kernelParams to
boot.kernelParams = [
"i915.enable_psr=0"
];
1 Like
Thank you so much, everything’s looking much better!
1 Like