Hi all,
I have all AMD and I wanted to try and set the integrated GPU for passthrough for VMs and leave the discrete one for my daily use. Is this doable? If so, how complicated would it be?
Processor: Ryzen 7 5700G with Radeon vega integrated graphics card
GPU AMD RX 6600.
Thank you
It depends on what else is part of that iommu group. Because you can’t just pass through single PCI device you have to pass through everything that is part of that group
I have the same processor and an RX570. I can pass through the dGPU to the VMs and keep the iGPU for the host, but the reverse was not possible for me.
Does the motherboard matter for this? Mine is not so fancy.
Welp, I do need my dGPU for my games. VM passthrough is just something I wanted to try
Since my iGPU and dGPU have more or less the same power, for me it made no difference which one I kept for gaming.
p.s. I game inside my VM, which gets the RX570 passed through to.
deleted by creator
I haven’t looked into how to configure this but it should be possible, and you would use the motherboard HDMI port for the VM, and the ports on the dGPU for the host. As usual, the arch wiki is your friend, even if you are not using arch
But… If you don’t care about VM performance (seeing as you are passing the iGPU to it) you should look into other options like virtio or sr-iov, so you don’t need to fiddle with the HDMI ports. Please notice that virtio is paravirtualized and only works well for Linux guests, and sr-iov is real hardware virtualization and requires hardware support. Both these methods require only one GPU. Once again, look at the arch wiki and the qemu wiki.
Also, if you are using Linux guests, you should really look into “GPU native context” which is a paravirtualization method that works similarly to Hyper-V’s GPU paravirtualization (which is currently the best) and would allow almost native performance for the VM, without requiring multiple GPUs. It is not available for amdgpu yet, but you can follow development here.
P.s. if you are using windows hosts, paravirtualization methods will not be satisfactory for the foreseeable future. You will need either passthrough (like you suggested) or full virtualization (with sr-iov). I can give you more details if you like.
So I did follow a tutorial earlier and I think I got something going. One thing the tutorial didn’t mention is plugging one of the monitors into the motherboard’s HDMI. That’s why I only had one monitor when I did it? 🤦🏽♂️
Probably, if everything else is correct. GPU passthrough hands over an entire GPU to the virtual machine, so the only way of getting the output of that vm is plugging a monitor in that GPU
Makes sense. Thank you. I’ll mess with it more and see what I can come up with.
This might be of use to you:
You might still need a dummy hdmi/DP plug/adapter.
Hold on, what? So this is just something you download and run? I’ve never heard of this thing, in case this question sounds stupid. Lol
You would still need to pass the GPU through to the VM, but this can eliminate the need to plug the GPU output into another device or use a dedicated monitor.
I have never used it, but I know it is pretty common.
I checked their site and the Linux version of their app, according to them, is basically “use at your own risk”. Not fully functional nor heavily tested.