[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [PATCH] qemu: Detect VGA_QXL capability correctly



On 01/04/2013 05:00 PM, Michal Privoznik wrote:
Since 4c993d8a we failed to set this important capability, which
allows starting a domain with QXL video card. We set DEVICE_QXL
capability bit instead, which is not necessary wrong. Anyway, if
qemu supports the new '-device qxl' it supports older '-vga qxl'
as well. The latter is used for the primary (the first) qxl video
card, the former for other video cards.
---

Other approach is to set QEMU_CAPS_VGA_QXL unconditionally
as supported by all qemu-1.2+ in qemuCapsInitQMPBasic().
But I think this one is slightly nicer.

  src/qemu/qemu_capabilities.c | 3 +++
  1 file changed, 3 insertions(+)

diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index f49a31c..e16bc70 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -2018,6 +2018,9 @@ qemuCapsProbeQMPObjects(qemuCapsPtr caps,
      /* Prefer -chardev spicevmc (detected earlier) over -device spicevmc */
      if (qemuCapsGet(caps, QEMU_CAPS_CHARDEV_SPICEVMC))
          qemuCapsClear(caps, QEMU_CAPS_DEVICE_SPICEVMC);
+    /* If qemu supports newer -device qxl it supports -vga qxl as well */
+    if (qemuCapsGet(caps, QEMU_CAPS_DEVICE_QXL))
+        qemuCapsSet(caps, QEMU_CAPS_VGA_QXL);
return 0;
  }

    I don't think it is necessary to add this code.
    because we have set the caps flag in qemuCapsParseHelpStr()

            if (strstr(p, "|qxl"))
            qemuCapsSet(caps, QEMU_CAPS_VGA_QXL);

The problem here is about collecting cap flags via QMP, we need to set QEMU_CAPS_VGA_QXL
    unconditionally but still in discussion.

Patch from Doug Goldstein in [libvirt] [PATCH] The -vga CLI arg accepts qxl in qemu 1.2+ always

The -vga command always accepts qxl in 1.2 and newer.
---
 src/qemu/qemu_capabilities.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index f49a31c..c3ab488 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -2282,6 +2282,7 @@ qemuCapsInitQMPBasic(qemuCapsPtr caps)
     qemuCapsSet(caps, QEMU_CAPS_NO_USER_CONFIG);
     qemuCapsSet(caps, QEMU_CAPS_NETDEV_BRIDGE);
     qemuCapsSet(caps, QEMU_CAPS_SECCOMP_SANDBOX);
+    qemuCapsSet(caps, QEMU_CAPS_VGA_QXL);
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]