JG-mirror/GPU_passthrough
2024-01-29 22:08:12 -05:00
..
readme.md Add IOMMU verify line from video 2024-01-29 22:08:12 -05:00

  1. In your PC/Laptop/Server BIOS make sure the following is enabled in the BIOS:

Intel VT-d & VT-x Intel Compatible list All AMD CPUs from Bulldozer onwards should be compatible.

  1. Get device IDs: lspci -nn

  2. Enable IOMMU in GRUB (check Intel or AMD commands below - choose the right one) nano /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"

GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on"

Verify that IOMMU is enabled by running dmesg | grep -e DMAR -e IOMMU and looking for a line indicating it is enabled

Save and exit

  1. run the command "update-grub" now reboot

  2. Enable VFIO Modules nano /etc/modules Add the following modules:

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

Then, save and exit

  1. update-initramfs -u -k all and reboot

  2. GPU Isolation From the Host (amend the below to include the IDs of the device you want to isolate)

echo "options vfio-pci ids=10de:1381,10de:0fbc disable_vga=1" > /etc/modprobe.d/vfio.conf

  1. Blacklist GPU drivers (here are all that you would ever need)
echo "blacklist radeon" >> /etc/modprobe.d/blacklist.conf 
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf 
echo "blacklist nvidia" >> /etc/modprobe.d/blacklist.conf 
echo "blacklist nvidiafb" >> /etc/modprobe.d/blacklist.conf
echo "blacklist nvidia_drm" >> /etc/modprobe.d/blacklist.conf
  1. Create a new VM and add the GPU via hardware menu You may need to set it as primary GPU You may need to add a ROM BAR