All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lucas Amaral <lucaaamaral@gmail.com>
To: qemu-devel@nongnu.org
Cc: alex.bennee@linaro.org, dmitry.osipenko@collabora.com,
	Lucas Amaral <lucaaamaral@gmail.com>
Subject: [PATCH 0/3] virtio-gpu: enable Venus/Vulkan without OpenGL display
Date: Mon,  9 Mar 2026 18:49:27 -0300	[thread overview]
Message-ID: <20260309214930.92616-1-lucaaamaral@gmail.com> (raw)

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



             reply	other threads:[~2026-03-09 22:17 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-09 21:49 Lucas Amaral [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260309214930.92616-1-lucaaamaral@gmail.com \
    --to=lucaaamaral@gmail.com \
    --cc=alex.bennee@linaro.org \
    --cc=dmitry.osipenko@collabora.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.