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;
};
}