System/machines/levitation/passthrough.nix

39 lines
968 B
Nix
Raw Normal View History

2023-07-01 17:41:02 -04:00
{ config, lib, pkgs, ... }:
let
gpuIDs = [
# 2080 super
"10de:1e81" # Graphics
"10de:10f8" # Audio
"10de:1ad8" # Usb ????
"10de:1ad9" # Usb ????
];
in {
boot = {
kernelParams = [
# enable iommu
"amd_iommu=on"
# Isolate the nvidia gpu
("vfio-pci.ids=" + lib.concatStringsSep "," gpuIDs)
];
# Modules needed
initrd.kernelModules = [ "vfio_pci" "vfio" "vfio_iommu_type1" ];
};
environment.systemPackages = with pkgs; [ looking-glass-client ];
virtualisation.spiceUSBRedirection.enable = true;
virtualisation.libvirtd = {
qemu = {
swtpm.enable = true;
ovmf = {
enable = true;
packages = [ pkgs.OVMFFull.fd ];
};
};
};
systemd.tmpfiles.rules =
[ "f /dev/shm/looking-glass 0660 nathan qemu-libvirtd -" ];
2023-07-03 20:16:37 -04:00
# Setup bridge
networking.bridges = { "qemu-br0" = { interfaces = [ "enp6s0" ]; }; };
2023-07-03 20:26:22 -04:00
networking.interfaces."qemu-br0".useDHCP = true;
2023-07-01 17:41:02 -04:00
}