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
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
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!
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.
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!
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
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
© 2016 - 2024 Red Hat, Inc.