I have excitedly setup my new Ryzen 3000 series build and began following the guides to setup Looking Glass. I’ve been following the Arch Wiki up to here (Setting_up_an_OVMF-based_guest_VM) but i’ve unfortunately become stuck. No matter what i do when i open virt-manager and go to create a new VM i’m presented with a window that says.
"Connection: QEMU/KVM
Error: Host does not support any virtualization options"
I’m a bit stumped as everything has been working so far, in a nut shell i’ve done the following:
Enabled SVM, IOMMU, and SR-IOV in BIOS
Added my user to kvm and libvirt groups
Tried running virt-manager as root to see if there is any difference
Checked kernel modules are loading
Been able to successfully setup my target pass through GPU with vfio-pci
Checked CPU reports VM extensions as supported
Just wondering if anyone else has seen this before could this be something specific to Ryzen?
System Specs:
OS: Arch 5.4.10-arch1-1
CPU: AMD Ryzen 9 3900X
MB: ASUS Prime X570-PRO
RAM: 32GB
GPU (Host): AMD RX570
GPU (Passthrough): NVIDIA 2080 Super
Disks: Yes
PSU: Yes
Sound Card: Yes
I managed to check the libvirtd logs and found the following entries
Jan 12 13:53:13 n00p libvirtd[8147]: hostname: n00p
Jan 12 13:53:13 n00p libvirtd[8147]: Cannot check dnsmasq binary /usr/bin/dnsmasq: No such file or directory
Jan 12 13:53:13 n00p libvirtd[8147]: direct firewall backend requested, but /sbin/ebtables is not available: No such file or directory
Jan 12 13:53:13 n00p libvirtd[8147]: internal error: Failed to initialize a valid firewall backend
Jan 12 13:53:13 n00p libvirtd[8147]: internal error: Failed to find path for dmidecode binary
Jan 12 13:53:13 n00p libvirtd[8147]: internal error: Failed to start QEMU binary /usr/bin/qemu-system-x86_64 for probing: /usr/bin/qemu-system-x86_64: symbol lookup error: /usr/qemu-system-x86_64 for probing: /usr/bin/qemu-system-x86_64: symbol lookup error: /usr/lib/libvirglrenderer.so.1: undefined symbol: gbm_bo_unmap
Jan 12 13:53:13 n00p libvirtd[8147]: Failed to probe capabilities for /usr/bin/qemu-system-x86_64: internal error: Failed to start QEMU binary /usr/bin/qemu-system-x86_64: internal error: Failed to start QEMU binary /usr/bin/qemu-system-x86_64 for probing: /usr/bin/qemu-system-x86_64: symbol lookup error: /usr/lib/libvirglrenderer.so.1: undefined symbol: gbm_bo_unmap
Jan 12 13:53:13 n00p libvirtd[8147]: internal error: Failed to start QEMU binary /usr/bin/qemu-system-x86_64 for probing: /usr/bin/qemu-system-x86_64 for probing: /usr/bin/qemu-system-x86_64: symbol lookup error: /usr/lib/libvirglrenderer.so.1: undefined symbol: gbm_bo_unmap
Jan 12 13:53:13 n00p libvirtd[8147]: Failed to probe capabilities for /usr/bin/qemu-system-x86_64: internal error: Failed to start QEMU binary /usr/bin/qemu-system-x86_64: internal error: Failed to start QEMU binary /usr/bin/qemu-system-x86_64 for probing: /usr/bin/qemu-system-x86_64: symbol lookup error: /usr/lib/libvirglrenderer.so.1: undefined symbol: gbm_bo_unmap
Jan 12 13:53:13 n00p libvirtd[8147]: internal error: Failed to find path for dmidecode binary
Some trolling through reddit i found other people have encountered these errors. Just to be 100% sure i installed the following packages in case i needed them “dmidecode, spice, virglrenderer”. I also found some information specific to users running amdgpu-pro as this is known to cause the virglrenderer issues and i changed the libvirtd.service file adding the following line.
# Fix for "libvirt error: symbol lookup error: /usr/lib/libvirglrenderer.so.1: undefined symbol: gbm_bo_unmap"
Environment="LD_LIBRARY_PATH=/usr/lib"
As of right now if i run virt-manager as root it looks like i will be able to create a VM, running as my standard peasant user still no dice. I will continue to work on the issues and update the thread with any new information. If anyone has any tips that could come in handy more than happy to hear them.
So i’ve made some progress here, i did install the packages as mention so the logs look good when libvirtd starts.
Jan 14 11:50:33 n00p systemd[1]: Started Virtualization daemon.
Jan 14 11:50:33 n00p dnsmasq[1359]: read /etc/hosts - 3 addresses
Jan 14 11:50:33 n00p dnsmasq[1359]: read /var/lib/libvirt/dnsmasq/default.addnhosts - 0 addresses
Jan 14 11:50:33 n00p dnsmasq-dhcp[1359]: read /var/lib/libvirt/dnsmasq/default.hostsfile
I managed to get Windows installed on a VM by continuing to follow the guide on the Arch wiki. Got my GPU passthrough working and was able to run the Heaven benchmark. Great! right?
Well not really because it all suddenly stopped working, i wasn’t getting anything on my passthrough monitor i managed to see on the QXL adapter the Windows VM was boot looping with a BSOD VIDEO_TDR_FAILURE caused by the nVidia drivers. I came across a reddit post in /r/vfio that suggests adding <ioapic driver='kvm'/> to the machine config but it does not help
I’ve gone as far as creating a new VM and trying everything again in case my original was busted somehow installed a fresh Windows 10 1909 but i’m still getting the same boot loops.
Any tips as to where its all gone wrong? I’m starting to run out of ideas.
Interestingly I noticed I could see grub coming through the nvidia card on boot. I shutdown, removed the HDMI and restarted. Fired up the VM and then attached the HDMI cable, suddenly its working O.o I’ll have to do some more playing around to be sure if it was related to the HDMI cable and GRUB. What the!?
Yeah i’ll have to see if i can make any adjustments anywhere for now with all my testing i’m happy to just remember to boot without HDMI connected to the 2080.
Hmmm it’s been a few weeks so we’re testing my memory now. In my case IIRC my problem was having the amdgpu-pro drivers installed on my host system. Upon removing them i did not get that error message anymore.
Apparently from what i had read there is no real “need” for amdgpu-pro drivers these days.