[PULL v2 00/36] ui: D-Bus display backend

marcandre.lureau@redhat.com posted 36 patches 2 years, 4 months ago
Test checkpatch failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20211221065855.142578-1-marcandre.lureau@redhat.com
docs/conf.py                    |   8 +
docs/interop/dbus-display.rst   |  31 ++
docs/interop/dbus-vmstate.rst   |  52 +--
docs/interop/dbus.rst           |   2 +
docs/interop/index.rst          |   1 +
docs/sphinx/dbusdoc.py          | 166 +++++++
docs/sphinx/dbusdomain.py       | 406 +++++++++++++++++
docs/sphinx/dbusparser.py       | 373 ++++++++++++++++
docs/sphinx/fakedbusdoc.py      |  25 ++
configure                       |   1 +
meson.build                     |  22 +-
qapi/audio.json                 |   3 +-
qapi/char.json                  |  27 ++
qapi/misc.json                  |   4 +-
qapi/ui.json                    |  34 +-
audio/audio_int.h               |   7 +
audio/audio_template.h          |   2 +
include/chardev/char-socket.h   |  86 ++++
include/qemu/cutils.h           |   5 +
include/qemu/dbus.h             |  24 +
include/qemu/option.h           |   2 +
include/ui/clipboard.h          |  55 ++-
include/ui/console.h            |  70 ++-
include/ui/dbus-display.h       |  17 +
include/ui/dbus-module.h        |  11 +
include/ui/egl-context.h        |   6 +-
include/ui/gtk.h                |  11 +-
include/ui/sdl2.h               |   7 +-
include/ui/spice-display.h      |   5 +-
tests/qtest/libqos/libqtest.h   |  10 +
ui/dbus.h                       | 144 ++++++
audio/audio.c                   |   1 +
audio/dbusaudio.c               | 654 +++++++++++++++++++++++++++
chardev/char-socket.c           |  72 +--
hw/display/qxl.c                |   7 +-
hw/display/vhost-user-gpu.c     |   2 +-
hw/display/virtio-gpu-base.c    |   5 +-
hw/display/virtio-gpu-virgl.c   |   3 +-
hw/display/virtio-vga.c         |  11 -
monitor/qmp-cmds.c              |  13 +
tests/qtest/dbus-display-test.c | 257 +++++++++++
tests/qtest/libqtest.c          |  19 +
ui/clipboard.c                  |  34 +-
ui/console.c                    | 305 +++++++++----
ui/dbus-chardev.c               | 296 +++++++++++++
ui/dbus-clipboard.c             | 457 +++++++++++++++++++
ui/dbus-console.c               | 497 +++++++++++++++++++++
ui/dbus-error.c                 |  48 ++
ui/dbus-listener.c              | 486 ++++++++++++++++++++
ui/dbus-module.c                |  35 ++
ui/dbus.c                       | 482 ++++++++++++++++++++
ui/egl-context.c                |   6 +-
ui/egl-headless.c               |  20 +-
ui/gtk-clipboard.c              |  23 +-
ui/gtk-egl.c                    |  12 +-
ui/gtk-gl-area.c                |  10 +-
ui/gtk.c                        |  28 +-
ui/sdl2-gl.c                    |  12 +-
ui/sdl2.c                       |  16 +-
ui/spice-core.c                 |  50 ---
ui/spice-display.c              |  27 +-
ui/util.c                       |  75 ++++
ui/vdagent.c                    |  94 +++-
ui/vnc-clipboard.c              |  23 +-
ui/vnc.c                        |   4 +-
MAINTAINERS                     |  10 +-
audio/meson.build               |   6 +
audio/trace-events              |   5 +
backends/dbus-vmstate1.xml      |  52 +++
meson_options.txt               |   2 +
qemu-options.hx                 |  20 +
scripts/meson-buildoptions.sh   |   3 +
scripts/modinfo-collect.py      |   3 +
tests/qtest/dbus-vmstate1.xml   |  12 -
tests/qtest/meson.build         |  10 +-
ui/cocoa.m                      |  22 +-
ui/dbus-display1.xml            | 761 ++++++++++++++++++++++++++++++++
ui/meson.build                  |  28 ++
ui/trace-events                 |  15 +
79 files changed, 6249 insertions(+), 401 deletions(-)
create mode 100644 docs/interop/dbus-display.rst
create mode 100644 docs/sphinx/dbusdoc.py
create mode 100644 docs/sphinx/dbusdomain.py
create mode 100644 docs/sphinx/dbusparser.py
create mode 100644 docs/sphinx/fakedbusdoc.py
create mode 100644 include/chardev/char-socket.h
create mode 100644 include/ui/dbus-display.h
create mode 100644 include/ui/dbus-module.h
create mode 100644 ui/dbus.h
create mode 100644 audio/dbusaudio.c
create mode 100644 tests/qtest/dbus-display-test.c
create mode 100644 ui/dbus-chardev.c
create mode 100644 ui/dbus-clipboard.c
create mode 100644 ui/dbus-console.c
create mode 100644 ui/dbus-error.c
create mode 100644 ui/dbus-listener.c
create mode 100644 ui/dbus-module.c
create mode 100644 ui/dbus.c
create mode 100644 ui/util.c
create mode 100644 backends/dbus-vmstate1.xml
delete mode 100644 tests/qtest/dbus-vmstate1.xml
create mode 100644 ui/dbus-display1.xml
[PULL v2 00/36] ui: D-Bus display backend
Posted by marcandre.lureau@redhat.com 2 years, 4 months ago
From: Marc-André Lureau <marcandre.lureau@redhat.com>

