PCI passthrough: Difference between revisions

Pigs (talk | contribs)
Detailed configuration instructions on how to set everything required to configure pci passthrough
DHCP (talk | contribs)
m fix style
 
(One intermediate revision by one other user not shown)
Line 25: Line 25:
{{file|/etc/nixos/configuration.nix|nix|
{{file|/etc/nixos/configuration.nix|nix|
<nowiki>
<nowiki>
  boot.initrd.kernelModules = [  
boot.initrd.kernelModules = [  
    "vfio_pci"
  "vfio_pci"
    "vfio"
  "vfio"
    "vfio_iommu_type1"
  "vfio_iommu_type1"


    "i915" # replace or remove with your device's driver as needed
  "i915" # replace or remove with your device's driver as needed
  ];
];
</nowiki>
</nowiki>
}}
}}
Line 58: Line 58:
{{file|/etc/nixos/configuration.nix|nix|
{{file|/etc/nixos/configuration.nix|nix|
<nowiki>
<nowiki>
  boot.kernelParams = [  
boot.kernelParams = [  
    "intel_iommu=on" # or "amd_iommu=on"
  "intel_iommu=on" # or "amd_iommu=on"
    "vfio-pci.ids=1002:67b0,1002:aac8,144d:a80a"
  "vfio-pci.ids=1002:67b0,1002:aac8,144d:a80a"
  ];
];
</nowiki>
</nowiki>
}}
}}
Line 73: Line 73:
{{file|/etc/nixos/configuration.nix|nix|
{{file|/etc/nixos/configuration.nix|nix|
<nowiki>
<nowiki>
  programs.virt-manager.enable = true;
programs.virt-manager.enable = true;
  virtualisation.spiceUSBRedirection.enable = true;
virtualisation.spiceUSBRedirection.enable = true;
  virtualisation.libvirtd = {
virtualisation.libvirtd = {
    enable = true;
  enable = true;
    qemu = {
  qemu = {
      package = pkgs.qemu_kvm;
    package = pkgs.qemu_kvm;
      runAsRoot = true;
    runAsRoot = true;
      swtpm.enable = true;
    swtpm.enable = true;
      ovmf = {
        enable = true;
        packages = [(pkgs.OVMF.override {
          secureBoot = true;
          tpmSupport = true;
        }).fd];
      };
    };
   };
   };
};
</nowiki>
</nowiki>
}}
}}
Line 101: Line 94:
{{file|/etc/nixos/configuration.nix|nix|
{{file|/etc/nixos/configuration.nix|nix|
<nowiki>
<nowiki>
  users.extraUsers.myUser.extraGroups = [ "libvirtd" ];
users.extraUsers.myUser.extraGroups = [ "libvirtd" ];
</nowiki>
</nowiki>
}}
}}