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;