From: Gurchetan Singh <gurchetansi...@google.com> Latest iteration of rutabaga_gfx + gfxstream patches. Previous version and more background available here:
https://patchew.org/QEMU/20230421011223.718-1-gurchetansi...@chromium.org/ Changes since RFC: - All important memory tests pass - Went with separate virtio-gpu-rutabaga device as suggested by Bernard Berschow - Incorporated review feedback, mostly from Akihiko Odaki - gfxstream has new unified guest/host repo + build system improvements - added documentation on virtio-gpu - new instructions on how to build available in the tracking bug [a] In terms of API stability/versioning/packaging, once this series is reviewed, the plan is to cut a "gfxstream upstream release branch". We will have the same API guarantees as any other QEMU project then, i.e no breaking API changes for 5 years. The Android Emulator will build both gfxstream (to get bug fixes fast) and QEMU8.0+ (due to regulatory requirements) from sources. So we haven't created a gfxstream Debian/Ubuntu package since we actually don't need it. Though, we plan to upload our QEMU8.0+ gfxstream enabled builds somewhere on AOSP when it's ready. It's more important for us to be in-tree to reduce technical debt given this. Let us know if there are any strong opinions on packaging. Otherwise, feedback + reviews welcome! [a] https://gitlab.com/qemu-project/qemu/-/issues/1611 Antonio Caggiano (2): virtio-gpu: CONTEXT_INIT feature virtio-gpu: blob prep Dr. David Alan Gilbert (1): virtio: Add shared memory capability Gerd Hoffmann (1): virtio-gpu: hostmem Gurchetan Singh (5): gfxstream + rutabaga prep: added need defintions, fields, and options gfxstream + rutabaga: add initial support for gfxstream gfxstream + rutabaga: meson support gfxstream + rutabaga: enable rutabaga docs/system: add basic virtio-gpu documentation docs/system/device-emulation.rst | 1 + docs/system/devices/virtio-gpu.rst | 80 ++ hw/display/meson.build | 22 + hw/display/virtio-gpu-base.c | 6 +- hw/display/virtio-gpu-pci-rutabaga.c | 48 ++ hw/display/virtio-gpu-pci.c | 14 + hw/display/virtio-gpu-rutabaga.c | 1088 ++++++++++++++++++++++++++ hw/display/virtio-gpu.c | 17 +- hw/display/virtio-vga-rutabaga.c | 52 ++ hw/display/virtio-vga.c | 33 +- hw/virtio/virtio-pci.c | 18 + include/hw/virtio/virtio-gpu-bswap.h | 18 + include/hw/virtio/virtio-gpu.h | 34 + include/hw/virtio/virtio-pci.h | 4 + meson.build | 7 + meson_options.txt | 2 + scripts/meson-buildoptions.sh | 3 + softmmu/qdev-monitor.c | 3 + softmmu/vl.c | 1 + 19 files changed, 1431 insertions(+), 20 deletions(-) create mode 100644 docs/system/devices/virtio-gpu.rst create mode 100644 hw/display/virtio-gpu-pci-rutabaga.c create mode 100644 hw/display/virtio-gpu-rutabaga.c create mode 100644 hw/display/virtio-vga-rutabaga.c -- 2.41.0.255.g8b1d071c50-goog