Hello,
I recently tried nested virtualization using kvm/qemu with virt-manager. on artix open-rc.
On the bare-metal host, virtualization works using the QXL video driver or GPU passthrough.
However, using virtio does not.
The same when I try any configuration inside the guest OS when trying to start a vm there. Even QXL does not work there.
The error message I get is:
«internal error: QEMU unexpectedly closed the monitor (vm='test'): 2024-01-05T01:51:24.957117Z qemu-system-x86_64: warning: This family of AMD CPU doesn't support hyperthreading(2)
Please configure -smp options properly or try enabling topoext feature.
2024-01-05T01:51:24.993612Z qemu-system-x86_64: -device {"driver":"virtio-vga-gl","id":"video0","max_outputs":1,"bus":"pcie.0","addr":"0x1"}: opengl is not available»
Traceback (most recent call last):
File "/usr/share/virt-manager/virtManager/asyncjob.py", line 72, in cb_wrapper
callback(asyncjob, *args, **kwargs)
File "/usr/share/virt-manager/virtManager/createvm.py", line 2008, in _do_async_install
installer.start_install(guest, meter=meter)
File "/usr/share/virt-manager/virtinst/install/installer.py", line 695, in start_install
domain = self._create_guest(
^^^^^^^^^^^^^^^^^^^
File "/usr/share/virt-manager/virtinst/install/installer.py", line 637, in _create_guest
domain = self.conn.createXML(initial_xml or final_xml, 0)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/libvirt.py", line 4523, in createXML
raise libvirtError('virDomainCreateXML() failed')
libvirt.libvirtError: internal error: QEMU unexpectedly closed the monitor (vm='test'): 2024-01-05T01:51:24.957117Z qemu-system-x86_64: warning: This family of AMD CPU doesn't support hyperthreading(2)
Please configure -smp options properly or try enabling topoext feature.
2024-01-05T01:51:24.993612Z qemu-system-x86_64: -device {"driver":"virtio-vga-gl","id":"video0","max_outputs":1,"bus":"pcie.0","addr":"0x1"}: opengl is not available
things I tried:
I checked /proc/cpuinfo and the cpu does support virtualization
configuring to use only one thread per core makes the first error go away but not the second with the gpu driver, and it should still work anyway.
starting virtio gpu drivers with "sudo modprobe virtio_gpu" enables the bare-metal host to start a vm with virtio gfx drivers, but without 3d acceleration. In the guest OS nothing changed.
using glxgears shows that openGL is supported on both host and guest.
the cpu configuration is set to host-passthrough btw.
The same setup also worked on Mint and Arch so it has to be something Artix does different. If anyone can help it would be appreciated.