[PATCH 00/27] Add D-Bus display backend

marcandre.lureau@redhat.com posted 27 patches 3 years, 1 month ago
Test checkpatch failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210312100108.2706195-1-marcandre.lureau@redhat.com
There is a newer version of this series
docs/interop/vhost-user.rst               |  10 +
meson.build                               |   5 +
qapi/audio.json                           |   3 +-
qapi/ui.json                              |  27 +-
audio/audio_int.h                         |   7 +
audio/audio_template.h                    |   2 +
contrib/vhost-user-gpu/vugbm.h            |   2 +-
contrib/vhost-user-gpu/vugpu.h            |  37 +-
include/hw/virtio/vhost-backend.h         |   2 +
include/hw/virtio/virtio-gpu.h            |   1 +
include/qemu/dbus.h                       |  20 +
include/ui/console.h                      |  68 ++-
include/ui/egl-context.h                  |   6 +-
include/ui/gtk.h                          |  11 +-
include/ui/sdl2.h                         |   7 +-
include/ui/spice-display.h                |   5 +-
subprojects/libvhost-user/libvhost-user.h |   5 +
ui/dbus.h                                 |  69 +++
audio/audio.c                             |   1 +
audio/dbusaudio.c                         | 649 ++++++++++++++++++++++
contrib/vhost-user-gpu/vhost-user-gpu.c   | 580 +++++++++++++++----
contrib/vhost-user-gpu/virgl.c            |  45 +-
contrib/vhost-user-gpu/vugbm.c            |  44 +-
hw/display/qxl.c                          |   5 +-
hw/display/vhost-user-gpu.c               |  35 +-
hw/display/virtio-gpu-base.c              |  19 +-
hw/display/virtio-vga.c                   |  13 +-
hw/virtio/vhost-user.c                    |  23 +
ui/console.c                              | 312 +++++++----
ui/dbus-console.c                         | 460 +++++++++++++++
ui/dbus-error.c                           |  45 ++
ui/dbus-listener.c                        | 480 ++++++++++++++++
ui/dbus.c                                 | 290 ++++++++++
ui/egl-context.c                          |   6 +-
ui/egl-headless.c                         |  20 +-
ui/gtk-egl.c                              |  11 +-
ui/gtk-gl-area.c                          |   9 +-
ui/gtk.c                                  |  25 +-
ui/sdl2-gl.c                              |  12 +-
ui/sdl2.c                                 |  14 +-
ui/spice-core.c                           |  50 --
ui/spice-display.c                        |  25 +-
ui/util.c                                 |  75 +++
util/module.c                             |   3 +
audio/meson.build                         |   3 +-
audio/trace-events                        |   5 +
contrib/vhost-user-gpu/meson.build        |   6 +-
qemu-options.hx                           |  11 +
ui/dbus-display1.xml                      | 205 +++++++
ui/meson.build                            |  18 +
ui/trace-events                           |  11 +
51 files changed, 3386 insertions(+), 411 deletions(-)
create mode 100644 ui/dbus.h
create mode 100644 audio/dbusaudio.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.c
create mode 100644 ui/util.c
create mode 100644 ui/dbus-display1.xml
[PATCH 00/27] Add D-Bus display backend
Posted by marcandre.lureau@redhat.com 3 years, 1 month ago
From: Marc-André Lureau <marcandre.lureau@redhat.com>

Hi,

Both Spice and VNC are relatively complex and inefficient for local-only
display/console export. The goal of this display backend is to export over D-Bus
an interface close to the QEMU internal console API. Any -display or -audio
backend should be possible to implement externally that way. D-Bus is the
protocol of choice for the desktop, it has many convenient bindings for various
languages, or tools (d-feet, busctl etc). Data blob transfer is more efficient
than QMP too.

This implementation makes use of p2p connections for data streaming, and a bus
for basic introspection & interactions. It is currently Unix-only, but it should
be possible to port to other systems relatively easily (minus fd-passing, which
will have to use fallback or different methods).

This will allow to lift some task from the QEMU process (Spice or VNC aren't
trivial!). Backends can come and go. You can have several display opened (say
Boxes & virt-manager), while exporting the display over VNC for example.

