Integrated GPU Passthrough to a Virtual Machine in Proxmox (Step-by-Step Tutorial)
Vložit
- čas přidán 17. 04. 2024
- Welcome to our comprehensive guide on how to pass through an Intel integrated GPU to a virtual machine using Proxmox!
In this video, we'll walk you through the step-by-step process of configuring Proxmox to allow direct access of your Intel integrated GPU to a virtual machine, unlocking its full potential for gaming, graphic design, or any other GPU-intensive tasks.
This example was tested with an Intel I5-7600 CPU with a HD Graphics 630 iGPU
Step by Step tasks:
Step 1: Edit GRUB
Execute: nano /etc/default/grub
Change this line from
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
to
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on i915.enable_gvt=1 iommu=pt pcie_acs_override=downstream,multifunction video=efifb:off video=vesa:off vfio_iommu_type1.allow_unsafe_interrupts=1 kvm.ignore_msrs=1 modprobe.blacklist=radeon,nouveau,nvidia,nvidiafb,nvidia-gpu"
Save file and exit the text editor
Step 2: Update GRUB
Execute the command: update-grub
Step 3: Edit the module files
Execute: nano /etc/modules
Add these lines:
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
kvmgt
Save file and exit the text editor
Step 4: IOMMU remapping
a) Execute: nano /etc/modprobe.d/iommu_unsafe_interrupts.conf
Add this line:
options vfio_iommu_type1 allow_unsafe_interrupts=1
Save file and exit the text editor
b) Execute: nano /etc/modprobe.d/kvm.conf
Add this line:
options kvm ignore_msrs=1
Save file and exit the text editor
Step 5: Blacklist the GPU drivers
Execute: nano /etc/modprobe.d/blacklist.conf
Add these lines:
blacklist radeon
blacklist nouveau
blacklist nvidia
blacklist nvidiafb
Save file and exit the text editor
Step 6: Adding GPU to VFIO
a) Execute: lspci -v
Look for your GPU and take note of the first set of numbers
b) Execute: lspci -n -s (PCI card address)
This command gives you the GPU vendors number.
c) Execute: nano /etc/modprobe.d/vfio.conf
Add this line with your GPU number and Audio number:
options vfio-pci ids=(GPU number,Audio number) disable_vga=1
Save file and exit the text editor
Step 7: Command to update everything and Restart
a) Execute: update-initramfs -u
b) Then restart the your Proxmox Node
Amazing, exact same iGPU worked flawlessly thanks alot!
Hello again, also I think you didnt include the audio for igpu is due to the IOmmu conflict with the network device (this possibly would make your video very long.). I bypassed this by getting a usb3 ethernet dongle (tp=-ink) and unplugged the network device so its not being used. Add the Pcie audio device with functions and Rom unchecked and you have audio in your Windows. Linux you follow the same info in the video. Also use Seabios and i440 for Windows. Not sure how you used OVMF and Q35 but good job. Good luck!
I really appreciate this video. It helped me tremendously. I'm using Proxmox with a desktop environment as well. Having a way to make all the VMs transmit audio back to the main console is the only thing left I need to do.
Hi there, I'm glad to hear that the video was helpful! Just a heads up, integrated graphics (iGPU) typically do not support audio output. To get audio, you'll need to use either an audio card or a USB sound card.
@@HomeTechAutomation-er7ix I'm using scream for Windows and that's working now. Next step is setting up PavuControl for the Debians stuff
@@HomeTechAutomation-er7ix Yep I have USB based speakers attached to the Proxmox console. I got audio from Windows working with Scream. Just need to finish the linux VMs with PavuControl
Excellent video. I would be really interested to see this working with a linux desktop VM?
what about amd igpus? Any guide for 780m?
Great Video! How would the VM setting need to look if I'm running a Ubuntu VM?
where you get gpu number 2:24 ?
I did this with my pentium G4560. The GVT-G or split passthrough works well but I cannot do any full igpu passthrough sadly.
need guide to do iGPU for Ryzen instead of Intel any chances?
Great! Thanks, this broke my VM it wont start anymore...
Wich CPU was tested? Does this work with Jasper Lake ?
The tutorial is based on an Intel i5-7600 with an integrated GPU: HD630.
What about outputting video over hdmi? My screen stays off when I boot the vm.
Once you passthrough your GPU you will lose the video out of the gpu.. I have an intel i5 with integrated graphics and a PCI-E GPU that I pass through, when I pass through my PCI-E GPU I have to login using remote desktop to access the VM. I setup my VM without passing through the gpu first and set a static IP so that when I changed to pass through I could just login after the VM started running. If you have guest agent setup on your VM and selected in proxmox it should display your VM's IP outside of it so you can remote in.
Ubuntu vm can output to monitor but win 11 can not.
That’s because you’ve passed the entire iGPU or GPU to Ubuntu. There isn’t one left for Windows.
Some iGPUs / GPUs have the ability to be partitioned into parts.
NVIDIA has NVIDIA Grid for example.
This is for amd or intel?
I used an intel iGPU in my example.
for ryzen 5700U dont work