On 01/04/2013 08:30 AM, Doug Goldstein wrote:
On Thu, Jan 3, 2013 at 5:58 PM, Zeeshan Ali (Khattak)
<zeeshanak@gnome.org> wrote:
On Thu, Jan 3, 2013 at 11:44 PM, Zeeshan Ali (Khattak)
<zeeshanak@gnome.org> wrote:
Hi,
  I updated my libvirt git clone and install yesterday (after about a
month or so) and now I can't start domains:

$ virsh start fedora18
error: Failed to start domain fedora18
error: unsupported configuration: This QEMU does not support QXL
graphics adapters

While libvirt is self-built, I'm using qemu 1.2.2-1.fc18 from vanila
Fedora 18 repo. Just to be clear, qemu was not updated before the
problem appeared, only libvirt.

Here is the libvirtd log:
http://static.fi/~zeenix/tmp/libvirtd-session-zeenix.log (13 MB).

Also attaching the domain config.
If my `git bisect run` script worked, I've found the commit
introducing this issue:

4c993d8ab5473334e9d4155faa913476ada39069 is the first bad commit
commit 4c993d8ab5473334e9d4155faa913476ada39069
Author: Guannan Ren <gren@redhat.com>
Date:   Fri Dec 14 15:06:31 2012 +0800

    qemu: add qemu vga devices caps and one cap to mark them usable

    QEMU_CAPS_DEVICE_QXL          -device qxl
    QEMU_CAPS_DEVICE_VGA          -device VGA
    QEMU_CAPS_DEVICE_CIRRUS_VGA   -device cirrus-vga
    QEMU_CAPS_DEVICE_VMWARE_SVGA  -device vmware-svga

    QEMU_CAPS_DEVICE_VIDEO_PRIMARY  /* safe to use -device XXX
                                     for primary video device */

    Fix a typo in qemuCapsObjectTypes, the string 'qxl' here
    should be -device qxl rather than -vga [...|qxl|..]

:040000 040000 576dc9f1e74fae8b5d8c75349cc769e17c5f7758
5afc50956ad09cf6e740ce75800d746a53513271 M      src
:040000 040000 0b95704f11e9aacbd4c6510e29343a497c52c11e
fbd9445a795a2814d8739805ebaf9c7c2f0d4160 M      tests
bisect run success

FWIW, problem is not reproducible against the parent commit
34ca5684970fc5e4be0ec29809b73dea7be2d84f.

--
Regards,

Zeeshan Ali (Khattak)
FSF member#5124

Basically for some reason we tried to build the command line up as
qemu-kvm ... -vga qxl instead of -device qxl-vga which is what I
thought Guannan was aiming for. I could be wrong though. I'll take
another look at it tonight.


        When libvirt reports this error, probably the qemu you are using doesn't support
        qxl-vga as the primary video device, and at the same time the qemu doesn't
        support "-vga qxl" either.

        The reason why libvirt worked out before is that there is a typo for the caps flag bit
        QEMU_CAPS_VGA_QXL fixed in the above commit. And libvirt didn't set
        QEMU_CAPS_VGA_QXL on for qemu(>1.2) by using QMP mode to check for qemu
        capabilities.

          -    { "qxl", QEMU_CAPS_VGA_QXL },
         +    { "qxl", QEMU_CAPS_DEVICE_QXL },

         So Doug's patch probably could fix your problem temporarily, but we need to think it
         through as Eric said.

         Guannan