mbox series

[v2,00/20] Various vhost-user-gpu & UI fixes

Message ID 20210204105232.834642-1-marcandre.lureau@redhat.com (mailing list archive)
Headers show
Series Various vhost-user-gpu & UI fixes | expand

Message

Marc-André Lureau Feb. 4, 2021, 10:52 a.m. UTC
From: Marc-André Lureau <marcandre.lureau@redhat.com>

Hi,

Here is a collection of fixes and improvements mostly around vhost-user-gpu. In
combination with spice, they work best with the previously sent fixes ("[PATCH
0/2] Fix (non-vga) QXL async screendump" & "[PATCH v2] spice: delay starting
until display are initialized"). I also use virgl from git, which seems to work
better. You also need mesa with the recent fix !8663 from last week if you test
this.

The last patch is a simple RFC avocado test to have the basics under some
control and avoid simple regressions.

I have further refactoring work pending to separate the DisplayChangeListener
from the GL context. This should allow to run a GL-less qemu with Spice client &
vhost-user-gpu/virgl for example.

v2:
 - styles fixes
 - drop RFC from avocado test

Marc-André Lureau (20):
  vhost-user-gpu: check backend for EDID support
  vhost-user-gpu: handle vhost-user-gpu features in a callback
  vhost-user-gpu: use an extandable state enum for commands
  vhost-user-gpu: handle display-info in a callback
  ui: remove extra #ifdef CONFIG_OPENGL
  ui: remove gl_ctx_get_current
  ui: add gd_gl_area_scanout_disable
  ui: annotate DCLOps callback requirements
  ui: remove console_has_gl_dmabuf()
  vhost-user-gpu: add a configuration flag for dmabuf usage
  ui: add an optional get_flags callback to GraphicHwOps
  ui: add a DCLOps callback to check dmabuf support
  ui: check hw requirements during DCL registration
  ui: add qemu_egl_has_dmabuf helper
  ui: check gtk-egl dmabuf support
  ui: add egl dmabuf import to gtkglarea
  virtio-gpu: avoid re-entering cmdq processing
  display/ui: add a callback to indicate GL state is flushed
  chardev: check if the chardev is registered for yanking
  tests: add some virtio-gpu & vhost-user-gpu acceptance test

 contrib/vhost-user-gpu/vugpu.h          |  10 +-
 include/hw/virtio/virtio-gpu.h          |   6 +-
 include/ui/console.h                    |  35 +++++-
 include/ui/egl-context.h                |   1 -
 include/ui/egl-helpers.h                |   1 +
 include/ui/gtk.h                        |   4 +
 include/ui/sdl2.h                       |   1 -
 chardev/char-socket.c                   |  53 +++++---
 contrib/vhost-user-gpu/vhost-user-gpu.c |  78 +++++++++---
 contrib/vhost-user-gpu/virgl.c          |   2 +-
 hw/display/vhost-user-gpu.c             |  17 +--
 hw/display/virtio-gpu-base.c            |  31 ++++-
 hw/display/virtio-gpu.c                 |   9 +-
 hw/display/virtio-vga.c                 |  20 +++
 hw/vfio/display.c                       |   6 +
 ui/console.c                            |  64 +++++++---
 ui/egl-context.c                        |   5 -
 ui/egl-headless.c                       |   1 -
 ui/egl-helpers.c                        |  10 ++
 ui/gtk-egl.c                            |   3 +
 ui/gtk-gl-area.c                        |  28 +++++
 ui/gtk.c                                |  43 +++++--
 ui/sdl2-gl.c                            |  10 +-
 ui/sdl2.c                               |   1 -
 ui/spice-display.c                      |   2 +-
 tests/acceptance/virtio-gpu.py          | 161 ++++++++++++++++++++++++
 26 files changed, 501 insertions(+), 101 deletions(-)
 create mode 100644 tests/acceptance/virtio-gpu.py