libvirt makes an assumption that if you specify "-vga qxl" instead of "-device qxl-vga,...", the vga device will be connected to slot 2. I learned this in a recent discussion about a bug caused by switching over to using the former syntax (in order to support multiheaded QXL):
https://bugzilla.redhat.com/show_bug.cgi?id=981094#c9 Since then, while working on proper support for the q35 machine type in libvirt, I did a test run of: qemu-kvm -M q35 -nodefaults -nodefconfig -qmp unix:/tmp/qemu,server -vnc :15 -vga std -usb Then ran "query-pci" in the qmp monitor and found that the vga device is put at slot 1 instead of slot 2. My questions: 1) Is this difference intentional, or a bug? 2) If it's intentional, will the device always be at slot 1 (and trigger an error if something else is also placed at slot 1), or is it just picking the first unused slot? (that would *not* be good, because we must be able to predict what device is in which slot and prevent them from changing from run to run). 3) Does the qxl multihead support really require that the device be at slot 2 (as stated in the above bugzilla commend)? Or is that just a misunderstanding/overstatement?