An IPC interface is an easy starting point for writing backends in different
languages. I started a Gtk4 & VNC backends in Rust. Rather than rewrite existing
backends, it would be more interesting to develop new ones imho, such as a RDP
backend (based on IronRDP & freerdp). An option is also to build the QEMU
backends as D-Bus backends (maybe not too difficult).

Given the current goals, the D-Bus interface is not meant to be stable.
Clients/backends should be shipped together with QEMU. QEMU could ship its own
Gtk4 widget/library (ideally written in Rust, with an exposed C/GIR API).

The last part of the series modify vhost-user-gpu to notify directly the client
of display changes, bypassing QEMU (VGA-time will be blank, atm)

Basic testing:
$ qemu-system- ... -display dbus

And after git clone https://gitlab.com/marcandre.lureau/qemu-display.git
$ cargo run --bin qemu-gtk4

Better to use with gl=on and virgl. You may also export audio with "-audiodev
dbus" (see related patch).

Marc-André Lureau (27):
  ui: fold qemu_alloc_display in only caller
  vhost-user-gpu: glFlush before notifying clients
  vhost-user-gpu: fix vugbm_device_init fallback
  vhost-user-gpu: fix cursor move/update
  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
  ui: add a D-Bus display backend
  audio: add dbusaudio backend
  vhost-user-gpu: add vg_send_disable_scanout()
  vhost-user-gpu: add vg_send_scanout_dmabuf()
  vhost-user-gpu: add vg_send_dmabuf_update()
  vhost-user-gpu: add vg_send_scanout()
  vhost-user-gpu: add vg_send_cursor_update()
  vhost-user-gpu: add vg_send_cursor_pos()
  vhost-user-gpu: add vg_send_update()
  vhost-user: add VHOST_USER_GPU_QEMU_DBUS_LISTENER
  ui: add GraphicHwOps.register_dbus_listener()
  vhost-user-gpu: implement register_dbus_listener()
  vhost-user-gpu: check the PIXMAN format is supported
  vhost-user-gpu: implement GPU_QEMU_DBUS_LISTENER

 docs/interop/vhost-user.rst               |  10 +
 meson.build                               |   5 +
 qapi/audio.json                           |   3 +-
 qapi/ui.json                              |  27 +-
 audio/audio_int.h                         |   7 +
 audio/audio_template.h                    |   2 +
 contrib/vhost-user-gpu/vugbm.h            |   2 +-
 contrib/vhost-user-gpu/vugpu.h            |  37 +-
 include/hw/virtio/vhost-backend.h         |   2 +
 include/hw/virtio/virtio-gpu.h            |   1 +
 include/qemu/dbus.h                       |  20 +
 include/ui/console.h                      |  68 ++-
 include/ui/egl-context.h                  |   6 +-
 include/ui/gtk.h                          |  11 +-
 include/ui/sdl2.h                         |   7 +-
 include/ui/spice-display.h                |   5 +-
 subprojects/libvhost-user/libvhost-user.h |   5 +
 ui/dbus.h                                 |  69 +++
 audio/audio.c                             |   1 +
 audio/dbusaudio.c                         | 649 ++++++++++++++++++++++
 contrib/vhost-user-gpu/vhost-user-gpu.c   | 580 +++++++++++++++----
 contrib/vhost-user-gpu/virgl.c            |  45 +-
 contrib/vhost-user-gpu/vugbm.c            |  44 +-
 hw/display/qxl.c                          |   5 +-
 hw/display/vhost-user-gpu.c               |  35 +-
 hw/display/virtio-gpu-base.c              |  19 +-
 hw/display/virtio-vga.c                   |  13 +-
 hw/virtio/vhost-user.c                    |  23 +
 ui/console.c                              | 312 +++++++----
 ui/dbus-console.c                         | 460 +++++++++++++++
 ui/dbus-error.c                           |  45 ++
 ui/dbus-listener.c                        | 480 ++++++++++++++++
 ui/dbus.c                                 | 290 ++++++++++
 ui/egl-context.c                          |   6 +-
 ui/egl-headless.c                         |  20 +-
 ui/gtk-egl.c                              |  11 +-
 ui/gtk-gl-area.c                          |   9 +-
 ui/gtk.c                                  |  25 +-
 ui/sdl2-gl.c                              |  12 +-
 ui/sdl2.c                                 |  14 +-
 ui/spice-core.c                           |  50 --
 ui/spice-display.c                        |  25 +-
 ui/util.c                                 |  75 +++
 util/module.c                             |   3 +
 audio/meson.build                         |   3 +-
 audio/trace-events                        |   5 +
 contrib/vhost-user-gpu/meson.build        |   6 +-
 qemu-options.hx                           |  11 +
 ui/dbus-display1.xml                      | 205 +++++++
 ui/meson.build                            |  18 +
 ui/trace-events                           |  11 +
 51 files changed, 3386 insertions(+), 411 deletions(-)
 create mode 100644 ui/dbus.h
 create mode 100644 audio/dbusaudio.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.c
 create mode 100644 ui/util.c
 create mode 100644 ui/dbus-display1.xml

