Hi On Fri, Feb 14, 2025 at 4:03 PM Marc-André Lureau <marcandre.lureau@xxxxxxxxxx> wrote: > > Hi > > On Wed, Feb 12, 2025 at 8:21 PM Daniel P. Berrangé <berrange@xxxxxxxxxx> wrote: > > > > On Wed, Jan 29, 2025 at 05:40:38PM +0400, marcandre.lureau@xxxxxxxxxx wrote: > > > From: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx> > > > > > > We may want to check qemu-rdp presence, instead of failing later? > > > > Yes, we should validate qemu-rdp, because the capabilities get > > advertized to client apps in domain capabilities, as well as > > being the thing that checks XML configs in qemuDomainValidate. > > So if qemu-rdp is missing, we must not claim the capabilty. > > Afaik, libvirt advertises capability for features that require > external process support: swtpm, passt, various helpers.. Do you think > we should also correct those? Actually, there is some check for swtpm, but not for passt. I'll add one for qemu-rdp. > > > > > > > > > Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx> > > > --- > > > src/qemu/qemu_capabilities.c | 7 +++++-- > > > tests/domaincapsdata/qemu_10.0.0.s390x.xml | 1 + > > > tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 1 + > > > tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 1 + > > > tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 1 + > > > tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 1 + > > > tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 1 + > > > tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 1 + > > > tests/domaincapsdata/qemu_7.2.0-hvf.x86_64+hvf.xml | 1 + > > > tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 1 + > > > tests/domaincapsdata/qemu_7.2.0-tcg.x86_64+hvf.xml | 1 + > > > tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 1 + > > > tests/domaincapsdata/qemu_7.2.0.ppc.xml | 1 + > > > tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 1 + > > > tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml | 1 + > > > tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml | 1 + > > > tests/domaincapsdata/qemu_8.0.0.x86_64.xml | 1 + > > > tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml | 1 + > > > tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml | 1 + > > > tests/domaincapsdata/qemu_8.1.0.s390x.xml | 1 + > > > tests/domaincapsdata/qemu_8.1.0.x86_64.xml | 1 + > > > tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml | 1 + > > > tests/domaincapsdata/qemu_8.2.0-tcg-virt.loongarch64.xml | 1 + > > > tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml | 1 + > > > tests/domaincapsdata/qemu_8.2.0-virt.aarch64.xml | 1 + > > > tests/domaincapsdata/qemu_8.2.0-virt.loongarch64.xml | 1 + > > > tests/domaincapsdata/qemu_8.2.0.aarch64.xml | 1 + > > > tests/domaincapsdata/qemu_8.2.0.armv7l.xml | 1 + > > > tests/domaincapsdata/qemu_8.2.0.s390x.xml | 1 + > > > tests/domaincapsdata/qemu_8.2.0.x86_64.xml | 1 + > > > tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml | 1 + > > > tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml | 1 + > > > tests/domaincapsdata/qemu_9.0.0.sparc.xml | 1 + > > > tests/domaincapsdata/qemu_9.0.0.x86_64.xml | 1 + > > > tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml | 1 + > > > tests/domaincapsdata/qemu_9.1.0-tcg-virt.riscv64.xml | 1 + > > > tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml | 1 + > > > tests/domaincapsdata/qemu_9.1.0-virt.riscv64.xml | 1 + > > > tests/domaincapsdata/qemu_9.1.0.s390x.xml | 1 + > > > tests/domaincapsdata/qemu_9.1.0.x86_64.xml | 1 + > > > tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml | 1 + > > > tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml | 1 + > > > tests/domaincapsdata/qemu_9.2.0.s390x.xml | 1 + > > > tests/domaincapsdata/qemu_9.2.0.x86_64.xml | 1 + > > > 44 files changed, 48 insertions(+), 2 deletions(-) > > > > > > diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c > > > index 490f5b28fd..43669aa27d 100644 > > > --- a/src/qemu/qemu_capabilities.c > > > +++ b/src/qemu/qemu_capabilities.c > > > @@ -6497,8 +6497,11 @@ 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); > > > + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DISPLAY_DBUS)) { > > > + VIR_DOMAIN_CAPS_ENUM_SET(dev->type, > > > + VIR_DOMAIN_GRAPHICS_TYPE_DBUS, > > > + VIR_DOMAIN_GRAPHICS_TYPE_RDP); > > > + } > > > } > > > > > > With regards, > > Daniel > > -- > > |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| > > |: https://libvirt.org -o- https://fstop138.berrange.com :| > > |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| > >