The following changes since commit 2bf40d0841b942e7ba12953d515e62a436f0af84:

  Merge tag 'pull-user-20211220' of https://gitlab.com/rth7680/qemu into staging (2021-12-20 13:20:07 -0800)

are available in the Git repository at:

  https://gitlab.com/marcandre.lureau/qemu.git tags/dbus-pull-request

for you to fetch changes up to 89f4df9595e162ce4cc65f31a994a31e3e45ff3a:

  MAINTAINERS: update D-Bus section (2021-12-21 10:50:22 +0400)

----------------------------------------------------------------
Add D-Bus display backend

----------------------------------------------------------------

v2:
 - fix Cocoa build
 - fix 6.2->7.0 version annotations

Marc-André Lureau (36):
  ui/vdagent: add CHECK_SPICE_PROTOCOL_VERSION
  ui/vdagent: replace #if 0 with protocol version check
  ui: generalize clipboard notifier
  ui/vdagent: add serial capability support
  ui/clipboard: add qemu_clipboard_check_serial()
  ui/clipboard: add a clipboard reset serial event
  hw/display: report an error if virgl initialization failed
  virtio-gpu: use VIRTIO_GPU_RESOURCE_FLAG_Y_0_TOP
  ui: do not delay further remote resize
  ui: factor out qemu_console_set_display_gl_ctx()
  ui: associate GL context outside of display listener registration
  ui: make gl_block use a counter
  ui: add a gl-unblock warning timer
  ui: simplify gl unblock & flush
  ui: dispatch GL events to all listeners
  ui: split the GL context in a different object
  ui: move qemu_spice_fill_device_address to ui/util.c
  console: save current scanout details
  scripts: teach modinfo to skip non-C sources
  docs/sphinx: add sphinx modules to include D-Bus documentation
  backends: move dbus-vmstate1.xml to backends/
  docs: move D-Bus VMState documentation to source XML
  docs: add dbus-display documentation
  build-sys: set glib dependency version
  ui: add a D-Bus display backend
  ui/dbus: add p2p=on/off option
  tests/qtests: add qtest_qmp_add_client()
  tests: start dbus-display-test
  audio: add "dbus" audio backend
  ui/dbus: add clipboard interface
  chardev: teach socket to accept no addresses
  chardev: make socket derivable
  option: add g_auto for QemuOpts
  ui/dbus: add chardev backend & interface
  ui/dbus: register D-Bus VC handler
  MAINTAINERS: update D-Bus section

 docs/conf.py                    |   8 +
 docs/interop/dbus-display.rst   |  31 ++
 docs/interop/dbus-vmstate.rst   |  52 +--
 docs/interop/dbus.rst           |   2 +
 docs/interop/index.rst          |   1 +
 docs/sphinx/dbusdoc.py          | 166 +++++++
 docs/sphinx/dbusdomain.py       | 406 +++++++++++++++++
 docs/sphinx/dbusparser.py       | 373 ++++++++++++++++
 docs/sphinx/fakedbusdoc.py      |  25 ++
 configure                       |   1 +
 meson.build                     |  22 +-
 qapi/audio.json                 |   3 +-
 qapi/char.json                  |  27 ++
 qapi/misc.json                  |   4 +-
 qapi/ui.json                    |  34 +-
 audio/audio_int.h               |   7 +
 audio/audio_template.h          |   2 +
 include/chardev/char-socket.h   |  86 ++++
 include/qemu/cutils.h           |   5 +
 include/qemu/dbus.h             |  24 +
 include/qemu/option.h           |   2 +
 include/ui/clipboard.h          |  55 ++-
 include/ui/console.h            |  70 ++-
 include/ui/dbus-display.h       |  17 +
 include/ui/dbus-module.h        |  11 +
 include/ui/egl-context.h        |   6 +-
 include/ui/gtk.h                |  11 +-
 include/ui/sdl2.h               |   7 +-
 include/ui/spice-display.h      |   5 +-
 tests/qtest/libqos/libqtest.h   |  10 +
 ui/dbus.h                       | 144 ++++++
 audio/audio.c                   |   1 +
 audio/dbusaudio.c               | 654 +++++++++++++++++++++++++++
 chardev/char-socket.c           |  72 +--
 hw/display/qxl.c                |   7 +-
 hw/display/vhost-user-gpu.c     |   2 +-
 hw/display/virtio-gpu-base.c    |   5 +-
 hw/display/virtio-gpu-virgl.c   |   3 +-
 hw/display/virtio-vga.c         |  11 -
 monitor/qmp-cmds.c              |  13 +
 tests/qtest/dbus-display-test.c | 257 +++++++++++
 tests/qtest/libqtest.c          |  19 +
 ui/clipboard.c                  |  34 +-
 ui/console.c                    | 305 +++++++++----
 ui/dbus-chardev.c               | 296 +++++++++++++
 ui/dbus-clipboard.c             | 457 +++++++++++++++++++
 ui/dbus-console.c               | 497 +++++++++++++++++++++
 ui/dbus-error.c                 |  48 ++
 ui/dbus-listener.c              | 486 ++++++++++++++++++++
 ui/dbus-module.c                |  35 ++
 ui/dbus.c                       | 482 ++++++++++++++++++++
 ui/egl-context.c                |   6 +-
 ui/egl-headless.c               |  20 +-
 ui/gtk-clipboard.c              |  23 +-
 ui/gtk-egl.c                    |  12 +-
 ui/gtk-gl-area.c                |  10 +-
 ui/gtk.c                        |  28 +-
 ui/sdl2-gl.c                    |  12 +-
 ui/sdl2.c                       |  16 +-
 ui/spice-core.c                 |  50 ---
 ui/spice-display.c              |  27 +-
 ui/util.c                       |  75 ++++
 ui/vdagent.c                    |  94 +++-
 ui/vnc-clipboard.c              |  23 +-
 ui/vnc.c                        |   4 +-
 MAINTAINERS                     |  10 +-
 audio/meson.build               |   6 +
 audio/trace-events              |   5 +
 backends/dbus-vmstate1.xml      |  52 +++
 meson_options.txt               |   2 +
 qemu-options.hx                 |  20 +
 scripts/meson-buildoptions.sh   |   3 +
 scripts/modinfo-collect.py      |   3 +
 tests/qtest/dbus-vmstate1.xml   |  12 -
 tests/qtest/meson.build         |  10 +-
 ui/cocoa.m                      |  22 +-
 ui/dbus-display1.xml            | 761 ++++++++++++++++++++++++++++++++
 ui/meson.build                  |  28 ++
 ui/trace-events                 |  15 +
 79 files changed, 6249 insertions(+), 401 deletions(-)
 create mode 100644 docs/interop/dbus-display.rst
 create mode 100644 docs/sphinx/dbusdoc.py
 create mode 100644 docs/sphinx/dbusdomain.py
 create mode 100644 docs/sphinx/dbusparser.py
 create mode 100644 docs/sphinx/fakedbusdoc.py
 create mode 100644 include/chardev/char-socket.h
 create mode 100644 include/ui/dbus-display.h
 create mode 100644 include/ui/dbus-module.h
 create mode 100644 ui/dbus.h
 create mode 100644 audio/dbusaudio.c
 create mode 100644 tests/qtest/dbus-display-test.c
 create mode 100644 ui/dbus-chardev.c
 create mode 100644 ui/dbus-clipboard.c
 create mode 100644 ui/dbus-console.c
 create mode 100644 ui/dbus-error.c
 create mode 100644 ui/dbus-listener.c
 create mode 100644 ui/dbus-module.c
 create mode 100644 ui/dbus.c
 create mode 100644 ui/util.c
 create mode 100644 backends/dbus-vmstate1.xml
 delete mode 100644 tests/qtest/dbus-vmstate1.xml
 create mode 100644 ui/dbus-display1.xml

