Trouble swtiching to the latest kernel

Running into an issue when trying to switch to the latest kernal. I add the lines boot.kernelPackages = pkgs.linuxPackages_latest; to my config and when I rebuild the system I get the error:

error: builder for '/nix/store/yv8d9l9xwrm7frncjra2gqw750z50yln-linux-6.8-modules-shrunk.drv' failed with exit code 1;
       last 10 log lines:
       >   dependency already copied: /nix/store/v8m8z2mrxvcr06wwrvazr0cm8hrl9s0c-linux-6.8-modules/lib/modules/6.8.0/kernel/drivers/vfio/vfio.ko.xz
       >   dependency already copied: /nix/store/v8m8z2mrxvcr06wwrvazr0cm8hrl9s0c-linux-6.8-modules/lib/modules/6.8.0/kernel/drivers/iommu/iommufd/iommufd.ko.xz
       >   dependency already copied: /nix/store/v8m8z2mrxvcr06wwrvazr0cm8hrl9s0c-linux-6.8-modules/lib/modules/6.8.0/kernel/drivers/vfio/vfio.ko.xz
       >   dependency already copied: /nix/store/v8m8z2mrxvcr06wwrvazr0cm8hrl9s0c-linux-6.8-modules/lib/modules/6.8.0/kernel/drivers/vfio/vfio_iommu_type1.ko.xz
       > root module: vfio_iommu_type1
       >   dependency already copied: /nix/store/v8m8z2mrxvcr06wwrvazr0cm8hrl9s0c-linux-6.8-modules/lib/modules/6.8.0/kernel/drivers/iommu/iommufd/iommufd.ko.xz
       >   dependency already copied: /nix/store/v8m8z2mrxvcr06wwrvazr0cm8hrl9s0c-linux-6.8-modules/lib/modules/6.8.0/kernel/drivers/vfio/vfio.ko.xz
       >   dependency already copied: /nix/store/v8m8z2mrxvcr06wwrvazr0cm8hrl9s0c-linux-6.8-modules/lib/modules/6.8.0/kernel/drivers/vfio/vfio_iommu_type1.ko.xz
       > root module: vfio_virqfd
       > modprobe: FATAL: Module vfio_virqfd not found in directory /nix/store/v8m8z2mrxvcr06wwrvazr0cm8hrl9s0c-linux-6.8-modules/lib/modules/6.8.0
       For full logs, run 'nix log /nix/store/yv8d9l9xwrm7frncjra2gqw750z50yln-linux-6.8-modules-shrunk.drv'.
error: 1 dependencies of derivation '/nix/store/4py6b5r3xaksvvlvap338lp8z1gkirh0-initrd-linux-6.8.drv' failed to build
error: 1 dependencies of derivation '/nix/store/ydp6rwagjv48kwx3hkwzv8l05z3vxbix-nixos-system-nixos-23.11.20240312.51063ed.drv' failed to build

Seems like its related to my VFIO so Ill post my vifo config below:

{ config, pkgs, lib, ...}:


let
  # AMD Radeon RX 6800
  gpuIDs = [
    "1002:73bf" # VGA
		"1002:ab28" # Audio Device
		"1002:73a6" # USB Controller
		"1002:73a4" # Serial bus Controller
		"1002:1478" # PCI Bridge Upstream
		"1002:1479" # PCI Bridge Down Stream
  ];
in {
  options.vfio.enable = with lib;
    mkEnableOption "Configure the machine for VFIO";

  config = let cfg = config.vfio;
  in {
    boot = {
      initrd.kernelModules = [
        "kvm-intel"
        "kvm-amd" # Some guide reccomended that I use boot.kernelModules = ["kvm-amd kvm-intel"] but that does work and this does. Maybe look into it later.
        "vfio_pci"
        "vfio"
        "vfio_iommu_type1"
        "vfio_virqfd"

        "amdgpu"
      ];

      kernelParams = [
        # enable IOMMU
        "intel_iommu=on"
        # Helps prevent screentearing and other issues.
        "iommu=pt"
      ] ++ lib.optional cfg.enable
        # isolate the GPU
        ("vfio-pci.ids=" + lib.concatStringsSep "," gpuIDs);

      postBootCommands = ''
        # Setup Looking Glass shared memory object
        touch /dev/shm/looking-glass
        chown itua:kvm /dev/shm/looking-glass
        chmod 660 /dev/shm/looking-glass
      '';
    };



    hardware.opengl.enable = true;
    virtualisation.spiceUSBRedirection.enable = true;

  };


}

is no longer a separate kernel module[1] - just remove it from your config.

[1] vfio: Fold vfio_virqfd.ko into vfio.ko - kernel/git/torvalds/linux.git - Linux kernel source tree

1 Like

That was it. Thank you!