[libvirt PATCH 0/9] WIP/RFC: add QEMU "-display dbus" support
Marc-André Lureau
marcandre.lureau at redhat.com
Mon Nov 29 12:22:04 UTC 2021
Hi
On Fri, Nov 5, 2021 at 2:51 PM <marcandre.lureau at redhat.com> wrote:
>
> From: Marc-André Lureau <marcandre.lureau at redhat.com>
>
> Hi,
>
> This series implements supports for the upcoming QEMU "-display dbus" support.
> Development is still in progress, but I hope to land the QEMU support early in
> 6.3 (last version posted:
> https://patchew.org/QEMU/20211009210838.2219430-1-marcandre.lureau@redhat.com/).
>
> By default, libvirt will start a private VM bus (sharing and reusing the
> existing "vmstate" code). A client will need the address of the bus and access
> to it. Since D-Bus addresses are not URIs unfortunately, I am not sure yet what
> should "virsh domdisplay" return.
>
> 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.
No comments?
thanks
>
> thanks
>
> Marc-André Lureau (9):
> qemu: start the D-Bus daemon as needed
> qemu: add chardev-vdagent capability check
> qemu: add -display dbus capability check (to update to 6.3)
> qemu: add -display dbus support
> qemu: add audio type 'dbus'
> qemu: add dbus clipboard sharing
> qemu: add -chardev dbus
> qemu: add usbredir type 'dbus'
> docs: document <graphics> type dbus
>
> docs/formatdomain.rst | 24 ++++
> docs/schemas/basictypes.rng | 7 ++
> docs/schemas/domaincommon.rng | 71 +++++++++++
> src/bhyve/bhyve_command.c | 1 +
> src/conf/domain_conf.c | 116 +++++++++++++++++-
> src/conf/domain_conf.h | 14 +++
> src/conf/domain_validate.c | 32 +++--
> src/libxl/libxl_conf.c | 1 +
> src/qemu/qemu_capabilities.c | 6 +
> src/qemu/qemu_capabilities.h | 2 +
> src/qemu/qemu_command.c | 94 +++++++++++++-
> src/qemu/qemu_domain.c | 1 +
> src/qemu/qemu_domain.h | 1 +
> src/qemu/qemu_driver.c | 10 +-
> src/qemu/qemu_hotplug.c | 1 +
> src/qemu/qemu_monitor_json.c | 1 +
> src/qemu/qemu_process.c | 15 ++-
> src/qemu/qemu_validate.c | 33 +++++
> src/security/security_dac.c | 2 +
> src/vmx/vmx.c | 1 +
> .../domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 1 +
> .../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 1 +
> tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 1 +
> .../caps_6.1.0.x86_64.xml | 1 +
> .../caps_6.2.0.aarch64.xml | 1 +
> .../caps_6.2.0.x86_64.replies | 10 +-
> .../caps_6.2.0.x86_64.xml | 2 +
> .../graphics-dbus-address.args | 31 +++++
> .../graphics-dbus-address.xml | 34 +++++
> .../qemuxml2argvdata/graphics-dbus-audio.args | 32 +++++
> .../qemuxml2argvdata/graphics-dbus-audio.xml | 40 ++++++
> .../graphics-dbus-chardev.args | 33 +++++
> .../graphics-dbus-chardev.xml | 38 ++++++
> .../graphics-dbus-clipboard.args | 32 +++++
> .../graphics-dbus-clipboard.xml | 36 ++++++
> tests/qemuxml2argvdata/graphics-dbus-p2p.args | 31 +++++
> tests/qemuxml2argvdata/graphics-dbus-p2p.xml | 36 ++++++
> .../graphics-dbus-usbredir.args | 35 ++++++
> .../graphics-dbus-usbredir.xml | 36 ++++++
> tests/qemuxml2argvdata/graphics-dbus.args | 31 +++++
> tests/qemuxml2argvdata/graphics-dbus.xml | 34 +++++
> tests/qemuxml2argvtest.c | 21 ++++
> .../graphics-dbus-address.xml | 39 ++++++
> .../graphics-dbus-audio.xml | 43 +++++++
> .../qemuxml2xmloutdata/graphics-dbus-p2p.xml | 39 ++++++
> tests/qemuxml2xmloutdata/graphics-dbus.xml | 39 ++++++
> tests/qemuxml2xmltest.c | 14 +++
> 47 files changed, 1106 insertions(+), 18 deletions(-)
> 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 100644 tests/qemuxml2xmloutdata/graphics-dbus-address.xml
> create mode 100644 tests/qemuxml2xmloutdata/graphics-dbus-audio.xml
> create mode 100644 tests/qemuxml2xmloutdata/graphics-dbus-p2p.xml
> create mode 100644 tests/qemuxml2xmloutdata/graphics-dbus.xml
>
> --
> 2.33.0.721.g106298f7f9
>
>
More information about the libvir-list
mailing list