On 12/22/21 20:43, marcandre.lureau@xxxxxxxxxx wrote: > From: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx> > > Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx> > --- > docs/schemas/basictypes.rng | 7 ++ > docs/schemas/domaincommon.rng | 33 ++++++++ > src/conf/domain_conf.c | 78 ++++++++++++++++++- > src/conf/domain_conf.h | 8 ++ > src/conf/domain_validate.c | 9 ++- > src/libxl/libxl_conf.c | 1 + > src/qemu/qemu_capabilities.c | 2 + > src/qemu/qemu_command.c | 2 + > src/qemu/qemu_domain.c | 1 + > src/qemu/qemu_driver.c | 6 +- > src/qemu/qemu_hotplug.c | 1 + > src/qemu/qemu_process.c | 4 + > src/qemu/qemu_validate.c | 1 + > src/vmx/vmx.c | 1 + > .../domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 1 + > .../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 1 + > tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 1 + > .../graphics-dbus-address.xml | 35 +++++++++ > tests/qemuxml2argvdata/graphics-dbus-p2p.xml | 33 ++++++++ > tests/qemuxml2argvdata/graphics-dbus.xml | 33 ++++++++ > .../graphics-dbus-address.xml | 1 + > .../qemuxml2xmloutdata/graphics-dbus-p2p.xml | 1 + > tests/qemuxml2xmloutdata/graphics-dbus.xml | 1 + > tests/qemuxml2xmltest.c | 10 +++ > 24 files changed, 267 insertions(+), 4 deletions(-) > create mode 100644 tests/qemuxml2argvdata/graphics-dbus-address.xml > create mode 100644 tests/qemuxml2argvdata/graphics-dbus-p2p.xml > create mode 100644 tests/qemuxml2argvdata/graphics-dbus.xml > create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-address.xml > create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-p2p.xml > create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus.xml > > diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h > index 144ba4dd1211..cd219df0ac3c 100644 > --- a/src/conf/domain_conf.h > +++ b/src/conf/domain_conf.h > @@ -1741,6 +1741,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; > @@ -1924,6 +1925,13 @@ struct _virDomainGraphicsDef { > struct { > char *rendernode; > } egl_headless; > + struct { > + bool p2p; I wonder if it makes sense to turn this into proper virTristateBool. I mean, that way we can track whether user entered p2p into the XML at all. But I don't care that much/ > + 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 Squash this in please: diff --git c/src/libxl/libxl_domain.c i/src/libxl/libxl_domain.c index dbe44f4ffc..af938192a9 100644 --- c/src/libxl/libxl_domain.c +++ i/src/libxl/libxl_domain.c @@ -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; } diff --git c/src/libxl/libxl_driver.c i/src/libxl/libxl_driver.c index 9ffa20161d..d4ae875854 100644 --- c/src/libxl/libxl_driver.c +++ i/src/libxl/libxl_driver.c @@ -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; } Michal