GPU Passthrough Issues for Pop_OS VM on Fedora Workstation Host


Many of the posts, and the guides in particular, seem to focus on PCIe passthrough to a Windows VM on a linux host. I have managed to do this successfully on a NUC8i7HVK.

However, when I attempt to effectively implement the same methodology for a Pop_OS VM, it doesn’t work.

Is there something fundamentally different in setting up a linux VM on a linux host, or have I just done something wrong (details below)?

I have successfully used the following virt-install command to setup Pop_OS on the qcow2 volume, and it is encrypted with the inbuilt encryption option.

However, when I attempted to start Pop_OS with the dGPU ( pci_0000_01_00_0 and pci_0000_01_00_1 ) or iGD ( pci_0000_00_02_0 ) being passed through, the VM starts fine, but the VNC window just shows a grey screen. Both the VM and host crash soon after.

virt-install \
--name rahvin \
--boot uefi,loader=/usr/share/OVMF/OVMF_CODE.fd,loader_ro=yes,loader_type=pflash \
--description “rahvin_popos”\
--ram=8192 \
--arch x86_64 \
--machine pc-q35-3.0 \
--memorybacking hugepages=yes \
--vcpus 4,placement=static,cores=4,sockets=1,threads=1 \
--cputune vcpupin0.vcpu=0,vcpupin0.cpuset=1,vcpupin1.vcpu=1,vcpupin1.cpuset=5,vcpupin2.vcpu=2,vcpupin2.cpuset=2,vcpupin3.vcpu=3,vcpupin3.cpuset=6 \
--cpu host-passthrough,cache.mode=passthrough \
--disk path=/choedankal/vms/rahvin.qcow2,size=50,bus=virtio \
--disk /choedankal/iso/pop-os_18.04_amd64_intel_57.iso,device=cdrom,bus=sata \
--check path_in_use=off \
--os-type linux \
--os-variant popos18.04 \
--memballoon none \
--network bridge=br0 \
--graphics vnc,listen=,port=5902 --noautoconsole \
--host-device pci_0000_00_14_0 \
--host-device pci_0000_00_14_2 \
--host-device pci_0000_03_00_0 \
--host-device pci_0000_3d_00_0 \
--print-xml >> /choedankal/vms/xml/rahvin.xml

L1T post on my system and previous issues:
Reddit post on my system and previous issues:

Thanks in advance!