[libvirt PATCH v3 00/16] Add QEMU "-display dbus" support

marcandre.lureau@redhat.com posted 16 patches 2 years, 4 months ago
Test syntax-check failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/20211222194345.766352-1-marcandre.lureau@redhat.com
There is a newer version of this series
NEWS.rst                                      |     7 +-
docs/formatdomain.rst                         |    43 +-
docs/schemas/basictypes.rng                   |     7 +
docs/schemas/domaincommon.rng                 |    71 +
src/bhyve/bhyve_command.c                     |     1 +
src/conf/domain_conf.c                        |   141 +-
src/conf/domain_conf.h                        |    15 +
src/conf/domain_validate.c                    |    41 +-
src/libxl/libxl_conf.c                        |     1 +
src/qemu/qemu_capabilities.c                  |     8 +
src/qemu/qemu_capabilities.h                  |     4 +
src/qemu/qemu_command.c                       |    77 +-
src/qemu/qemu_domain.c                        |     1 +
src/qemu/qemu_driver.c                        |    10 +-
src/qemu/qemu_extdevice.c                     |    13 +
src/qemu/qemu_hotplug.c                       |     1 +
src/qemu/qemu_monitor_json.c                  |    10 +
src/qemu/qemu_process.c                       |    41 +-
src/qemu/qemu_validate.c                      |    33 +
src/security/security_dac.c                   |     2 +
src/vmx/vmx.c                                 |     1 +
.../domaincapsdata/qemu_7.0.0-q35.x86_64.xml  |   231 +
.../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml  |   237 +
tests/domaincapsdata/qemu_7.0.0.x86_64.xml    |   231 +
.../caps_6.1.0.x86_64.xml                     |     1 +
.../caps_6.2.0.aarch64.xml                    |     1 +
.../caps_6.2.0.x86_64.xml                     |     1 +
.../caps_7.0.0.x86_64.replies                 | 37335 ++++++++++++++++
.../caps_7.0.0.x86_64.xml                     |  3720 ++
.../graphics-dbus-address.args                |    30 +
.../graphics-dbus-address.xml                 |    35 +
.../qemuxml2argvdata/graphics-dbus-audio.args |    33 +
.../qemuxml2argvdata/graphics-dbus-audio.xml  |    45 +
.../graphics-dbus-chardev.args                |    32 +
.../graphics-dbus-chardev.xml                 |    43 +
.../graphics-dbus-clipboard.args              |    31 +
.../graphics-dbus-clipboard.xml               |    35 +
tests/qemuxml2argvdata/graphics-dbus-p2p.args |    30 +
tests/qemuxml2argvdata/graphics-dbus-p2p.xml  |    33 +
.../graphics-dbus-usbredir.args               |    34 +
.../graphics-dbus-usbredir.xml                |    30 +
tests/qemuxml2argvdata/graphics-dbus.args     |    30 +
tests/qemuxml2argvdata/graphics-dbus.xml      |    33 +
tests/qemuxml2argvtest.c                      |    22 +
.../graphics-dbus-address.xml                 |     1 +
.../graphics-dbus-audio.xml                   |     1 +
.../graphics-dbus-chardev.xml                 |     1 +
.../graphics-dbus-clipboard.xml               |     1 +
.../qemuxml2xmloutdata/graphics-dbus-p2p.xml  |     1 +
tests/qemuxml2xmloutdata/graphics-dbus.xml    |     1 +
tests/qemuxml2xmltest.c                       |    20 +
tools/virsh-domain.c                          |   366 +-
52 files changed, 42981 insertions(+), 192 deletions(-)
create mode 100644 tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml
create mode 100644 tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml
create mode 100644 tests/domaincapsdata/qemu_7.0.0.x86_64.xml
create mode 100644 tests/qemucapabilitiesdata/caps_7.0.0.x86_64.replies
create mode 100644 tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml
create mode 100644 tests/qemuxml2argvdata/graphics-dbus-address.args
create mode 100644 tests/qemuxml2argvdata/graphics-dbus-address.xml
create mode 100644 tests/qemuxml2argvdata/graphics-dbus-audio.args
create mode 100644 tests/qemuxml2argvdata/graphics-dbus-audio.xml
create mode 100644 tests/qemuxml2argvdata/graphics-dbus-chardev.args
create mode 100644 tests/qemuxml2argvdata/graphics-dbus-chardev.xml
create mode 100644 tests/qemuxml2argvdata/graphics-dbus-clipboard.args
create mode 100644 tests/qemuxml2argvdata/graphics-dbus-clipboard.xml
create mode 100644 tests/qemuxml2argvdata/graphics-dbus-p2p.args
create mode 100644 tests/qemuxml2argvdata/graphics-dbus-p2p.xml
create mode 100644 tests/qemuxml2argvdata/graphics-dbus-usbredir.args
create mode 100644 tests/qemuxml2argvdata/graphics-dbus-usbredir.xml
create mode 100644 tests/qemuxml2argvdata/graphics-dbus.args
create mode 100644 tests/qemuxml2argvdata/graphics-dbus.xml
create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-address.xml
create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-audio.xml
create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-chardev.xml
create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-clipboard.xml
create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-p2p.xml
create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus.xml
[libvirt PATCH v3 00/16] Add QEMU "-display dbus" support
Posted by marcandre.lureau@redhat.com 2 years, 4 months ago
From: Marc-André Lureau <marcandre.lureau@redhat.com>

Hi,

This series implements supports for the uQEMU "-display dbus" support, that
landed earlier this week for 7.0.

