From ab6e49cab5551524c27d865bb51c619ba63d3484 Mon Sep 17 00:00:00 2001 From: chayleaf Date: Wed, 12 Jul 2023 14:59:52 +0700 Subject: [PATCH] vfio/lookingGlass: more robust way of applying overlay --- pkgs/default.nix | 2 +- system/modules/vfio.nix | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/default.nix b/pkgs/default.nix index 4b13e2b..b9ce40a 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -35,7 +35,7 @@ in fetchSubmodules = true; }; }); - kvmfrOverlay = pkgs.linuxPackages_latest.kvmfr.overrideAttrs (old: { + kvmfrOverlay = kvmfr: kvmfr.overrideAttrs (old: { inherit (pkgs'.looking-glass-client) version src; patches = [ ./kvmfr-linux6_4.patch ]; }); diff --git a/system/modules/vfio.nix b/system/modules/vfio.nix index 4158aee..7aa3b40 100644 --- a/system/modules/vfio.nix +++ b/system/modules/vfio.nix @@ -130,8 +130,11 @@ in { "vfio_iommu_type1" "vfio_pci" ]; + # kvmfrOverlay is defined in pkgs/default.nix + # I use it to keep looking-glass and kvmfr's version pinned + # (and in this case also to keep linux 6.4 compatibility) extraModulePackages = - lib.mkIf enableIvshmem [ (pkgs.kvmfrOverlay or config.boot.kernelPackages.kvmfr) ]; + lib.mkIf enableIvshmem [ ((pkgs.kvmfrOverlay or lib.id) config.boot.kernelPackages.kvmfr) ]; extraModprobeConfig = '' options vfio-pci ids=${builtins.concatStringsSep "," cfg.pciIDs} disable_idle_d3=1 options kvm ignore_msrs=1