Skip to main content
Topic: nested virtualization / openGL not working on kvm qemu (Read 873 times) previous topic - next topic
0 Members and 2 Guests are viewing this topic.

nested virtualization / openGL not working on kvm qemu

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:

Spoiler (click to show/hide)

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.

 

Re: nested virtualization / openGL not working on kvm qemu

Reply #1
Virtio video is broken since the recent qemu 8.2 release.

artist

Re: nested virtualization / openGL not working on kvm qemu

Reply #2
Virtio video is broken since the recent qemu 8.2 release.
virtio-vga-gl still works:
Code: [Select]
qemu-system-x86_64 -enable-kvm -cpu host -smp cores=4 -m 4G -vga none -device virtio-vga-gl -display sdl,gl=on

Re: nested virtualization / openGL not working on kvm qemu

Reply #3
Virtio video is broken since the recent qemu 8.2 release.

artist
I tried downgrading to 8.1.2-1 and that seemed to improve behaviour although I still have some issues.The downgrade was at 2023/10/07 all of the qemu/libvirt/virt-* packages.

I use virt-manager, but it seems hard to work out which of the many hardware options I should use. Arch linux has a good wiki for libvirt, but I am probably a bit stupid.