By default, libvirt will start a private VM bus (sharing and reusing the
existing "vmstate" VM bus & code).

The feature set should cover the needs to replace Spice as local client of choice,
including 3daccel/dmabuf, audio, clipboard sharing, usb redirection, and arbitrary
chardev/channels (for serial etc).

The test Gtk4 client is also in progress, currently in development at
https://gitlab.com/marcandre.lureau/qemu-display/. A few dependencies, such as
zbus, require an upcoming release. virt-viewer & boxes will need a port to Gtk4
to make use of the shared widget.

Comments welcome, as we can still adjust the QEMU side etc.

thanks

v3: after QEMU 7.0 dev cycle opening and merge
 - rebased
 - add 7.0 x86-64 capabilities (instead of tweaking 6.2)
 - fix version annotations

Marc-André Lureau (16):
  qemu: add chardev-vdagent capability check
  qemu: add -display dbus capability check
  qemucapabilitiestest: Add x64 test data for the qemu-7.0 development
    cycle
  conf: add <graphics type='dbus'>
  qemu: start the D-Bus daemon for the display
  qemu: add -display dbus support
  virsh: refactor/split cmdDomDisplay()
  virsh: report the D-Bus bus URI for domdisplay
  conf: add <audio type='dbus'> support
  qemu: add audio type 'dbus'
  conf: add dbus <clipboard>
  qemu: add dbus clipboard sharing
  conf: add <serial type='dbus'>
  qemu: add -chardev dbus support
  qemu: add usbredir type 'dbus'
  docs: document <graphics> type dbus

 NEWS.rst                                      |     7 +-
 docs/formatdomain.rst                         |    43 +-
 docs/schemas/basictypes.rng                   |     7 +
 docs/schemas/domaincommon.rng                 |    71 +
 src/bhyve/bhyve_command.c                     |     1 +
 src/conf/domain_conf.c                        |   141 +-
 src/conf/domain_conf.h                        |    15 +
 src/conf/domain_validate.c                    |    41 +-
 src/libxl/libxl_conf.c                        |     1 +
 src/qemu/qemu_capabilities.c                  |     8 +
 src/qemu/qemu_capabilities.h                  |     4 +
 src/qemu/qemu_command.c                       |    77 +-
 src/qemu/qemu_domain.c                        |     1 +
 src/qemu/qemu_driver.c                        |    10 +-
 src/qemu/qemu_extdevice.c                     |    13 +
 src/qemu/qemu_hotplug.c                       |     1 +
 src/qemu/qemu_monitor_json.c                  |    10 +
 src/qemu/qemu_process.c                       |    41 +-
 src/qemu/qemu_validate.c                      |    33 +
 src/security/security_dac.c                   |     2 +
 src/vmx/vmx.c                                 |     1 +
 .../domaincapsdata/qemu_7.0.0-q35.x86_64.xml  |   231 +
 .../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml  |   237 +
 tests/domaincapsdata/qemu_7.0.0.x86_64.xml    |   231 +
 .../caps_6.1.0.x86_64.xml                     |     1 +
 .../caps_6.2.0.aarch64.xml                    |     1 +
 .../caps_6.2.0.x86_64.xml                     |     1 +
 .../caps_7.0.0.x86_64.replies                 | 37335 ++++++++++++++++
 .../caps_7.0.0.x86_64.xml                     |  3720 ++
 .../graphics-dbus-address.args                |    30 +
 .../graphics-dbus-address.xml                 |    35 +
 .../qemuxml2argvdata/graphics-dbus-audio.args |    33 +
 .../qemuxml2argvdata/graphics-dbus-audio.xml  |    45 +
 .../graphics-dbus-chardev.args                |    32 +
 .../graphics-dbus-chardev.xml                 |    43 +
 .../graphics-dbus-clipboard.args              |    31 +
 .../graphics-dbus-clipboard.xml               |    35 +
 tests/qemuxml2argvdata/graphics-dbus-p2p.args |    30 +
 tests/qemuxml2argvdata/graphics-dbus-p2p.xml  |    33 +
 .../graphics-dbus-usbredir.args               |    34 +
 .../graphics-dbus-usbredir.xml                |    30 +
 tests/qemuxml2argvdata/graphics-dbus.args     |    30 +
 tests/qemuxml2argvdata/graphics-dbus.xml      |    33 +
 tests/qemuxml2argvtest.c                      |    22 +
 .../graphics-dbus-address.xml                 |     1 +
 .../graphics-dbus-audio.xml                   |     1 +
 .../graphics-dbus-chardev.xml                 |     1 +
 .../graphics-dbus-clipboard.xml               |     1 +
 .../qemuxml2xmloutdata/graphics-dbus-p2p.xml  |     1 +
 tests/qemuxml2xmloutdata/graphics-dbus.xml    |     1 +
 tests/qemuxml2xmltest.c                       |    20 +
 tools/virsh-domain.c                          |   366 +-
 52 files changed, 42981 insertions(+), 192 deletions(-)
 create mode 100644 tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml
 create mode 100644 tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml
 create mode 100644 tests/domaincapsdata/qemu_7.0.0.x86_64.xml
 create mode 100644 tests/qemucapabilitiesdata/caps_7.0.0.x86_64.replies
 create mode 100644 tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml
 create mode 100644 tests/qemuxml2argvdata/graphics-dbus-address.args
 create mode 100644 tests/qemuxml2argvdata/graphics-dbus-address.xml
 create mode 100644 tests/qemuxml2argvdata/graphics-dbus-audio.args
 create mode 100644 tests/qemuxml2argvdata/graphics-dbus-audio.xml
 create mode 100644 tests/qemuxml2argvdata/graphics-dbus-chardev.args
 create mode 100644 tests/qemuxml2argvdata/graphics-dbus-chardev.xml
 create mode 100644 tests/qemuxml2argvdata/graphics-dbus-clipboard.args
 create mode 100644 tests/qemuxml2argvdata/graphics-dbus-clipboard.xml
 create mode 100644 tests/qemuxml2argvdata/graphics-dbus-p2p.args
 create mode 100644 tests/qemuxml2argvdata/graphics-dbus-p2p.xml
 create mode 100644 tests/qemuxml2argvdata/graphics-dbus-usbredir.args
 create mode 100644 tests/qemuxml2argvdata/graphics-dbus-usbredir.xml
 create mode 100644 tests/qemuxml2argvdata/graphics-dbus.args
 create mode 100644 tests/qemuxml2argvdata/graphics-dbus.xml
 create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-address.xml
 create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-audio.xml
 create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-chardev.xml
 create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-clipboard.xml
 create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-p2p.xml
 create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus.xml

