feat: Disable nvidia driver for dgpu passthrough
This commit is contained in:
parent
06b908a2e4
commit
bfef1951a3
4 changed files with 57 additions and 28 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 <https://github.com/NixOS/nixpkgs/issues/467814/>
|
||||
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 <https://github.com/NixOS/nixpkgs/issues/467814/>
|
||||
# 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"
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue