Hi
On Wed, Jan 29, 2025 at 5:58 PM Daniel P. Berrangé <berrange@redhat.com> wrote:
>
> On Wed, Jan 29, 2025 at 05:40:34PM +0400, marcandre.lureau@redhat.com wrote:
> > From: Marc-André Lureau <marcandre.lureau@redhat.com>
> >
> > Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> > ---
> > src/qemu/qemu_command.c | 8 ++++++--
> > 1 file changed, 6 insertions(+), 2 deletions(-)
> >
> > diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
> > index f08dba7988..dc142b366a 100644
> > --- a/src/qemu/qemu_command.c
> > +++ b/src/qemu/qemu_command.c
> > @@ -8420,6 +8420,7 @@ qemuBuildGraphicsCommandLine(virQEMUDriverConfig *cfg,
> >
> > break;
> > case VIR_DOMAIN_GRAPHICS_TYPE_RDP:
> > + break;
> > case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
> > virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
> > _("graphics type '%1$s' not supported"),
> > @@ -9974,6 +9975,7 @@ qemuBuildCommandLineValidate(virQEMUDriver *driver,
> > int spice = 0;
> > int egl_headless = 0;
> > int dbus = 0;
> > + int rdp = 0;
> >
> > if (!driver->privileged) {
> > /* If we have no cgroups then we can have no tunings that
> > @@ -10022,15 +10024,17 @@ qemuBuildCommandLineValidate(virQEMUDriver *driver,
> > ++dbus;
> > break;
> > case VIR_DOMAIN_GRAPHICS_TYPE_RDP:
> > + ++rdp;
> > + break;
> > case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
> > case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
> > break;
> > }
> > }
> >
> > - if (sdl > 1 || vnc > 1 || spice > 1 || egl_headless > 1 || dbus > 1) {
> > + if (sdl > 1 || vnc > 1 || spice > 1 || egl_headless > 1 || dbus > 1 || rdp > 1) {
> > virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
> > - _("only 1 graphics device of each type (sdl, vnc, spice, headless, dbus) is supported"));
> > + _("only 1 graphics device of each type (sdl, vnc, spice, headless, dbus, rdp) is supported"));
> > return -1;
> > }
>
> The 'rdp' type also uses the 'dbus' backend in QEMU, so checking
> dbus > 1 || rdp > 1, allows for two uses of the 'dbus' backend.
>
> Hypothetically we could also have future 'vnc' or 'spice' types
> which used the dbus QEMU backend for out of process impls.
I don't think qemu supports multiple instances of the same graphics
backends, this is true for -display dbus.
If we were to have vnc or spice server out of process (I doubt someone
will do one for spice, but I started one for vnc, fwiw), they would
use the same dbus graphics instance. This check is thus still valid,
only one of each kind is supported atm. Or am I missing something?
>
> IOW, we need to be counting QEMU backends here, rather than libvirt
> types.
>
> 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 :|
>