-- 
2.34.1.8.g35151cf07204



Re: [PULL v2 00/36] ui: D-Bus display backend
Posted by Richard Henderson 2 years, 4 months ago
On 12/20/21 10:58 PM, marcandre.lureau@redhat.com wrote:
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
> 
> The following changes since commit 2bf40d0841b942e7ba12953d515e62a436f0af84:
> 
>    Merge tag 'pull-user-20211220' of https://gitlab.com/rth7680/qemu into staging (2021-12-20 13:20:07 -0800)
> 
> are available in the Git repository at:
> 
>    https://gitlab.com/marcandre.lureau/qemu.git tags/dbus-pull-request
> 
> for you to fetch changes up to 89f4df9595e162ce4cc65f31a994a31e3e45ff3a:
> 
>    MAINTAINERS: update D-Bus section (2021-12-21 10:50:22 +0400)
> 
> ----------------------------------------------------------------
> Add D-Bus display backend
> 
> ----------------------------------------------------------------
> 
> v2:
>   - fix Cocoa build
>   - fix 6.2->7.0 version annotations
> 
> Marc-André Lureau (36):
>    ui/vdagent: add CHECK_SPICE_PROTOCOL_VERSION
>    ui/vdagent: replace #if 0 with protocol version check
>    ui: generalize clipboard notifier
>    ui/vdagent: add serial capability support
>    ui/clipboard: add qemu_clipboard_check_serial()
>    ui/clipboard: add a clipboard reset serial event
>    hw/display: report an error if virgl initialization failed
>    virtio-gpu: use VIRTIO_GPU_RESOURCE_FLAG_Y_0_TOP
>    ui: do not delay further remote resize
>    ui: factor out qemu_console_set_display_gl_ctx()
>    ui: associate GL context outside of display listener registration
>    ui: make gl_block use a counter
>    ui: add a gl-unblock warning timer
>    ui: simplify gl unblock & flush
>    ui: dispatch GL events to all listeners
>    ui: split the GL context in a different object
>    ui: move qemu_spice_fill_device_address to ui/util.c
>    console: save current scanout details
>    scripts: teach modinfo to skip non-C sources
>    docs/sphinx: add sphinx modules to include D-Bus documentation
>    backends: move dbus-vmstate1.xml to backends/
>    docs: move D-Bus VMState documentation to source XML
>    docs: add dbus-display documentation
>    build-sys: set glib dependency version
>    ui: add a D-Bus display backend
>    ui/dbus: add p2p=on/off option
>    tests/qtests: add qtest_qmp_add_client()
>    tests: start dbus-display-test
>    audio: add "dbus" audio backend
>    ui/dbus: add clipboard interface
>    chardev: teach socket to accept no addresses
>    chardev: make socket derivable
>    option: add g_auto for QemuOpts
>    ui/dbus: add chardev backend & interface
>    ui/dbus: register D-Bus VC handler
>    MAINTAINERS: update D-Bus section
> 
>   docs/conf.py                    |   8 +
>   docs/interop/dbus-display.rst   |  31 ++
>   docs/interop/dbus-vmstate.rst   |  52 +--
>   docs/interop/dbus.rst           |   2 +
>   docs/interop/index.rst          |   1 +
>   docs/sphinx/dbusdoc.py          | 166 +++++++
>   docs/sphinx/dbusdomain.py       | 406 +++++++++++++++++
>   docs/sphinx/dbusparser.py       | 373 ++++++++++++++++
>   docs/sphinx/fakedbusdoc.py      |  25 ++
>   configure                       |   1 +
>   meson.build                     |  22 +-
>   qapi/audio.json                 |   3 +-
>   qapi/char.json                  |  27 ++
>   qapi/misc.json                  |   4 +-
>   qapi/ui.json                    |  34 +-
>   audio/audio_int.h               |   7 +
>   audio/audio_template.h          |   2 +
>   include/chardev/char-socket.h   |  86 ++++
>   include/qemu/cutils.h           |   5 +
>   include/qemu/dbus.h             |  24 +
>   include/qemu/option.h           |   2 +
>   include/ui/clipboard.h          |  55 ++-
>   include/ui/console.h            |  70 ++-
>   include/ui/dbus-display.h       |  17 +
>   include/ui/dbus-module.h        |  11 +
>   include/ui/egl-context.h        |   6 +-
>   include/ui/gtk.h                |  11 +-
>   include/ui/sdl2.h               |   7 +-
>   include/ui/spice-display.h      |   5 +-
>   tests/qtest/libqos/libqtest.h   |  10 +
>   ui/dbus.h                       | 144 ++++++
>   audio/audio.c                   |   1 +
>   audio/dbusaudio.c               | 654 +++++++++++++++++++++++++++
>   chardev/char-socket.c           |  72 +--
>   hw/display/qxl.c                |   7 +-
>   hw/display/vhost-user-gpu.c     |   2 +-
>   hw/display/virtio-gpu-base.c    |   5 +-
>   hw/display/virtio-gpu-virgl.c   |   3 +-
>   hw/display/virtio-vga.c         |  11 -
>   monitor/qmp-cmds.c              |  13 +
>   tests/qtest/dbus-display-test.c | 257 +++++++++++
>   tests/qtest/libqtest.c          |  19 +
>   ui/clipboard.c                  |  34 +-
>   ui/console.c                    | 305 +++++++++----
>   ui/dbus-chardev.c               | 296 +++++++++++++
>   ui/dbus-clipboard.c             | 457 +++++++++++++++++++
>   ui/dbus-console.c               | 497 +++++++++++++++++++++
>   ui/dbus-error.c                 |  48 ++
>   ui/dbus-listener.c              | 486 ++++++++++++++++++++
>   ui/dbus-module.c                |  35 ++
>   ui/dbus.c                       | 482 ++++++++++++++++++++
>   ui/egl-context.c                |   6 +-
>   ui/egl-headless.c               |  20 +-
>   ui/gtk-clipboard.c              |  23 +-
>   ui/gtk-egl.c                    |  12 +-
>   ui/gtk-gl-area.c                |  10 +-
>   ui/gtk.c                        |  28 +-
>   ui/sdl2-gl.c                    |  12 +-
>   ui/sdl2.c                       |  16 +-
>   ui/spice-core.c                 |  50 ---
>   ui/spice-display.c              |  27 +-
>   ui/util.c                       |  75 ++++
>   ui/vdagent.c                    |  94 +++-
>   ui/vnc-clipboard.c              |  23 +-
>   ui/vnc.c                        |   4 +-
>   MAINTAINERS                     |  10 +-
>   audio/meson.build               |   6 +
>   audio/trace-events              |   5 +
>   backends/dbus-vmstate1.xml      |  52 +++
>   meson_options.txt               |   2 +
>   qemu-options.hx                 |  20 +
>   scripts/meson-buildoptions.sh   |   3 +
>   scripts/modinfo-collect.py      |   3 +
>   tests/qtest/dbus-vmstate1.xml   |  12 -
>   tests/qtest/meson.build         |  10 +-
>   ui/cocoa.m                      |  22 +-
>   ui/dbus-display1.xml            | 761 ++++++++++++++++++++++++++++++++
>   ui/meson.build                  |  28 ++
>   ui/trace-events                 |  15 +
>   79 files changed, 6249 insertions(+), 401 deletions(-)
>   create mode 100644 docs/interop/dbus-display.rst
>   create mode 100644 docs/sphinx/dbusdoc.py
>   create mode 100644 docs/sphinx/dbusdomain.py
>   create mode 100644 docs/sphinx/dbusparser.py
>   create mode 100644 docs/sphinx/fakedbusdoc.py
>   create mode 100644 include/chardev/char-socket.h
>   create mode 100644 include/ui/dbus-display.h
>   create mode 100644 include/ui/dbus-module.h
>   create mode 100644 ui/dbus.h
>   create mode 100644 audio/dbusaudio.c
>   create mode 100644 tests/qtest/dbus-display-test.c
>   create mode 100644 ui/dbus-chardev.c
>   create mode 100644 ui/dbus-clipboard.c
>   create mode 100644 ui/dbus-console.c
>   create mode 100644 ui/dbus-error.c
>   create mode 100644 ui/dbus-listener.c
>   create mode 100644 ui/dbus-module.c
>   create mode 100644 ui/dbus.c
>   create mode 100644 ui/util.c
>   create mode 100644 backends/dbus-vmstate1.xml
>   delete mode 100644 tests/qtest/dbus-vmstate1.xml
>   create mode 100644 ui/dbus-display1.xml

Applied, thanks.

r~