diff --git a/Linux/GPU Passthrough.md b/Linux/GPU Passthrough.md index 9b6c977..db8148f 100644 --- a/Linux/GPU Passthrough.md +++ b/Linux/GPU Passthrough.md @@ -38,17 +38,19 @@ In my case, I get sudo vim /etc/modprobe.d/vfio.conf ``` -### Arch +> ### Arch +> +> ```bash +> options vfio-pci ids=10de:28a0,10de:22be +> ``` -```bash -options vfio-pci ids=10de:28a0,10de:22be -``` - -### Fedora - -options vfio-pci ids=10de:28a0,10de:22be disable_vga=1 -softdep nvidia pre: vfio-pci -softdep nouveau pre: vfio-pci +> ### Fedora +> +> ```bash +> options vfio-pci ids=10de:28a0,10de:22be disable_vga=1 +> softdep nvidia pre: vfio-pci +> softdep nouveau pre: vfio-pci +> ``` ## Blacklist GPU @@ -56,24 +58,83 @@ softdep nouveau pre: vfio-pci sudo vim /etc/modprobe.d/blacklist-gpu.conf ``` -### Arch +> ### Arch +> +> ``` +> blacklist nouveau +> blacklist nvidia +> blacklist nvidia_drm +> blacklist nvidia_modeset +> ``` -``` -blacklist nouveau -blacklist nvidia -blacklist nvidia_drm -blacklist nvidia_modeset +> ### Fedora +> +> ``` +> blacklist nouveau +> blacklist nvidia +> blacklist nvidia_drm +> blacklist nvidia_modeset +> blacklist nvidia_uvm +> blacklist rivafb +> blacklist nvidiafb +> blacklist snd_hda_intel +> ``` + +## Load VFIO + +> ### Arch +> +> ```bash +> sudo vim /etc/mkinitcpio.conf +> ``` +> +> ``` +> MODULES=(vfio vfio_iommu_type1 vfio_pci) +> ``` +> +> ``` +> sudo mkinitcpio -P +> sudo reboot +> ``` + +> ### Fedora +> +> ```bash +> sudo vim /etc/dracut.conf.d/10-vfio.conf +> ``` +> +> ``` +> force_drivers+=" vfio vfio_iommu_type1 vfio_pci " +> ``` +> +> ```bash +> sudo dracut -f +> ``` +> +> ```bash +> sudo reboot +> ``` + +### Confirm Kernel Driver + +```bash +lspci -nnk -d 10de:28a0 ``` -### Fedora +```bash +lspci -nnk -d 10de:22be +``` -``` -blacklist nouveau -blacklist nvidia -blacklist nvidia_drm -blacklist nvidia_modeset -blacklist nvidia_uvm -blacklist rivafb -blacklist nvidiafb -blacklist snd_hda_intel -``` +## Install Virtualization Stack + +> ### Arch +> +> ```bash +> sudo pacman -S --needed virt-manager qemu-full libvirt dnsmasq ovmf swtpm +> ``` + +> ### Fedora +> +> ```bash +> sudo dnf install @virtualization virt-manager qemu-kvm libvirt-daemon-config-network libvirt-daemon-kvm bridge-utils edk2-ovmf swtpm +> ```