-- 
2.34.1.8.g35151cf07204


Re: [libvirt PATCH v3 00/16] Add QEMU "-display dbus" support
Posted by Neal Gompa 2 years, 3 months ago
On Wed, Dec 22, 2021 at 2:44 PM <marcandre.lureau@redhat.com> wrote:
>
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
>
> Hi,
>
> This series implements supports for the uQEMU "-display dbus" support, that
> landed earlier this week for 7.0.
>
> By default, libvirt will start a private VM bus (sharing and reusing the
> existing "vmstate" VM bus & code).
>
> The feature set should cover the needs to replace Spice as local client of choice,
> including 3daccel/dmabuf, audio, clipboard sharing, usb redirection, and arbitrary
> chardev/channels (for serial etc).
>
> The test Gtk4 client is also in progress, currently in development at
> https://gitlab.com/marcandre.lureau/qemu-display/. A few dependencies, such as
> zbus, require an upcoming release. virt-viewer & boxes will need a port to Gtk4
> to make use of the shared widget.
>
> Comments welcome, as we can still adjust the QEMU side etc.
>
> thanks
>
> v3: after QEMU 7.0 dev cycle opening and merge
>  - rebased
>  - add 7.0 x86-64 capabilities (instead of tweaking 6.2)
>  - fix version annotations
>
> Marc-André Lureau (16):
>   qemu: add chardev-vdagent capability check
>   qemu: add -display dbus capability check
>   qemucapabilitiestest: Add x64 test data for the qemu-7.0 development
>     cycle
>   conf: add <graphics type='dbus'>
>   qemu: start the D-Bus daemon for the display
>   qemu: add -display dbus support
>   virsh: refactor/split cmdDomDisplay()
>   virsh: report the D-Bus bus URI for domdisplay
>   conf: add <audio type='dbus'> support
>   qemu: add audio type 'dbus'
>   conf: add dbus <clipboard>
>   qemu: add dbus clipboard sharing
>   conf: add <serial type='dbus'>
>   qemu: add -chardev dbus support
>   qemu: add usbredir type 'dbus'
>   docs: document <graphics> type dbus
>
>  NEWS.rst                                      |     7 +-
>  docs/formatdomain.rst                         |    43 +-
>  docs/schemas/basictypes.rng                   |     7 +
>  docs/schemas/domaincommon.rng                 |    71 +
>  src/bhyve/bhyve_command.c                     |     1 +
>  src/conf/domain_conf.c                        |   141 +-
>  src/conf/domain_conf.h                        |    15 +
>  src/conf/domain_validate.c                    |    41 +-
>  src/libxl/libxl_conf.c                        |     1 +
>  src/qemu/qemu_capabilities.c                  |     8 +
>  src/qemu/qemu_capabilities.h                  |     4 +
>  src/qemu/qemu_command.c                       |    77 +-
>  src/qemu/qemu_domain.c                        |     1 +
>  src/qemu/qemu_driver.c                        |    10 +-
>  src/qemu/qemu_extdevice.c                     |    13 +
>  src/qemu/qemu_hotplug.c                       |     1 +
>  src/qemu/qemu_monitor_json.c                  |    10 +
>  src/qemu/qemu_process.c                       |    41 +-
>  src/qemu/qemu_validate.c                      |    33 +
>  src/security/security_dac.c                   |     2 +
>  src/vmx/vmx.c                                 |     1 +
>  .../domaincapsdata/qemu_7.0.0-q35.x86_64.xml  |   231 +
>  .../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml  |   237 +
>  tests/domaincapsdata/qemu_7.0.0.x86_64.xml    |   231 +
>  .../caps_6.1.0.x86_64.xml                     |     1 +
>  .../caps_6.2.0.aarch64.xml                    |     1 +
>  .../caps_6.2.0.x86_64.xml                     |     1 +
>  .../caps_7.0.0.x86_64.replies                 | 37335 ++++++++++++++++
>  .../caps_7.0.0.x86_64.xml                     |  3720 ++
>  .../graphics-dbus-address.args                |    30 +
>  .../graphics-dbus-address.xml                 |    35 +
>  .../qemuxml2argvdata/graphics-dbus-audio.args |    33 +
>  .../qemuxml2argvdata/graphics-dbus-audio.xml  |    45 +
>  .../graphics-dbus-chardev.args                |    32 +
>  .../graphics-dbus-chardev.xml                 |    43 +
>  .../graphics-dbus-clipboard.args              |    31 +
>  .../graphics-dbus-clipboard.xml               |    35 +
>  tests/qemuxml2argvdata/graphics-dbus-p2p.args |    30 +
>  tests/qemuxml2argvdata/graphics-dbus-p2p.xml  |    33 +
>  .../graphics-dbus-usbredir.args               |    34 +
>  .../graphics-dbus-usbredir.xml                |    30 +
>  tests/qemuxml2argvdata/graphics-dbus.args     |    30 +
>  tests/qemuxml2argvdata/graphics-dbus.xml      |    33 +
>  tests/qemuxml2argvtest.c                      |    22 +
>  .../graphics-dbus-address.xml                 |     1 +
>  .../graphics-dbus-audio.xml                   |     1 +
>  .../graphics-dbus-chardev.xml                 |     1 +
>  .../graphics-dbus-clipboard.xml               |     1 +
>  .../qemuxml2xmloutdata/graphics-dbus-p2p.xml  |     1 +
>  tests/qemuxml2xmloutdata/graphics-dbus.xml    |     1 +
>  tests/qemuxml2xmltest.c                       |    20 +
>  tools/virsh-domain.c                          |   366 +-
>  52 files changed, 42981 insertions(+), 192 deletions(-)
>  create mode 100644 tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml
>  create mode 100644 tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml
>  create mode 100644 tests/domaincapsdata/qemu_7.0.0.x86_64.xml
>  create mode 100644 tests/qemucapabilitiesdata/caps_7.0.0.x86_64.replies
>  create mode 100644 tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml
>  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-address.args
>  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-address.xml
>  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-audio.args
>  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-audio.xml
>  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-chardev.args
>  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-chardev.xml
>  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-clipboard.args
>  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-clipboard.xml
>  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-p2p.args
>  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-p2p.xml
>  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-usbredir.args
>  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-usbredir.xml
>  create mode 100644 tests/qemuxml2argvdata/graphics-dbus.args
>  create mode 100644 tests/qemuxml2argvdata/graphics-dbus.xml
>  create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-address.xml
>  create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-audio.xml
>  create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-chardev.xml
>  create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-clipboard.xml
>  create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-p2p.xml
>  create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus.xml
>
> --
> 2.34.1.8.g35151cf07204
>
>