-- 
2.29.0



Re: [PATCH 00/27] Add D-Bus display backend
Posted by no-reply@patchew.org 3 years, 1 month ago
Patchew URL: https://patchew.org/QEMU/20210312100108.2706195-1-marcandre.lureau@redhat.com/



Hi,

This series seems to have some coding style problems. See output below for
more information:

Type: series
Message-id: 20210312100108.2706195-1-marcandre.lureau@redhat.com
Subject: [PATCH 00/27] Add D-Bus display backend

=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 * [new tag]         patchew/20210312105711.551423-1-joel@jms.id.au -> patchew/20210312105711.551423-1-joel@jms.id.au
Switched to a new branch 'test'
f73f113 vhost-user-gpu: implement GPU_QEMU_DBUS_LISTENER
6ba1380 vhost-user-gpu: check the PIXMAN format is supported
ad37d6c vhost-user-gpu: implement register_dbus_listener()
e2eafdc ui: add GraphicHwOps.register_dbus_listener()
1e8ed11 vhost-user: add VHOST_USER_GPU_QEMU_DBUS_LISTENER
b28fa97 vhost-user-gpu: add vg_send_update()
0086f32 vhost-user-gpu: add vg_send_cursor_pos()
65e37ed vhost-user-gpu: add vg_send_cursor_update()
3226e4d vhost-user-gpu: add vg_send_scanout()
b8c78ef vhost-user-gpu: add vg_send_dmabuf_update()
bf9cd35 vhost-user-gpu: add vg_send_scanout_dmabuf()
141fb49 vhost-user-gpu: add vg_send_disable_scanout()
a60e70f audio: add dbusaudio backend
7d71890 ui: add a D-Bus display backend
baacefe console: save current scanout details
4cf336e ui: move qemu_spice_fill_device_address to ui/util.c
0240791 ui: split the GL context in a different object
f7870a3 ui: dispatch GL events to all listeners
7a9e313 ui: simplify gl unblock & flush
6270081 ui: add a gl-unblock warning timer
1368d16 ui: make gl_block use a counter
07c825b ui: associate GL context outside of display listener registration
7288b5e ui: factor out qemu_console_set_display_gl_ctx()
fe72bec vhost-user-gpu: fix cursor move/update
b18bd90 vhost-user-gpu: fix vugbm_device_init fallback
14d3ee3 vhost-user-gpu: glFlush before notifying clients
2b2ff66 ui: fold qemu_alloc_display in only caller

=== OUTPUT BEGIN ===
1/27 Checking commit 2b2ff665eaea (ui: fold qemu_alloc_display in only caller)
2/27 Checking commit 14d3ee3cb6cf (vhost-user-gpu: glFlush before notifying clients)
3/27 Checking commit b18bd90d6f40 (vhost-user-gpu: fix vugbm_device_init fallback)
4/27 Checking commit fe72bec1d42e (vhost-user-gpu: fix cursor move/update)
5/27 Checking commit 7288b5e4f5bd (ui: factor out qemu_console_set_display_gl_ctx())
WARNING: line over 80 characters
#25: FILE: include/ui/console.h:416:
+void qemu_console_set_display_gl_ctx(QemuConsole *con, DisplayChangeListener *dcl);

WARNING: line over 80 characters
#38: FILE: ui/console.c:1505:
+void qemu_console_set_display_gl_ctx(QemuConsole *con, DisplayChangeListener *dcl)

total: 0 errors, 2 warnings, 41 lines checked

