All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] virtio-gpu: enable Venus/Vulkan without OpenGL display
@ 2026-03-09 21:49 Lucas Amaral
  2026-03-09 21:49 ` [PATCH 1/3] include/standard-headers: add VIRTIO_GPU_F_BLOB_ALIGNMENT Lucas Amaral
                   ` (3 more replies)
  0 siblings, 4 replies; 13+ messages in thread
From: Lucas Amaral @ 2026-03-09 21:49 UTC (permalink / raw)
  To: qemu-devel; +Cc: alex.bennee, dmitry.osipenko, Lucas Amaral

Venus (virtio-gpu Vulkan context) currently requires OpenGL display
support due to build-time and runtime coupling with the GL backend.
On macOS, no OpenGL display backend exists (only Cocoa/SDL2 without GL).

This series decouples Venus from OpenGL:

1. Define VIRTIO_GPU_F_BLOB_ALIGNMENT (feature bit 5) in the virtio-gpu
   header per the OASIS virtio specification.  Header-only change.

2. Remove opengl.found() build requirement for virtio-gpu-gl module
   (virglrenderer provides Venus independently of GL).  Gate GL-specific
   code paths behind CONFIG_OPENGL and display_opengl checks.  Route 2D
   display commands to the software renderer when Venus runs without GL.
   Define GRAPHIC_FLAGS_VK for future Vulkan scanout support.  Gate
   Venus at device realize when the HVF map granule exceeds the guest
   page size, ensuring blob mappings succeed at runtime.

3. Advertise blob_alignment in the device configuration so the host
   can communicate its page alignment requirement to the guest.

Patch 1 is a prerequisite for patch 2 (which advertises the feature
bit).  Patch 3 is independent and can be taken separately.  Guest
kernel support (Sergio Lopez's patches) is pending upstream Linux.

Dependencies: none.
Independent of: hvf-isv0-emulation and hvf-map-granule series.
All three QEMU series touch disjoint files and can be merged in any
order.

Lucas Amaral (3):
  include/standard-headers: add VIRTIO_GPU_F_BLOB_ALIGNMENT
  virtio-gpu: decouple Venus from CONFIG_OPENGL
  virtio-gpu: advertise and populate blob alignment

 hw/display/meson.build                      |  8 +-
 hw/display/virtio-gpu-base.c                |  8 +-
 hw/display/virtio-gpu-gl.c                  | 17 +++-
 hw/display/virtio-gpu-virgl.c               | 89 ++++++++++++++++++---
 hw/display/virtio-gpu.c                     |  7 ++
 include/standard-headers/linux/virtio_gpu.h |  6 ++
 include/ui/console.h                        |  2 +
 ui/console.c                                |  7 ++
 8 files changed, 127 insertions(+), 17 deletions(-)

-- 
2.52.0



^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2026-03-13  3:10 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-09 21:49 [PATCH 0/3] virtio-gpu: enable Venus/Vulkan without OpenGL display Lucas Amaral
2026-03-09 21:49 ` [PATCH 1/3] include/standard-headers: add VIRTIO_GPU_F_BLOB_ALIGNMENT Lucas Amaral
2026-03-09 21:49 ` [PATCH 2/3] virtio-gpu: decouple Venus from CONFIG_OPENGL Lucas Amaral
2026-03-09 21:49 ` [PATCH 3/3] virtio-gpu: advertise and populate blob alignment Lucas Amaral
2026-03-11  2:27 ` [PATCH v2 0/3] virtio-gpu: enable Venus/Vulkan without OpenGL display Lucas Amaral
2026-03-11  2:27   ` [PATCH v2 1/3] ui: introduce GRAPHIC_FLAGS_VK for Vulkan scanout Lucas Amaral
2026-03-11  5:34     ` Marc-André Lureau
2026-03-11  2:27   ` [PATCH v2 2/3] virtio-gpu: decouple Venus from CONFIG_OPENGL Lucas Amaral
2026-03-11  2:27   ` [PATCH v2 3/3] virtio-gpu: advertise VIRTIO_GPU_F_BLOB_ALIGNMENT Lucas Amaral
2026-03-13  3:09   ` [PATCH v3 0/3] virtio-gpu: enable Venus/Vulkan without OpenGL display Lucas Amaral
2026-03-13  3:09     ` [PATCH v3 1/3] ui: introduce GRAPHIC_FLAGS_VK for Vulkan scanout Lucas Amaral
2026-03-13  3:09     ` [PATCH v3 2/3] virtio-gpu: decouple Venus from CONFIG_OPENGL Lucas Amaral
2026-03-13  3:09     ` [PATCH v3 3/3] virtio-gpu: advertise VIRTIO_GPU_F_BLOB_ALIGNMENT Lucas Amaral

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.