Libvirt / unsupported configuration

I’m encountering an error message while attempting to create a virtual machine with libvirt
libvirt… LibvirtError: unsupported configuration: domain configuration does not support video model ‘virtio’

My kernel is 5.14.0-503.15.1.el9_5.x86_64 in Rocky 9.5

Probably best if you show the exact commands you used, and whether you were creating as root or standard user.

Maybe one of these packages needs to be installed?

root@rocky9:~# dnf list qemu* | grep -i virt
qemu-kvm-device-display-virtio-gpu.x86_64       17:9.0.0-10.el9_5.2    appstream
qemu-kvm-device-display-virtio-gpu-pci.x86_64   17:9.0.0-10.el9_5.2    appstream
qemu-kvm-device-display-virtio-vga.x86_64       17:9.0.0-10.el9_5.2    appstream

Hello iwalker Following a thread ( https://bugs.launchpad.net/nova/+bug/2018172 ), I did

grubby --update-kernel ALL --args intel_iommu=on

and seems to solve the problem

The packages are already installed
qemu-kvm-device-display-virtio-gpu-9.0.0-10.el9_5.2.x86_64
qemu-kvm-device-display-virtio-gpu-pci-9.0.0-10.el9_5.2.x86_64
qemu-kvm-device-display-virtio-vga-9.0.0-10.el9_5.2.x86_64

Thank you very much

1 Like

Strange, on my Rocky 9 I have this:

root@kvm:~# dmesg | grep -i iommu
[    0.000000] Command line: BOOT_IMAGE=(hd0,gpt2)/vmlinuz-5.14.0-503.22.1.el9_5.x86_64 root=/dev/mapper/rl_kvm-root ro rd.lvm.lv=rl_kvm/root intel_iommu=on
[    0.000000] Kernel command line: BOOT_IMAGE=(hd0,gpt2)/vmlinuz-5.14.0-503.22.1.el9_5.x86_64 root=/dev/mapper/rl_kvm-root ro rd.lvm.lv=rl_kvm/root intel_iommu=on
[    0.000000] DMAR: IOMMU enabled

but nowhere is it enabled in grub. That said I did do a group install rather than only select certain packages.

I see some Dell servers (Rn40 series) that do not have intel_iommu=on on the cmdline, yet libvirtd is ok with ‘virtio’. Perhaps Dell BIOS talks with kernel more than others?


Group install, like dnf group install virtualization-hypervisor
which has only two (mandatory) packages: libvirtand qemu-kvm
The latter pulls in multiple qemu-kvm-* packages. Therefore, if the “certain packages” are libvirt and qemu-kvm, then it is practically same as group Virtualization Hypervisor.


None of those does, AFAIK, add kernel cmdline options. It is left to the user to know whether they need IOMMU and specifically whether the intel_iommu=on is the correct word for their hardware.


The BLS entries are in /boot/loader/entries/ by default. That is where the kernelopts are set.
The entries get their content from grubby; options from /etc/kernel/cmdline
The /etc/defaults/grub may or may not be in sync. (Ideally, it should be kept in sync.)


PS. I was just looking at the “postinstall” scripts of NVidia proprietary RPMs from NVidia’s CUDA repo and from ELRepo. Both do add kernelopts. Both/either do not synchronously update all the spots that could affect kernelopts for the next installed kernel in el9.
Its a mess.

Hi iwalker,
I’m using libvirtd from openstack. Normally this one installs all dependency with.
That was true in Rocky8, now in Rocky9 I see that you have to make some adjustments. For example libvirtd I had to install it by hand. Plus I also found the latter problem with the virtio driver.