Libvirt Fails to Use GVT-G Device (iommu_group: No such file or directory)
Hello everyone,
In the past, I was able to get GVT-G to work my Dell Precision 5510 laptop using this guide; however, I had to reinstall Fedora (29) for stability reasons. After I reimported the XML virtual machine file into libvirt, I keep getting this error:
Error starting domain: internal error: Process exited prior to exec: libvirt: error : failed to access '/sys/bus/mdev/devices/fff6f017-3417-4ad3-b05e-17ae3e1a4615/iommu_group': No such file or directory
Traceback (most recent call last):
File "/usr/share/virt-manager/virtManager/asyncjob.py", line 75, in cb_wrapper
callback(asyncjob, *args, **kwargs)
File "/usr/share/virt-manager/virtManager/asyncjob.py", line 111, in tmpcb
callback(*args, **kwargs)
File "/usr/share/virt-manager/virtManager/libvirtobject.py", line 66, in newfn
ret = fn(self, *args, **kwargs)
File "/usr/share/virt-manager/virtManager/domain.py", line 1420, in startup
self._backend.create()
File "/usr/lib64/python3.7/site-packages/libvirt.py", line 1080, in create
if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
libvirt.libvirtError: internal error: Process exited prior to exec: libvirt: error : failed to access '/sys/bus/mdev/devices/fff6f017-3417-4ad3-b05e-17ae3e1a4615/iommu_group': No such file or directory
At first, I thought I didn't enable intel_iommu
, but the grub file shows that I do have it enabled. Plus, I do get a readout of all of the IOMMU groups (by using the Arch Linux script). I also manually created the vgpu (otherwise I would get a different error).
Does anyone know what I am doing wrong here? You can find my xmldump of my windows 10 VM here.
Edit: To clarify, the mdev device does exist, but for some reason iommu_group
does not exist in the drive's folder. I used the following command to create the device:
echo fff6f017-3417-4ad3-b05e-17ae3e1a4615 | sudo tee /sys/bus/pci/devices/0000:00:02.0/mdev_supported_types/i915-GVTg_V5_8/create
If the UUIDs were different, I should be getting this error instead:
Error starting domain: device not found: mediated device 'fff6f017-3417-4ad3-b05e-17ae3e1a4615' not found
Traceback (most recent call last):
File "/usr/share/virt-manager/virtManager/asyncjob.py", line 75, in cb_wrapper
callback(asyncjob, *args, **kwargs)
File "/usr/share/virt-manager/virtManager/asyncjob.py", line 111, in tmpcb
callback(*args, **kwargs)
File "/usr/share/virt-manager/virtManager/libvirtobject.py", line 66, in newfn
ret = fn(self, *args, **kwargs)
File "/usr/share/virt-manager/virtManager/domain.py", line 1420, in startup
self._backend.create()
File "/usr/lib64/python3.7/site-packages/libvirt.py", line 1080, in create
if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
libvirt.libvirtError: device not found: mediated device 'fff6f017-3417-4ad3-b05e-17ae3e1a4615' not found
If anyone else is running into the same problem, you can find the solution here: https://github.com/intel/gvt-linux/is...