diff --git a/nixos/configurations/Tytonidae/default.nix b/nixos/configurations/Tytonidae/default.nix index ac33c78..1ad1efd 100644 --- a/nixos/configurations/Tytonidae/default.nix +++ b/nixos/configurations/Tytonidae/default.nix @@ -10,7 +10,7 @@ (with inputs.nixos-hardware.nixosModules; [ common-hidpi common-cpu-intel - common-gpu-nvidia + # common-gpu-nvidia common-pc-laptop common-pc-laptop-ssd asus-battery diff --git a/nixos/configurations/Tytonidae/hardware.nix b/nixos/configurations/Tytonidae/hardware.nix index fa621af..0fa39a1 100644 --- a/nixos/configurations/Tytonidae/hardware.nix +++ b/nixos/configurations/Tytonidae/hardware.nix @@ -12,7 +12,7 @@ enable = true; enableUdevRules = true; }; - xserver.videoDrivers = ["nvidia"]; + # xserver.videoDrivers = ["nvidia"]; }; nix = { settings = { @@ -29,26 +29,50 @@ driver = "xe"; vaapiDriver = "intel-media-driver"; }; - nvidia = { - # Fix Nvidia API Change, See - package = config.boot.kernelPackages.nvidiaPackages.beta; - modesetting.enable = true; - open = true; - prime = { - reverseSync.enable = lib.mkDefault false; - offload.enable = lib.mkDefault true; - intelBusId = "PCI:0:2:0"; - nvidiaBusId = "PCI:1:0:0"; - }; - }; + # nvidia = { + # # Fix Nvidia API Change, See + # package = config.boot.kernelPackages.nvidiaPackages.beta; + # modesetting.enable = true; + # open = true; + # prime = { + # reverseSync.enable = lib.mkDefault false; + # offload.enable = lib.mkDefault true; + # intelBusId = "PCI:0:2:0"; + # nvidiaBusId = "PCI:1:0:0"; + # }; + # }; }; boot = { extraModulePackages = with config.boot.kernelPackages; [ddcci-driver]; + kernelParams = [ + "intel_iommu=on" + "iommu=pt" + ]; kernelModules = [ "ddcci" "ddcci-backlight" "i2c-dev" + "vfio-pci.ids=10de:2520,10de:228e" ]; + initrd.kernelModules = [ + "vfio_pci" + "vfio" + "vfio_iommu_type1" + ]; + blacklistedKernelModules = [ + "nouveau" + "nvidia" + "nvidia_drm" + "nvidia_modeset" + "nvidia_uvm" + ]; + extraModprobeConfig = '' + options vfio-pci ids=10de:2520,10de:228e + softdep nvidia pre: vfio-pci + softdep nouveau pre: vfio-pci + softdep nvidia_drm pre: vfio-pci + softdep nvidia_modeset pre: vfio-pci + ''; binfmt = { emulatedSystems = [ "aarch64-linux" diff --git a/nixos/configurations/Tytonidae/specialisation/niri-dgpu.nix b/nixos/configurations/Tytonidae/specialisation/niri-dgpu.nix index 3683ddc..fe4b6b6 100644 --- a/nixos/configurations/Tytonidae/specialisation/niri-dgpu.nix +++ b/nixos/configurations/Tytonidae/specialisation/niri-dgpu.nix @@ -1,15 +1,15 @@ {inputs, ...}: { - config.specialisation.niri-dgpu = { - inheritParentConfig = true; - configuration = { - disabledModules = [ - inputs.nixos-hardware.nixosModules.common-gpu-nvidia - ]; - imports = [inputs.nixos-hardware.nixosModules.common-gpu-nvidia-nonprime]; - hardware.nvidia.prime = { - reverseSync.enable = true; - offload.enable = false; - }; - }; - }; + # config.specialisation.niri-dgpu = { + # inheritParentConfig = true; + # configuration = { + # disabledModules = [ + # inputs.nixos-hardware.nixosModules.common-gpu-nvidia + # ]; + # imports = [inputs.nixos-hardware.nixosModules.common-gpu-nvidia-nonprime]; + # hardware.nvidia.prime = { + # reverseSync.enable = true; + # offload.enable = false; + # }; + # }; + # }; } diff --git a/nixos/modules/virtualisation/kvm.nix b/nixos/modules/virtualisation/kvm.nix index 897934f..767cb87 100644 --- a/nixos/modules/virtualisation/kvm.nix +++ b/nixos/modules/virtualisation/kvm.nix @@ -23,10 +23,15 @@ in { enable = true; }; users.groups.libvirtd.members = [cfg.unixName]; + users.groups.kvm.members = [cfg.unixName]; virtualisation = { libvirtd = { enable = true; - qemu.vhostUserPackages = with pkgs; [virtiofsd]; + qemu = { + runAsRoot = true; + swtpm.enable = true; + vhostUserPackages = with pkgs; [virtiofsd]; + }; }; spiceUSBRedirection = { enable = true;