How will this work for the web (cockpit-machines, oVirt/RHV, and
KubeVirt/OpenShift Virtualization)?

Personally, I use virt-manager/virt-viewer *regularly*, so where's the
plan to have this supported there? What about QVirtManager? And so on?



--
真実はいつも一つ!/ Always, there's only one truth!


Re: [libvirt PATCH v3 00/16] Add QEMU "-display dbus" support
Posted by Marc-André Lureau 2 years, 3 months ago
Hi Neal

On Fri, Dec 31, 2021 at 6:09 AM Neal Gompa <ngompa13@gmail.com> wrote:
>
> On Wed, Dec 22, 2021 at 2:44 PM <marcandre.lureau@redhat.com> wrote:
> >
> > From: Marc-André Lureau <marcandre.lureau@redhat.com>
> >
> > Hi,
> >
> > This series implements supports for the uQEMU "-display dbus" support, that
> > landed earlier this week for 7.0.
> >
> > By default, libvirt will start a private VM bus (sharing and reusing the
> > existing "vmstate" VM bus & code).
> >
> > The feature set should cover the needs to replace Spice as local client of choice,
> > including 3daccel/dmabuf, audio, clipboard sharing, usb redirection, and arbitrary
> > chardev/channels (for serial etc).
> >
> > The test Gtk4 client is also in progress, currently in development at
> > https://gitlab.com/marcandre.lureau/qemu-display/. A few dependencies, such as
> > zbus, require an upcoming release. virt-viewer & boxes will need a port to Gtk4
> > to make use of the shared widget.
> >
> > Comments welcome, as we can still adjust the QEMU side etc.
> >
> > thanks
> >
> > v3: after QEMU 7.0 dev cycle opening and merge
> >  - rebased
> >  - add 7.0 x86-64 capabilities (instead of tweaking 6.2)
> >  - fix version annotations
> >
> > Marc-André Lureau (16):
> >   qemu: add chardev-vdagent capability check
> >   qemu: add -display dbus capability check
> >   qemucapabilitiestest: Add x64 test data for the qemu-7.0 development
> >     cycle
> >   conf: add <graphics type='dbus'>
> >   qemu: start the D-Bus daemon for the display
> >   qemu: add -display dbus support
> >   virsh: refactor/split cmdDomDisplay()
> >   virsh: report the D-Bus bus URI for domdisplay
> >   conf: add <audio type='dbus'> support
> >   qemu: add audio type 'dbus'
> >   conf: add dbus <clipboard>
> >   qemu: add dbus clipboard sharing
> >   conf: add <serial type='dbus'>
> >   qemu: add -chardev dbus support
> >   qemu: add usbredir type 'dbus'
> >   docs: document <graphics> type dbus
> >
> >  NEWS.rst                                      |     7 +-
> >  docs/formatdomain.rst                         |    43 +-
> >  docs/schemas/basictypes.rng                   |     7 +
> >  docs/schemas/domaincommon.rng                 |    71 +
> >  src/bhyve/bhyve_command.c                     |     1 +
> >  src/conf/domain_conf.c                        |   141 +-
> >  src/conf/domain_conf.h                        |    15 +
> >  src/conf/domain_validate.c                    |    41 +-
> >  src/libxl/libxl_conf.c                        |     1 +
> >  src/qemu/qemu_capabilities.c                  |     8 +
> >  src/qemu/qemu_capabilities.h                  |     4 +
> >  src/qemu/qemu_command.c                       |    77 +-
> >  src/qemu/qemu_domain.c                        |     1 +
> >  src/qemu/qemu_driver.c                        |    10 +-
> >  src/qemu/qemu_extdevice.c                     |    13 +
> >  src/qemu/qemu_hotplug.c                       |     1 +
> >  src/qemu/qemu_monitor_json.c                  |    10 +
> >  src/qemu/qemu_process.c                       |    41 +-
> >  src/qemu/qemu_validate.c                      |    33 +
> >  src/security/security_dac.c                   |     2 +
> >  src/vmx/vmx.c                                 |     1 +
> >  .../domaincapsdata/qemu_7.0.0-q35.x86_64.xml  |   231 +
> >  .../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml  |   237 +
> >  tests/domaincapsdata/qemu_7.0.0.x86_64.xml    |   231 +
> >  .../caps_6.1.0.x86_64.xml                     |     1 +
> >  .../caps_6.2.0.aarch64.xml                    |     1 +
> >  .../caps_6.2.0.x86_64.xml                     |     1 +
> >  .../caps_7.0.0.x86_64.replies                 | 37335 ++++++++++++++++
> >  .../caps_7.0.0.x86_64.xml                     |  3720 ++
> >  .../graphics-dbus-address.args                |    30 +
> >  .../graphics-dbus-address.xml                 |    35 +
> >  .../qemuxml2argvdata/graphics-dbus-audio.args |    33 +
> >  .../qemuxml2argvdata/graphics-dbus-audio.xml  |    45 +
> >  .../graphics-dbus-chardev.args                |    32 +
> >  .../graphics-dbus-chardev.xml                 |    43 +
> >  .../graphics-dbus-clipboard.args              |    31 +
> >  .../graphics-dbus-clipboard.xml               |    35 +
> >  tests/qemuxml2argvdata/graphics-dbus-p2p.args |    30 +
> >  tests/qemuxml2argvdata/graphics-dbus-p2p.xml  |    33 +
> >  .../graphics-dbus-usbredir.args               |    34 +
> >  .../graphics-dbus-usbredir.xml                |    30 +
> >  tests/qemuxml2argvdata/graphics-dbus.args     |    30 +
> >  tests/qemuxml2argvdata/graphics-dbus.xml      |    33 +
> >  tests/qemuxml2argvtest.c                      |    22 +
> >  .../graphics-dbus-address.xml                 |     1 +
> >  .../graphics-dbus-audio.xml                   |     1 +
> >  .../graphics-dbus-chardev.xml                 |     1 +
> >  .../graphics-dbus-clipboard.xml               |     1 +
> >  .../qemuxml2xmloutdata/graphics-dbus-p2p.xml  |     1 +
> >  tests/qemuxml2xmloutdata/graphics-dbus.xml    |     1 +
> >  tests/qemuxml2xmltest.c                       |    20 +
> >  tools/virsh-domain.c                          |   366 +-
> >  52 files changed, 42981 insertions(+), 192 deletions(-)
> >  create mode 100644 tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml
> >  create mode 100644 tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml
> >  create mode 100644 tests/domaincapsdata/qemu_7.0.0.x86_64.xml
> >  create mode 100644 tests/qemucapabilitiesdata/caps_7.0.0.x86_64.replies
> >  create mode 100644 tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml
> >  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-address.args
> >  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-address.xml
> >  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-audio.args
> >  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-audio.xml
> >  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-chardev.args
> >  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-chardev.xml
> >  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-clipboard.args
> >  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-clipboard.xml
> >  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-p2p.args
> >  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-p2p.xml
> >  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-usbredir.args
> >  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-usbredir.xml
> >  create mode 100644 tests/qemuxml2argvdata/graphics-dbus.args
> >  create mode 100644 tests/qemuxml2argvdata/graphics-dbus.xml
> >  create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-address.xml
> >  create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-audio.xml
> >  create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-chardev.xml
> >  create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-clipboard.xml
> >  create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-p2p.xml
> >  create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus.xml
> >
> > --
> > 2.34.1.8.g35151cf07204
> >
> >
>
> How will this work for the web (cockpit-machines, oVirt/RHV, and
> KubeVirt/OpenShift Virtualization)?