Patch 5/27 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
6/27 Checking commit 07c825b03ff5 (ui: associate GL context outside of display listener registration)
7/27 Checking commit 1368d16fcaf4 (ui: make gl_block use a counter)
8/27 Checking commit 627008147d02 (ui: add a gl-unblock warning timer)
9/27 Checking commit 7a9e3136fb14 (ui: simplify gl unblock & flush)
10/27 Checking commit f7870a3d7b63 (ui: dispatch GL events to all listeners)
11/27 Checking commit 024079131dc9 (ui: split the GL context in a different object)
WARNING: Block comments use a leading /* on a separate line
#63: FILE: include/ui/console.h:250:
+    /* We only check if the GLCtx is compatible with a DCL via ops. A natural

WARNING: Block comments use a trailing */ on a separate line
#65: FILE: include/ui/console.h:252:
+     * and allow various DCL kinds. */

ERROR: braces {} are necessary for all arms of this statement
#235: FILE: ui/console.c:1533:
+    if (!con->gl)
[...]

total: 1 errors, 2 warnings, 503 lines checked

Patch 11/27 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

12/27 Checking commit 4cf336e76ce9 (ui: move qemu_spice_fill_device_address to ui/util.c)
Use of uninitialized value $acpi_testexpected in string eq at ./scripts/checkpatch.pl line 1529.
WARNING: line over 80 characters
#32: FILE: hw/display/qxl.c:2207:
+    if (qemu_console_fill_device_address(qxl->vga.con, device_address, 256, &err)) {

WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#165: 
new file mode 100644

total: 0 errors, 2 warnings, 188 lines checked

Patch 12/27 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
13/27 Checking commit baacefec89aa (console: save current scanout details)
WARNING: line over 80 characters
#116: FILE: ui/console.c:1128:
+    if (con->scanout.kind == SCANOUT_DMABUF && displaychangelistener_has_dmabuf(dcl)) {

WARNING: line over 80 characters
#118: FILE: ui/console.c:1130:
+    } else if (con->scanout.kind == SCANOUT_TEXTURE && dcl->ops->dpy_gl_scanout_texture) {

WARNING: line over 80 characters
#128: FILE: ui/console.c:1140:
+    } else if (con->scanout.kind == SCANOUT_SURFACE && dcl->ops->dpy_gfx_switch) {

WARNING: line over 80 characters
#240: FILE: ui/console.c:1936:
+        backing_id, backing_y_0_top, backing_width, backing_height, x, y, width, height

total: 0 errors, 4 warnings, 332 lines checked

Patch 13/27 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
14/27 Checking commit 7d71890862ab (ui: add a D-Bus display backend)
Use of uninitialized value $acpi_testexpected in string eq at ./scripts/checkpatch.pl line 1529.
ERROR: space prohibited between function name and open parenthesis '('
#86: FILE: include/qemu/dbus.h:24:
+#define DBUS_DISPLAY_ERROR (dbus_display_error_quark ())

ERROR: space prohibited between function name and open parenthesis '('
#87: FILE: include/qemu/dbus.h:25:
+GQuark dbus_display_error_quark (void);

ERROR: open brace '{' following enum go on the same line
#90: FILE: include/qemu/dbus.h:28:
+typedef enum
+{

WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#198: 
new file mode 100644

WARNING: line over 80 characters
#254: FILE: ui/dbus-console.c:52:
+G_DEFINE_TYPE(DBusDisplayConsole, dbus_display_console, G_TYPE_DBUS_OBJECT_SKELETON)

WARNING: line over 80 characters
#257: FILE: ui/dbus-console.c:55:
+dbus_display_console_set_size(DBusDisplayConsole *self, uint32_t width, uint32_t height)

WARNING: line over 80 characters
#434: FILE: ui/dbus-console.c:232:
+                                              "Couldn't get peer fd: %s", err->message);

WARNING: line over 80 characters
#443: FILE: ui/dbus-console.c:241:
+                                              "Couldn't make a socket: %s", err->message);

WARNING: line over 80 characters
#448: FILE: ui/dbus-console.c:246:
+    /* return now: easier for the other end, as it may handle priv dbus synchronously */

ERROR: line over 90 characters
#449: FILE: ui/dbus-console.c:247:
+    dbus_display_display1_console_complete_register_listener(self->iface, invocation, NULL);

ERROR: line over 90 characters
#453: FILE: ui/dbus-console.c:251:
+                                               G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER,

WARNING: line over 80 characters
#503: FILE: ui/dbus-console.c:301:
+    dbus_display_display1_keyboard_complete_release(self->iface_kbd, invocation);

WARNING: line over 80 characters
#512: FILE: ui/dbus-console.c:310:
+    guint modifiers = dbus_display_display1_keyboard_get_modifiers(self->iface_kbd);

ERROR: do not use C99 // comments
#522: FILE: ui/dbus-console.c:320:
+    // FIXME: what about self->kbd state?

WARNING: line over 80 characters
#558: FILE: ui/dbus-console.c:356:
+    dbus_display_display1_mouse_complete_set_abs_position(self->iface_mouse, invocation);

WARNING: line over 80 characters
#619: FILE: ui/dbus-console.c:417:
+    qemu_console_fill_device_address(con, device_addr, sizeof(device_addr), NULL);

WARNING: line over 80 characters
#631: FILE: ui/dbus-console.c:429:
+        "swapped-signal::handle-register-listener", dbus_console_register_listener, self,

ERROR: that open brace { should be on the previous line
#822: FILE: ui/dbus-error.c:28:
+static const GDBusErrorEntry dbus_display_error_entries[] =
+{

WARNING: line over 80 characters
#828: FILE: ui/dbus-error.c:34:
+G_STATIC_ASSERT(G_N_ELEMENTS(dbus_display_error_entries) == DBUS_DISPLAY_N_ERRORS);

ERROR: do not initialise statics to 0 or NULL
#833: FILE: ui/dbus-error.c:39:
+  static volatile gsize quark_volatile = 0;

ERROR: Use of volatile is usually wrong, please add a comment
#833: FILE: ui/dbus-error.c:39:
+  static volatile gsize quark_volatile = 0;

ERROR: open brace '{' following struct go on the same line
#880: FILE: ui/dbus-listener.c:35:
+struct _DBusDisplayListener
+{

ERROR: line over 90 characters
#904: FILE: ui/dbus-listener.c:59:
+    if (!dbus_display_display1_listener_call_update_dmabuf_finish(self->proxy, res, &err)) {

WARNING: line over 80 characters
#978: FILE: ui/dbus-listener.c:133:
+                                       (EGLint *)&dmabuf.fourcc, &dmabuf.modifier);

WARNING: line over 80 characters
#999: FILE: ui/dbus-listener.c:154:
+            self->proxy, 0, 0, false, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL, NULL);

WARNING: line over 80 characters
#1039: FILE: ui/dbus-listener.c:194:
+        self->proxy, pos_x, pos_y, true, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL, NULL);

WARNING: line over 80 characters
#1395: FILE: ui/dbus.c:64:
+    g_dbus_object_skeleton_add_interface(vm, G_DBUS_INTERFACE_SKELETON(self->iface));

ERROR: line over 90 characters
#1474: FILE: ui/dbus.c:143:
+                                          consoles->data, consoles->len * sizeof(guint32), TRUE,

WARNING: line over 80 characters
#1475: FILE: ui/dbus.c:144:
+                                          (GDestroyNotify)g_array_unref, consoles);

WARNING: line over 80 characters
#1484: FILE: ui/dbus.c:153:
+    g_bus_own_name_on_connection(self->bus, "org.qemu", G_BUS_NAME_OWNER_FLAGS_NONE,

ERROR: line over 90 characters
#1642: FILE: ui/dbus.h:50:
+G_DECLARE_FINAL_TYPE(DBusDisplayConsole, dbus_display_console, DBUS_DISPLAY, CONSOLE, GDBusObjectSkeleton)

WARNING: line over 80 characters
#1644: FILE: ui/dbus.h:52:
+DBusDisplayConsole *dbus_display_console_new(DBusDisplay *display, QemuConsole *con);

ERROR: line over 90 characters
#1648: FILE: ui/dbus.h:56:
+G_DECLARE_FINAL_TYPE(DBusDisplayListener, dbus_display_listener, DBUS_DISPLAY, LISTENER, GObject)

WARNING: line over 80 characters
#1654: FILE: ui/dbus.h:62:
+DBusDisplayConsole *dbus_display_listener_get_console(DBusDisplayListener *self);

total: 14 errors, 20 warnings, 1584 lines checked

Patch 14/27 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

15/27 Checking commit a60e70f5e0c9 (audio: add dbusaudio backend)
Use of uninitialized value $acpi_testexpected in string eq at ./scripts/checkpatch.pl line 1529.
ERROR: space prohibited before that close parenthesis ')'
#40: FILE: audio/audio.c:1992:
+        CASE(DBUS, dbus, );

WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#83: 
new file mode 100644

WARNING: line over 80 characters
#219: FILE: audio/dbusaudio.c:132:
+dbus_init_out_listener(DBusDisplayDisplay1AudioOutListener *listener, HWVoiceOut *hw)

WARNING: line over 80 characters
#333: FILE: audio/dbusaudio.c:246:
+dbus_init_in_listener(DBusDisplayDisplay1AudioInListener *listener, HWVoiceIn *hw)

WARNING: line over 80 characters
#496: FILE: audio/dbusaudio.c:409:
+        g_dbus_object_manager_server_unexport(self->server, DBUS_DISPLAY1_AUDIO);

WARNING: line over 80 characters
#637: FILE: audio/dbusaudio.c:550:
+            dbus_init_in_listener(DBUS_DISPLAY_DISPLAY1_AUDIO_IN_LISTENER(listener), hw);

WARNING: line over 80 characters
#697: FILE: audio/dbusaudio.c:610:
+                                         G_DBUS_INTERFACE_SKELETON(self->iface));

WARNING: line over 80 characters
#947: FILE: ui/dbus.c:140:
+            error_setg(errp, "Audiodev '%s' is not compatible with DBus", self->audiodev);

total: 1 errors, 7 warnings, 915 lines checked

Patch 15/27 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

16/27 Checking commit 141fb49ac075 (vhost-user-gpu: add vg_send_disable_scanout())
17/27 Checking commit bf9cd35f08c8 (vhost-user-gpu: add vg_send_scanout_dmabuf())
18/27 Checking commit b8c78ef6ec12 (vhost-user-gpu: add vg_send_dmabuf_update())
WARNING: line over 80 characters
#61: FILE: contrib/vhost-user-gpu/vhost-user-gpu.c:787:
+            vg_send_dmabuf_update(g, i, extents->x1, extents->y1, width, height);

total: 0 errors, 1 warnings, 72 lines checked

Patch 18/27 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
19/27 Checking commit 3226e4d60b92 (vhost-user-gpu: add vg_send_scanout())
20/27 Checking commit 65e37ed2d91a (vhost-user-gpu: add vg_send_cursor_update())
21/27 Checking commit 0086f329c241 (vhost-user-gpu: add vg_send_cursor_pos())
22/27 Checking commit b28fa9782800 (vhost-user-gpu: add vg_send_update())
23/27 Checking commit 1e8ed114910b (vhost-user: add VHOST_USER_GPU_QEMU_DBUS_LISTENER)
WARNING: line over 80 characters
#73: FILE: hw/virtio/vhost-user.c:415:
+int vhost_user_gpu_register_dbus_listener(struct vhost_dev *dev, uint8_t idx, int fd)

total: 0 errors, 1 warnings, 87 lines checked

Patch 23/27 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
24/27 Checking commit e2eafdc90571 (ui: add GraphicHwOps.register_dbus_listener())
25/27 Checking commit ad37d6c5d2b7 (vhost-user-gpu: implement register_dbus_listener())
WARNING: line over 80 characters
#45: FILE: hw/display/vhost-user-gpu.c:391:
+vhost_user_gpu_do_register_dbus_listener(VirtIOGPUBase *b, QemuConsole *con, int fd)

total: 0 errors, 1 warnings, 100 lines checked

Patch 25/27 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
26/27 Checking commit 6ba138036df3 (vhost-user-gpu: check the PIXMAN format is supported)
27/27 Checking commit f73f113ed649 (vhost-user-gpu: implement GPU_QEMU_DBUS_LISTENER)
ERROR: line over 90 characters
#381: FILE: contrib/vhost-user-gpu/vhost-user-gpu.c:1333:
+                                               G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER,

WARNING: line over 80 characters
#476: FILE: contrib/vhost-user-gpu/vhost-user-gpu.c:1561:
+        g.listeners[i] = g_hash_table_new_full(NULL, NULL, g_object_unref, NULL);

total: 1 errors, 1 warnings, 444 lines checked

Patch 27/27 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
http://patchew.org/logs/20210312100108.2706195-1-marcandre.lureau@redhat.com/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
Re: [PATCH 00/27] Add D-Bus display backend
Posted by Gerd Hoffmann 3 years, 1 month ago
On Fri, Mar 12, 2021 at 02:00:41PM +0400, marcandre.lureau@redhat.com wrote:
> From: Marc-André Lureau <marcandre.lureau@redhat.com>

The whole series calls for a splitup.  First the bugfixes, which we
should be able to fast-track for 6.0.  Next the ui opengl changes.  For
those a cover letter would be nice, describing the overall direction and
motivation for the change.  Make sure these don't re-introduce a opengl
dependency to core qemu for modular builds.  Finally the new display
backend patches / discussion.

take care,
  Gerd


Re: [PATCH 00/27] Add D-Bus display backend
Posted by Marc-André Lureau 3 years, 1 month ago
Hi

On Fri, Mar 12, 2021 at 3:18 PM Gerd Hoffmann <kraxel@redhat.com> wrote:

> On Fri, Mar 12, 2021 at 02:00:41PM +0400, marcandre.lureau@redhat.com
> wrote:
> > From: Marc-André Lureau <marcandre.lureau@redhat.com>
>
> The whole series calls for a splitup.  First the bugfixes, which we
> should be able to fast-track for 6.0.  Next the ui opengl changes.  For
> those a cover letter would be nice, describing the overall direction and
> motivation for the change.  Make sure these don't re-introduce a opengl
> dependency to core qemu for modular builds.  Finally the new display
> backend patches / discussion.
>

I agree, what about reviewing and queuing the first patches? Then I can
resend up to the second part.

>
>
Re: [PATCH 00/27] Add D-Bus display backend
Posted by Gerd Hoffmann 3 years, 1 month ago
> On Fri, Mar 12, 2021 at 3:18 PM Gerd Hoffmann <kraxel@redhat.com> wrote:
> 
> > On Fri, Mar 12, 2021 at 02:00:41PM +0400, marcandre.lureau@redhat.com
> > wrote:
> > > From: Marc-André Lureau <marcandre.lureau@redhat.com>
> >
> > The whole series calls for a splitup.  First the bugfixes, which we
> > should be able to fast-track for 6.0.  Next the ui opengl changes.  For
> > those a cover letter would be nice, describing the overall direction and
> > motivation for the change.  Make sure these don't re-introduce a opengl
> > dependency to core qemu for modular builds.  Finally the new display
> > backend patches / discussion.
> >
> 
> I agree, what about reviewing and queuing the first patches? Then I can
> resend up to the second part.

Can cherry-pick them.  First four patches I assume?

take care,
  Gerd


Re: [PATCH 00/27] Add D-Bus display backend
Posted by Marc-André Lureau 3 years, 1 month ago
Hi

On Fri, Mar 12, 2021 at 6:37 PM Gerd Hoffmann <kraxel@redhat.com> wrote:

> > On Fri, Mar 12, 2021 at 3:18 PM Gerd Hoffmann <kraxel@redhat.com> wrote:
> >
> > > On Fri, Mar 12, 2021 at 02:00:41PM +0400, marcandre.lureau@redhat.com
> > > wrote:
> > > > From: Marc-André Lureau <marcandre.lureau@redhat.com>
> > >
> > > The whole series calls for a splitup.  First the bugfixes, which we
> > > should be able to fast-track for 6.0.  Next the ui opengl changes.  For
> > > those a cover letter would be nice, describing the overall direction
> and
> > > motivation for the change.  Make sure these don't re-introduce a opengl
> > > dependency to core qemu for modular builds.  Finally the new display
> > > backend patches / discussion.
> > >
> >
> > I agree, what about reviewing and queuing the first patches? Then I can
> > resend up to the second part.
>
> Can cherry-pick them.  First four patches I assume?
>
>
Yes, those are clearly fixes. The following GL context/events patches could
be upstream too, if you agree with it, even if they don't really have need
until a display backend makes real use of them.