diff options
Diffstat (limited to '')
| -rw-r--r-- | modules/virtualization.nix | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/modules/virtualization.nix b/modules/virtualization.nix index a92ffb9..02d5d93 100644 --- a/modules/virtualization.nix +++ b/modules/virtualization.nix @@ -51,6 +51,36 @@ in systemctl set-property --runtime -- system.slice AllowedCPUs="" systemctl set-property --runtime -- init.scope AllowedCPUs="" '') + + (pkgs.writeShellScriptBin "vfio-bind" '' + sudo modprobe -r nvidia_drm nvidia_modeset nvidia_uvm i2c_nvidia_gpu nvidia + + sudo modprobe vfio + sudo modprobe vfio_iommu_type1 + sudo modprobe vfio_pci + + systemctl --user -M compromyse@ stop pipewire.service pipewire.socket + + sudo virsh nodedev-detach pci_0000_01_00_0 + sudo virsh nodedev-detach pci_0000_01_00_1 + + systemctl --user -M compromyse@ restart pipewire.service pipewire.socket + '') + + (pkgs.writeShellScriptBin "vfio-unbind" '' + systemctl --user -M compromyse@ stop pipewire.service pipewire.socket + + sudo virsh nodedev-reattach pci_0000_01_00_0 + sudo virsh nodedev-reattach pci_0000_01_00_1 + + systemctl --user -M compromyse@ restart pipewire.service pipewire.socket + + sudo modprobe -r vfio_pci + sudo modprobe -r vfio_iommu_type1 + sudo modprobe -r vfio + + sudo modprobe nvidia_drm nvidia_modeset nvidia_uvm i2c_nvidia_gpu nvidia + '') ]; boot = { |