For remoting, an external VNC/Spice/RDP server should export the display.

A simple VNC server is implemented here
https://gitlab.com/marcandre.lureau/qemu-display/-/tree/master/qemu-vnc.

I plan to work on an RDP server at some point.

>
> Personally, I use virt-manager/virt-viewer *regularly*, so where's the
> plan to have this supported there? What about QVirtManager? And so on?

I have been working on a common gtk4 remote display widget which
various applications can use (https://gitlab.gnome.org/malureau/rdw).
Similarly for Qt apps, they will have to implement their own widget.


Re: [libvirt PATCH v3 00/16] Add QEMU "-display dbus" support
Posted by Neal Gompa 2 years, 3 months ago
On Fri, Dec 31, 2021 at 1:27 AM Marc-André Lureau
<marcandre.lureau@redhat.com> wrote:
>
> Hi Neal
>
> On Fri, Dec 31, 2021 at 6:09 AM Neal Gompa <ngompa13@gmail.com> wrote:
> >
> > On Wed, Dec 22, 2021 at 2:44 PM <marcandre.lureau@redhat.com> wrote:
> > >
> > > From: Marc-André Lureau <marcandre.lureau@redhat.com>
> > >
> > > Hi,
> > >
> > > This series implements supports for the uQEMU "-display dbus" support, that
> > > landed earlier this week for 7.0.
> > >
> > > By default, libvirt will start a private VM bus (sharing and reusing the
> > > existing "vmstate" VM bus & code).
> > >
> > > The feature set should cover the needs to replace Spice as local client of choice,
> > > including 3daccel/dmabuf, audio, clipboard sharing, usb redirection, and arbitrary
> > > chardev/channels (for serial etc).
> > >
> > > The test Gtk4 client is also in progress, currently in development at
> > > https://gitlab.com/marcandre.lureau/qemu-display/. A few dependencies, such as
> > > zbus, require an upcoming release. virt-viewer & boxes will need a port to Gtk4
> > > to make use of the shared widget.
> > >
> > > Comments welcome, as we can still adjust the QEMU side etc.
> > >
> > > thanks
> > >
> > > v3: after QEMU 7.0 dev cycle opening and merge
> > >  - rebased
> > >  - add 7.0 x86-64 capabilities (instead of tweaking 6.2)
> > >  - fix version annotations
> > >
> > > Marc-André Lureau (16):
> > >   qemu: add chardev-vdagent capability check
> > >   qemu: add -display dbus capability check
> > >   qemucapabilitiestest: Add x64 test data for the qemu-7.0 development
> > >     cycle
> > >   conf: add <graphics type='dbus'>
> > >   qemu: start the D-Bus daemon for the display
> > >   qemu: add -display dbus support
> > >   virsh: refactor/split cmdDomDisplay()
> > >   virsh: report the D-Bus bus URI for domdisplay
> > >   conf: add <audio type='dbus'> support
> > >   qemu: add audio type 'dbus'
> > >   conf: add dbus <clipboard>
> > >   qemu: add dbus clipboard sharing
> > >   conf: add <serial type='dbus'>
> > >   qemu: add -chardev dbus support
> > >   qemu: add usbredir type 'dbus'
> > >   docs: document <graphics> type dbus
> > >
> > >  NEWS.rst                                      |     7 +-
> > >  docs/formatdomain.rst                         |    43 +-
> > >  docs/schemas/basictypes.rng                   |     7 +
> > >  docs/schemas/domaincommon.rng                 |    71 +
> > >  src/bhyve/bhyve_command.c                     |     1 +
> > >  src/conf/domain_conf.c                        |   141 +-
> > >  src/conf/domain_conf.h                        |    15 +
> > >  src/conf/domain_validate.c                    |    41 +-
> > >  src/libxl/libxl_conf.c                        |     1 +
> > >  src/qemu/qemu_capabilities.c                  |     8 +
> > >  src/qemu/qemu_capabilities.h                  |     4 +
> > >  src/qemu/qemu_command.c                       |    77 +-
> > >  src/qemu/qemu_domain.c                        |     1 +
> > >  src/qemu/qemu_driver.c                        |    10 +-
> > >  src/qemu/qemu_extdevice.c                     |    13 +
> > >  src/qemu/qemu_hotplug.c                       |     1 +
> > >  src/qemu/qemu_monitor_json.c                  |    10 +
> > >  src/qemu/qemu_process.c                       |    41 +-
> > >  src/qemu/qemu_validate.c                      |    33 +
> > >  src/security/security_dac.c                   |     2 +
> > >  src/vmx/vmx.c                                 |     1 +
> > >  .../domaincapsdata/qemu_7.0.0-q35.x86_64.xml  |   231 +
> > >  .../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml  |   237 +
> > >  tests/domaincapsdata/qemu_7.0.0.x86_64.xml    |   231 +
> > >  .../caps_6.1.0.x86_64.xml                     |     1 +
> > >  .../caps_6.2.0.aarch64.xml                    |     1 +
> > >  .../caps_6.2.0.x86_64.xml                     |     1 +
> > >  .../caps_7.0.0.x86_64.replies                 | 37335 ++++++++++++++++
> > >  .../caps_7.0.0.x86_64.xml                     |  3720 ++
> > >  .../graphics-dbus-address.args                |    30 +
> > >  .../graphics-dbus-address.xml                 |    35 +
> > >  .../qemuxml2argvdata/graphics-dbus-audio.args |    33 +
> > >  .../qemuxml2argvdata/graphics-dbus-audio.xml  |    45 +
> > >  .../graphics-dbus-chardev.args                |    32 +
> > >  .../graphics-dbus-chardev.xml                 |    43 +
> > >  .../graphics-dbus-clipboard.args              |    31 +
> > >  .../graphics-dbus-clipboard.xml               |    35 +
> > >  tests/qemuxml2argvdata/graphics-dbus-p2p.args |    30 +
> > >  tests/qemuxml2argvdata/graphics-dbus-p2p.xml  |    33 +
> > >  .../graphics-dbus-usbredir.args               |    34 +
> > >  .../graphics-dbus-usbredir.xml                |    30 +
> > >  tests/qemuxml2argvdata/graphics-dbus.args     |    30 +
> > >  tests/qemuxml2argvdata/graphics-dbus.xml      |    33 +
> > >  tests/qemuxml2argvtest.c                      |    22 +
> > >  .../graphics-dbus-address.xml                 |     1 +
> > >  .../graphics-dbus-audio.xml                   |     1 +
> > >  .../graphics-dbus-chardev.xml                 |     1 +
> > >  .../graphics-dbus-clipboard.xml               |     1 +
> > >  .../qemuxml2xmloutdata/graphics-dbus-p2p.xml  |     1 +
> > >  tests/qemuxml2xmloutdata/graphics-dbus.xml    |     1 +
> > >  tests/qemuxml2xmltest.c                       |    20 +
> > >  tools/virsh-domain.c                          |   366 +-
> > >  52 files changed, 42981 insertions(+), 192 deletions(-)
> > >  create mode 100644 tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml
> > >  create mode 100644 tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml
> > >  create mode 100644 tests/domaincapsdata/qemu_7.0.0.x86_64.xml
> > >  create mode 100644 tests/qemucapabilitiesdata/caps_7.0.0.x86_64.replies
> > >  create mode 100644 tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml
> > >  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-address.args
> > >  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-address.xml
> > >  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-audio.args
> > >  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-audio.xml
> > >  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-chardev.args
> > >  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-chardev.xml
> > >  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-clipboard.args
> > >  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-clipboard.xml
> > >  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-p2p.args
> > >  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-p2p.xml
> > >  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-usbredir.args
> > >  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-usbredir.xml
> > >  create mode 100644 tests/qemuxml2argvdata/graphics-dbus.args
> > >  create mode 100644 tests/qemuxml2argvdata/graphics-dbus.xml
> > >  create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-address.xml
> > >  create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-audio.xml
> > >  create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-chardev.xml
> > >  create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-clipboard.xml
> > >  create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-p2p.xml
> > >  create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus.xml
> > >
> > > --
> > > 2.34.1.8.g35151cf07204
> > >
> > >
> >
> > How will this work for the web (cockpit-machines, oVirt/RHV, and
> > KubeVirt/OpenShift Virtualization)?
>
> For remoting, an external VNC/Spice/RDP server should export the display.
>
> A simple VNC server is implemented here
> https://gitlab.com/marcandre.lureau/qemu-display/-/tree/master/qemu-vnc.
>
> I plan to work on an RDP server at some point.
>

You might want to look at some of the prior art for QEMU RDP
support[1][2]. It's probably not terribly helpful if you've got a
different approach now, but at least there was something in the past.

[1]: https://pagure.io/virt-with-rdp
[2]: https://github.com/datto/rdpmux

> >
> > Personally, I use virt-manager/virt-viewer *regularly*, so where's the
> > plan to have this supported there? What about QVirtManager? And so on?
>
> I have been working on a common gtk4 remote display widget which
> various applications can use (https://gitlab.gnome.org/malureau/rdw).
> Similarly for Qt apps, they will have to implement their own widget.
>

Hmm, okay...


-- 
真実はいつも一つ!/ Always, there's only one truth!


Re: [libvirt PATCH v3 00/16] Add QEMU "-display dbus" support
Posted by Marc-André Lureau 1 year, 12 months ago
Hi

On Wed, Dec 22, 2021 at 11:45 PM <marcandre.lureau@redhat.com> wrote:

> From: Marc-André Lureau <marcandre.lureau@redhat.com>
>
> Hi,
>
> This series implements supports for the uQEMU "-display dbus" support, that
> landed earlier this week for 7.0.
>
> By default, libvirt will start a private VM bus (sharing and reusing the
> existing "vmstate" VM bus & code).
>
> The feature set should cover the needs to replace Spice as local client of
> choice,
> including 3daccel/dmabuf, audio, clipboard sharing, usb redirection, and
> arbitrary
> chardev/channels (for serial etc).
>
> The test Gtk4 client is also in progress, currently in development at
> https://gitlab.com/marcandre.lureau/qemu-display/. A few dependencies,
> such as
> zbus, require an upcoming release. virt-viewer & boxes will need a port to
> Gtk4
> to make use of the shared widget.
>
> Comments welcome, as we can still adjust the QEMU side etc.
>

4 months later, the QEMU bits are now in the last release. This series has
certainly bit rot. Could someone give it a review before I attempt rebasing?

thanks


>
> thanks
>
> v3: after QEMU 7.0 dev cycle opening and merge
>  - rebased
>  - add 7.0 x86-64 capabilities (instead of tweaking 6.2)
>  - fix version annotations
>
> Marc-André Lureau (16):
>   qemu: add chardev-vdagent capability check
>   qemu: add -display dbus capability check
>   qemucapabilitiestest: Add x64 test data for the qemu-7.0 development
>     cycle
>   conf: add <graphics type='dbus'>
>   qemu: start the D-Bus daemon for the display
>   qemu: add -display dbus support
>   virsh: refactor/split cmdDomDisplay()
>   virsh: report the D-Bus bus URI for domdisplay
>   conf: add <audio type='dbus'> support
>   qemu: add audio type 'dbus'
>   conf: add dbus <clipboard>
>   qemu: add dbus clipboard sharing
>   conf: add <serial type='dbus'>
>   qemu: add -chardev dbus support
>   qemu: add usbredir type 'dbus'
>   docs: document <graphics> type dbus
>
>  NEWS.rst                                      |     7 +-
>  docs/formatdomain.rst                         |    43 +-
>  docs/schemas/basictypes.rng                   |     7 +
>  docs/schemas/domaincommon.rng                 |    71 +
>  src/bhyve/bhyve_command.c                     |     1 +
>  src/conf/domain_conf.c                        |   141 +-
>  src/conf/domain_conf.h                        |    15 +
>  src/conf/domain_validate.c                    |    41 +-
>  src/libxl/libxl_conf.c                        |     1 +
>  src/qemu/qemu_capabilities.c                  |     8 +
>  src/qemu/qemu_capabilities.h                  |     4 +
>  src/qemu/qemu_command.c                       |    77 +-
>  src/qemu/qemu_domain.c                        |     1 +
>  src/qemu/qemu_driver.c                        |    10 +-
>  src/qemu/qemu_extdevice.c                     |    13 +
>  src/qemu/qemu_hotplug.c                       |     1 +
>  src/qemu/qemu_monitor_json.c                  |    10 +
>  src/qemu/qemu_process.c                       |    41 +-
>  src/qemu/qemu_validate.c                      |    33 +
>  src/security/security_dac.c                   |     2 +
>  src/vmx/vmx.c                                 |     1 +
>  .../domaincapsdata/qemu_7.0.0-q35.x86_64.xml  |   231 +
>  .../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml  |   237 +
>  tests/domaincapsdata/qemu_7.0.0.x86_64.xml    |   231 +
>  .../caps_6.1.0.x86_64.xml                     |     1 +
>  .../caps_6.2.0.aarch64.xml                    |     1 +
>  .../caps_6.2.0.x86_64.xml                     |     1 +
>  .../caps_7.0.0.x86_64.replies                 | 37335 ++++++++++++++++
>  .../caps_7.0.0.x86_64.xml                     |  3720 ++
>  .../graphics-dbus-address.args                |    30 +
>  .../graphics-dbus-address.xml                 |    35 +
>  .../qemuxml2argvdata/graphics-dbus-audio.args |    33 +
>  .../qemuxml2argvdata/graphics-dbus-audio.xml  |    45 +
>  .../graphics-dbus-chardev.args                |    32 +
>  .../graphics-dbus-chardev.xml                 |    43 +
>  .../graphics-dbus-clipboard.args              |    31 +
>  .../graphics-dbus-clipboard.xml               |    35 +
>  tests/qemuxml2argvdata/graphics-dbus-p2p.args |    30 +
>  tests/qemuxml2argvdata/graphics-dbus-p2p.xml  |    33 +
>  .../graphics-dbus-usbredir.args               |    34 +
>  .../graphics-dbus-usbredir.xml                |    30 +
>  tests/qemuxml2argvdata/graphics-dbus.args     |    30 +
>  tests/qemuxml2argvdata/graphics-dbus.xml      |    33 +
>  tests/qemuxml2argvtest.c                      |    22 +
>  .../graphics-dbus-address.xml                 |     1 +
>  .../graphics-dbus-audio.xml                   |     1 +
>  .../graphics-dbus-chardev.xml                 |     1 +
>  .../graphics-dbus-clipboard.xml               |     1 +
>  .../qemuxml2xmloutdata/graphics-dbus-p2p.xml  |     1 +
>  tests/qemuxml2xmloutdata/graphics-dbus.xml    |     1 +
>  tests/qemuxml2xmltest.c                       |    20 +
>  tools/virsh-domain.c                          |   366 +-
>  52 files changed, 42981 insertions(+), 192 deletions(-)
>  create mode 100644 tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml
>  create mode 100644 tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml
>  create mode 100644 tests/domaincapsdata/qemu_7.0.0.x86_64.xml
>  create mode 100644 tests/qemucapabilitiesdata/caps_7.0.0.x86_64.replies
>  create mode 100644 tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml
>  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-address.args
>  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-address.xml
>  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-audio.args
>  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-audio.xml
>  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-chardev.args
>  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-chardev.xml
>  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-clipboard.args
>  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-clipboard.xml
>  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-p2p.args
>  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-p2p.xml
>  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-usbredir.args
>  create mode 100644 tests/qemuxml2argvdata/graphics-dbus-usbredir.xml
>  create mode 100644 tests/qemuxml2argvdata/graphics-dbus.args
>  create mode 100644 tests/qemuxml2argvdata/graphics-dbus.xml
>  create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-address.xml
>  create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-audio.xml
>  create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-chardev.xml
>  create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-clipboard.xml
>  create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-p2p.xml
>  create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus.xml
>
> --
> 2.34.1.8.g35151cf07204
>
>
>

-- 
Marc-André Lureau
Re: [libvirt PATCH v3 00/16] Add QEMU "-display dbus" support
Posted by Michal Prívozník 1 year, 11 months ago
On 5/2/22 09:29, Marc-André Lureau wrote:
> Hi
> 
> On Wed, Dec 22, 2021 at 11:45 PM <marcandre.lureau@redhat.com
> <mailto:marcandre.lureau@redhat.com>> wrote:
> 
>     From: Marc-André Lureau <marcandre.lureau@redhat.com
>     <mailto:marcandre.lureau@redhat.com>>
> 
>     Hi,
> 
>     This series implements supports for the uQEMU "-display dbus"
>     support, that
>     landed earlier this week for 7.0.
> 
>     By default, libvirt will start a private VM bus (sharing and reusing the
>     existing "vmstate" VM bus & code).
> 
>     The feature set should cover the needs to replace Spice as local
>     client of choice,
>     including 3daccel/dmabuf, audio, clipboard sharing, usb redirection,
>     and arbitrary
>     chardev/channels (for serial etc).
> 
>     The test Gtk4 client is also in progress, currently in development at
>     https://gitlab.com/marcandre.lureau/qemu-display/
>     <https://gitlab.com/marcandre.lureau/qemu-display/>. A few
>     dependencies, such as
>     zbus, require an upcoming release. virt-viewer & boxes will need a
>     port to Gtk4
>     to make use of the shared widget.
> 
>     Comments welcome, as we can still adjust the QEMU side etc.
> 
> 
> 4 months later, the QEMU bits are now in the last release. This series
> has certainly bit rot. Could someone give it a review before I attempt
> rebasing?


I went through patches and didn't spot anything obviously wrong. I think
if you rebase these they are ready to be sent again.

Michal