mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-26 05:57:45 +03:00
conf: add <graphics type='dbus'>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
14f45e5d8d
commit
88ba34f5a0
@ -926,6 +926,7 @@ VIR_ENUM_IMPL(virDomainGraphics,
|
||||
"desktop",
|
||||
"spice",
|
||||
"egl-headless",
|
||||
"dbus",
|
||||
);
|
||||
|
||||
VIR_ENUM_IMPL(virDomainGraphicsListen,
|
||||
@ -1920,6 +1921,11 @@ void virDomainGraphicsDefFree(virDomainGraphicsDef *def)
|
||||
g_free(def->data.egl_headless.rendernode);
|
||||
break;
|
||||
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DBUS:
|
||||
g_free(def->data.dbus.address);
|
||||
g_free(def->data.dbus.rendernode);
|
||||
break;
|
||||
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
|
||||
break;
|
||||
}
|
||||
@ -12774,6 +12780,39 @@ virDomainGraphicsDefParseXMLEGLHeadless(virDomainGraphicsDef *def,
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
virDomainGraphicsDefParseXMLDBus(virDomainGraphicsDef *def,
|
||||
xmlNodePtr node,
|
||||
xmlXPathContextPtr ctxt)
|
||||
{
|
||||
VIR_XPATH_NODE_AUTORESTORE(ctxt)
|
||||
xmlNodePtr cur;
|
||||
virTristateBool p2p;
|
||||
|
||||
if (virXMLPropTristateBool(node, "p2p", VIR_XML_PROP_NONE,
|
||||
&p2p) < 0)
|
||||
return -1;
|
||||
def->data.dbus.p2p = p2p == VIR_TRISTATE_BOOL_YES;
|
||||
|
||||
def->data.dbus.address = virXMLPropString(node, "address");
|
||||
def->data.dbus.fromConfig = def->data.dbus.address != NULL;
|
||||
|
||||
ctxt->node = node;
|
||||
|
||||
if ((cur = virXPathNode("./gl", ctxt))) {
|
||||
def->data.dbus.rendernode = virXMLPropString(cur,
|
||||
"rendernode");
|
||||
|
||||
if (virXMLPropTristateBool(cur, "enable",
|
||||
VIR_XML_PROP_REQUIRED,
|
||||
&def->data.dbus.gl) < 0)
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
virDomainGraphicsDef *
|
||||
virDomainGraphicsDefNew(virDomainXMLOption *xmlopt)
|
||||
{
|
||||
@ -12846,6 +12885,10 @@ virDomainGraphicsDefParseXML(virDomainXMLOption *xmlopt,
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS:
|
||||
virDomainGraphicsDefParseXMLEGLHeadless(def, node, ctxt);
|
||||
break;
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DBUS:
|
||||
if (virDomainGraphicsDefParseXMLDBus(def, node, ctxt) < 0)
|
||||
goto error;
|
||||
break;
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
|
||||
break;
|
||||
}
|
||||
@ -26610,6 +26653,27 @@ virDomainGraphicsDefFormat(virBuffer *buf,
|
||||
def->data.egl_headless.rendernode);
|
||||
virBufferAddLit(buf, "/>\n");
|
||||
break;
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DBUS:
|
||||
if (def->data.dbus.p2p)
|
||||
virBufferAddLit(buf, " p2p='yes'");
|
||||
if (def->data.dbus.address)
|
||||
virBufferAsprintf(buf, " address='%s'",
|
||||
def->data.dbus.address);
|
||||
|
||||
if (!def->data.dbus.gl)
|
||||
break;
|
||||
|
||||
if (!children) {
|
||||
virBufferAddLit(buf, ">\n");
|
||||
virBufferAdjustIndent(buf, 2);
|
||||
children = true;
|
||||
}
|
||||
|
||||
virBufferAsprintf(buf, "<gl enable='%s'",
|
||||
virTristateBoolTypeToString(def->data.dbus.gl));
|
||||
virBufferEscapeString(buf, " rendernode='%s'", def->data.dbus.rendernode);
|
||||
virBufferAddLit(buf, "/>\n");
|
||||
break;
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
|
||||
break;
|
||||
}
|
||||
@ -31336,6 +31400,11 @@ virDomainGraphicsDefHasOpenGL(const virDomainDef *def)
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS:
|
||||
return true;
|
||||
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DBUS:
|
||||
if (graphics->data.dbus.gl == VIR_TRISTATE_BOOL_YES)
|
||||
return true;
|
||||
|
||||
continue;
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
|
||||
break;
|
||||
}
|
||||
@ -31351,7 +31420,8 @@ virDomainGraphicsSupportsRenderNode(const virDomainGraphicsDef *graphics)
|
||||
bool ret = false;
|
||||
|
||||
if (graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_SPICE ||
|
||||
graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS)
|
||||
graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS ||
|
||||
graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_DBUS)
|
||||
ret = true;
|
||||
|
||||
return ret;
|
||||
@ -31370,6 +31440,9 @@ virDomainGraphicsGetRenderNode(const virDomainGraphicsDef *graphics)
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS:
|
||||
ret = graphics->data.egl_headless.rendernode;
|
||||
break;
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DBUS:
|
||||
ret = graphics->data.dbus.rendernode;
|
||||
break;
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_SDL:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_VNC:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_RDP:
|
||||
@ -31391,6 +31464,9 @@ virDomainGraphicsNeedsAutoRenderNode(const virDomainGraphicsDef *graphics)
|
||||
if (graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_SPICE &&
|
||||
graphics->data.spice.gl != VIR_TRISTATE_BOOL_YES)
|
||||
return false;
|
||||
if (graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_DBUS &&
|
||||
graphics->data.dbus.gl != VIR_TRISTATE_BOOL_YES)
|
||||
return false;
|
||||
|
||||
if (virDomainGraphicsGetRenderNode(graphics))
|
||||
return false;
|
||||
|
@ -1777,6 +1777,7 @@ typedef enum {
|
||||
VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP,
|
||||
VIR_DOMAIN_GRAPHICS_TYPE_SPICE,
|
||||
VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS,
|
||||
VIR_DOMAIN_GRAPHICS_TYPE_DBUS,
|
||||
|
||||
VIR_DOMAIN_GRAPHICS_TYPE_LAST
|
||||
} virDomainGraphicsType;
|
||||
@ -1953,6 +1954,13 @@ struct _virDomainGraphicsDef {
|
||||
struct {
|
||||
char *rendernode;
|
||||
} egl_headless;
|
||||
struct {
|
||||
bool p2p;
|
||||
char *address;
|
||||
char *rendernode;
|
||||
virTristateBool gl;
|
||||
bool fromConfig; /* true if the @address is config file originated */
|
||||
} dbus;
|
||||
} data;
|
||||
/* nListens, listens, and *port are only useful if type is vnc,
|
||||
* rdp, or spice. They've been extracted from the union only to
|
||||
|
@ -2424,8 +2424,15 @@ virDomainGraphicsDefValidate(const virDomainDef *def,
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_VNC)
|
||||
if (graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_VNC) {
|
||||
return virDomainEnsureAudioID(def, graphics->data.vnc.audioId);
|
||||
} else if (graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_DBUS) {
|
||||
if (graphics->data.dbus.p2p && graphics->data.dbus.address) {
|
||||
virReportError(VIR_ERR_XML_ERROR, "%s",
|
||||
_("D-Bus p2p with an address is not supported"));
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -220,6 +220,13 @@
|
||||
</define>
|
||||
<!--======================================================================-->
|
||||
|
||||
<!-- A D-Bus server address: https://dbus.freedesktop.org/doc/dbus-specification.html#addresses -->
|
||||
<define name="dbusAddr">
|
||||
<data type="string">
|
||||
<param name="pattern">.+</param>
|
||||
</data>
|
||||
</define>
|
||||
|
||||
<!-- An ipv4 "dotted quad" address -->
|
||||
<define name="ipv4Addr">
|
||||
<data type="string">
|
||||
|
@ -4045,6 +4045,39 @@
|
||||
</optional>
|
||||
</interleave>
|
||||
</group>
|
||||
<group>
|
||||
<attribute name="type">
|
||||
<value>dbus</value>
|
||||
</attribute>
|
||||
<optional>
|
||||
<choice>
|
||||
<group>
|
||||
<attribute name="address">
|
||||
<ref name="dbusAddr"/>
|
||||
</attribute>
|
||||
</group>
|
||||
<group>
|
||||
<attribute name="p2p">
|
||||
<ref name="virYesNo"/>
|
||||
</attribute>
|
||||
</group>
|
||||
</choice>
|
||||
</optional>
|
||||
<interleave>
|
||||
<optional>
|
||||
<element name="gl">
|
||||
<attribute name="enable">
|
||||
<ref name="virYesNo"/>
|
||||
</attribute>
|
||||
<optional>
|
||||
<attribute name="rendernode">
|
||||
<ref name="absFilePath"/>
|
||||
</attribute>
|
||||
</optional>
|
||||
</element>
|
||||
</optional>
|
||||
</interleave>
|
||||
</group>
|
||||
<group>
|
||||
<attribute name="type">
|
||||
<value>rdp</value>
|
||||
|
@ -1538,6 +1538,7 @@ libxlMakeVfb(virPortAllocatorRange *graphicsports,
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_SPICE:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DBUS:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
|
||||
break;
|
||||
}
|
||||
|
@ -957,6 +957,7 @@ libxlDomainCleanup(libxlDriverPrivate *driver,
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_RDP:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DBUS:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
|
||||
break;
|
||||
}
|
||||
|
@ -465,6 +465,7 @@ libxlReconnectDomain(virDomainObj *vm,
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_RDP:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DBUS:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
|
||||
break;
|
||||
}
|
||||
|
@ -6226,6 +6226,8 @@ virQEMUCapsFillDomainDeviceGraphicsCaps(virQEMUCaps *qemuCaps,
|
||||
VIR_DOMAIN_CAPS_ENUM_SET(dev->type, VIR_DOMAIN_GRAPHICS_TYPE_SPICE);
|
||||
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_EGL_HEADLESS))
|
||||
VIR_DOMAIN_CAPS_ENUM_SET(dev->type, VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS);
|
||||
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DISPLAY_DBUS))
|
||||
VIR_DOMAIN_CAPS_ENUM_SET(dev->type, VIR_DOMAIN_GRAPHICS_TYPE_DBUS);
|
||||
}
|
||||
|
||||
|
||||
|
@ -8591,6 +8591,7 @@ qemuBuildGraphicsCommandLine(virQEMUDriverConfig *cfg,
|
||||
graphics) < 0)
|
||||
return -1;
|
||||
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DBUS:
|
||||
break;
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_RDP:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
|
||||
@ -10190,6 +10191,7 @@ qemuBuildCommandLineValidate(virQEMUDriver *driver,
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS:
|
||||
++egl_headless;
|
||||
break;
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DBUS:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_RDP:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
|
||||
|
@ -3707,6 +3707,7 @@ qemuDomainDefSuggestDefaultAudioBackend(virQEMUDriver *driver,
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_RDP:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DBUS:
|
||||
break;
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
|
||||
default:
|
||||
|
@ -15717,12 +15717,13 @@ qemuDomainOpenGraphics(virDomainPtr dom,
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_SPICE:
|
||||
protocol = "spice";
|
||||
break;
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DBUS:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_SDL:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_RDP:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS:
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
||||
_("Can only open VNC or SPICE graphics backends, not %s"),
|
||||
_("Can only open VNC, SPICE or D-Bus p2p graphics backends, not %s"),
|
||||
virDomainGraphicsTypeToString(vm->def->graphics[idx]->type));
|
||||
goto endjob;
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
|
||||
@ -15785,12 +15786,13 @@ qemuDomainOpenGraphicsFD(virDomainPtr dom,
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_SPICE:
|
||||
protocol = "spice";
|
||||
break;
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DBUS:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_SDL:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_RDP:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS:
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
||||
_("Can only open VNC or SPICE graphics backends, not %s"),
|
||||
_("Can only open VNC, SPICE or D-Bus p2p graphics backends, not %s"),
|
||||
virDomainGraphicsTypeToString(vm->def->graphics[idx]->type));
|
||||
goto cleanup;
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
|
||||
|
@ -4323,6 +4323,7 @@ qemuDomainChangeGraphics(virQEMUDriver *driver,
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_RDP:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DBUS:
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("unable to change config on '%s' graphics type"), type);
|
||||
break;
|
||||
|
@ -4736,6 +4736,7 @@ qemuProcessGraphicsReservePorts(virDomainGraphicsDef *graphics,
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_RDP:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DBUS:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
|
||||
break;
|
||||
}
|
||||
@ -4775,6 +4776,7 @@ qemuProcessGraphicsAllocatePorts(virQEMUDriver *driver,
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_RDP:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DBUS:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
|
||||
break;
|
||||
}
|
||||
@ -4931,6 +4933,7 @@ qemuProcessGraphicsSetupListen(virQEMUDriver *driver,
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_RDP:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DBUS:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
|
||||
break;
|
||||
}
|
||||
@ -5223,6 +5226,7 @@ qemuProcessStartValidateGraphics(virDomainObj *vm)
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_RDP:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DBUS:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
|
||||
break;
|
||||
}
|
||||
|
@ -4254,6 +4254,7 @@ qemuValidateDomainDeviceDefGraphics(const virDomainGraphicsDef *graphics,
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_SDL:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_RDP:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DBUS:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
|
||||
break;
|
||||
}
|
||||
|
@ -3435,6 +3435,7 @@ virVMXFormatConfig(virVMXContext *ctx, virDomainXMLOption *xmlopt, virDomainDef
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_SPICE:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DBUS:
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
||||
_("Unsupported graphics type '%s'"),
|
||||
virDomainGraphicsTypeToString(def->graphics[i]->type));
|
||||
|
@ -155,6 +155,7 @@
|
||||
<value>vnc</value>
|
||||
<value>spice</value>
|
||||
<value>egl-headless</value>
|
||||
<value>dbus</value>
|
||||
</enum>
|
||||
</graphics>
|
||||
<video supported='yes'>
|
||||
|
@ -169,6 +169,7 @@
|
||||
<value>vnc</value>
|
||||
<value>spice</value>
|
||||
<value>egl-headless</value>
|
||||
<value>dbus</value>
|
||||
</enum>
|
||||
</graphics>
|
||||
<video supported='yes'>
|
||||
|
@ -155,6 +155,7 @@
|
||||
<value>vnc</value>
|
||||
<value>spice</value>
|
||||
<value>egl-headless</value>
|
||||
<value>dbus</value>
|
||||
</enum>
|
||||
</graphics>
|
||||
<video supported='yes'>
|
||||
|
@ -155,6 +155,7 @@
|
||||
<value>vnc</value>
|
||||
<value>spice</value>
|
||||
<value>egl-headless</value>
|
||||
<value>dbus</value>
|
||||
</enum>
|
||||
</graphics>
|
||||
<video supported='yes'>
|
||||
|
@ -169,6 +169,7 @@
|
||||
<value>vnc</value>
|
||||
<value>spice</value>
|
||||
<value>egl-headless</value>
|
||||
<value>dbus</value>
|
||||
</enum>
|
||||
</graphics>
|
||||
<video supported='yes'>
|
||||
|
@ -155,6 +155,7 @@
|
||||
<value>vnc</value>
|
||||
<value>spice</value>
|
||||
<value>egl-headless</value>
|
||||
<value>dbus</value>
|
||||
</enum>
|
||||
</graphics>
|
||||
<video supported='yes'>
|
||||
|
35
tests/qemuxml2argvdata/graphics-dbus-address.xml
Normal file
35
tests/qemuxml2argvdata/graphics-dbus-address.xml
Normal file
@ -0,0 +1,35 @@
|
||||
<domain type='qemu'>
|
||||
<name>QEMUGuest1</name>
|
||||
<uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
|
||||
<memory unit='KiB'>219100</memory>
|
||||
<currentMemory unit='KiB'>219100</currentMemory>
|
||||
<vcpu placement='static'>1</vcpu>
|
||||
<os>
|
||||
<type arch='i686' machine='pc'>hvm</type>
|
||||
<boot dev='hd'/>
|
||||
</os>
|
||||
<clock offset='utc'/>
|
||||
<on_poweroff>destroy</on_poweroff>
|
||||
<on_reboot>restart</on_reboot>
|
||||
<on_crash>destroy</on_crash>
|
||||
<devices>
|
||||
<emulator>/usr/bin/qemu-system-i386</emulator>
|
||||
<controller type='usb' index='0'>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
|
||||
</controller>
|
||||
<controller type='ide' index='0'>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
|
||||
</controller>
|
||||
<controller type='pci' index='0' model='pci-root'/>
|
||||
<input type='mouse' bus='ps2'/>
|
||||
<input type='keyboard' bus='ps2'/>
|
||||
<graphics type='dbus' address='unix:path=/tmp/foo'>
|
||||
<gl enable='yes' rendernode='/dev/dri/foo'/>
|
||||
</graphics>
|
||||
<video>
|
||||
<model type='cirrus' vram='16384' heads='1' primary='yes'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
|
||||
</video>
|
||||
<memballoon model='none'/>
|
||||
</devices>
|
||||
</domain>
|
33
tests/qemuxml2argvdata/graphics-dbus-p2p.xml
Normal file
33
tests/qemuxml2argvdata/graphics-dbus-p2p.xml
Normal file
@ -0,0 +1,33 @@
|
||||
<domain type='qemu'>
|
||||
<name>QEMUGuest1</name>
|
||||
<uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
|
||||
<memory unit='KiB'>219100</memory>
|
||||
<currentMemory unit='KiB'>219100</currentMemory>
|
||||
<vcpu placement='static'>1</vcpu>
|
||||
<os>
|
||||
<type arch='i686' machine='pc'>hvm</type>
|
||||
<boot dev='hd'/>
|
||||
</os>
|
||||
<clock offset='utc'/>
|
||||
<on_poweroff>destroy</on_poweroff>
|
||||
<on_reboot>restart</on_reboot>
|
||||
<on_crash>destroy</on_crash>
|
||||
<devices>
|
||||
<emulator>/usr/bin/qemu-system-i386</emulator>
|
||||
<controller type='usb' index='0'>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
|
||||
</controller>
|
||||
<controller type='ide' index='0'>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
|
||||
</controller>
|
||||
<controller type='pci' index='0' model='pci-root'/>
|
||||
<input type='mouse' bus='ps2'/>
|
||||
<input type='keyboard' bus='ps2'/>
|
||||
<graphics type='dbus' p2p='yes'/>
|
||||
<video>
|
||||
<model type='cirrus' vram='16384' heads='1' primary='yes'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
|
||||
</video>
|
||||
<memballoon model='none'/>
|
||||
</devices>
|
||||
</domain>
|
33
tests/qemuxml2argvdata/graphics-dbus.xml
Normal file
33
tests/qemuxml2argvdata/graphics-dbus.xml
Normal file
@ -0,0 +1,33 @@
|
||||
<domain type='qemu'>
|
||||
<name>QEMUGuest1</name>
|
||||
<uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
|
||||
<memory unit='KiB'>219100</memory>
|
||||
<currentMemory unit='KiB'>219100</currentMemory>
|
||||
<vcpu placement='static'>1</vcpu>
|
||||
<os>
|
||||
<type arch='i686' machine='pc'>hvm</type>
|
||||
<boot dev='hd'/>
|
||||
</os>
|
||||
<clock offset='utc'/>
|
||||
<on_poweroff>destroy</on_poweroff>
|
||||
<on_reboot>restart</on_reboot>
|
||||
<on_crash>destroy</on_crash>
|
||||
<devices>
|
||||
<emulator>/usr/bin/qemu-system-i386</emulator>
|
||||
<controller type='usb' index='0'>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
|
||||
</controller>
|
||||
<controller type='ide' index='0'>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
|
||||
</controller>
|
||||
<controller type='pci' index='0' model='pci-root'/>
|
||||
<input type='mouse' bus='ps2'/>
|
||||
<input type='keyboard' bus='ps2'/>
|
||||
<graphics type='dbus'/>
|
||||
<video>
|
||||
<model type='cirrus' vram='16384' heads='1' primary='yes'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
|
||||
</video>
|
||||
<memballoon model='none'/>
|
||||
</devices>
|
||||
</domain>
|
1
tests/qemuxml2xmloutdata/graphics-dbus-address.xml
Symbolic link
1
tests/qemuxml2xmloutdata/graphics-dbus-address.xml
Symbolic link
@ -0,0 +1 @@
|
||||
../qemuxml2argvdata/graphics-dbus-address.xml
|
1
tests/qemuxml2xmloutdata/graphics-dbus-p2p.xml
Symbolic link
1
tests/qemuxml2xmloutdata/graphics-dbus-p2p.xml
Symbolic link
@ -0,0 +1 @@
|
||||
../qemuxml2argvdata/graphics-dbus-p2p.xml
|
1
tests/qemuxml2xmloutdata/graphics-dbus.xml
Symbolic link
1
tests/qemuxml2xmloutdata/graphics-dbus.xml
Symbolic link
@ -0,0 +1 @@
|
||||
../qemuxml2argvdata/graphics-dbus.xml
|
@ -403,6 +403,16 @@ mymain(void)
|
||||
QEMU_CAPS_VNC,
|
||||
QEMU_CAPS_EGL_HEADLESS);
|
||||
|
||||
DO_TEST("graphics-dbus",
|
||||
QEMU_CAPS_DEVICE_CIRRUS_VGA,
|
||||
QEMU_CAPS_DISPLAY_DBUS);
|
||||
DO_TEST("graphics-dbus-address",
|
||||
QEMU_CAPS_DEVICE_CIRRUS_VGA,
|
||||
QEMU_CAPS_DISPLAY_DBUS);
|
||||
DO_TEST("graphics-dbus-p2p",
|
||||
QEMU_CAPS_DEVICE_CIRRUS_VGA,
|
||||
QEMU_CAPS_DISPLAY_DBUS);
|
||||
|
||||
DO_TEST_CAPS_ARCH_LATEST("default-video-type-aarch64", "aarch64");
|
||||
DO_TEST_CAPS_ARCH_LATEST("default-video-type-ppc64", "ppc64");
|
||||
DO_TEST_CAPS_ARCH_LATEST("default-video-type-riscv64", "riscv64");
|
||||
|
Loading…
x
Reference in New Issue
Block a user