From 899918c53bf7cbc4c4f2cf9b08ee44b854a273f4 Mon Sep 17 00:00:00 2001 From: Joseph Kogut Date: Sun, 7 Jun 2026 19:06:09 -0700 Subject: [PATCH] package/qemu: add virglrenderer integration Add optional virglrenderer integration, along with enabling OpenGL when necessary. https://qemu.readthedocs.io/en/v10.0.3/system/devices/virtio-gpu.html#virtio-gpu-virglrenderer Signed-off-by: Joseph Kogut Signed-off-by: Romain Naour --- package/qemu/Config.in | 21 +++++++++++++++++++++ package/qemu/qemu.mk | 7 +++++++ 2 files changed, 28 insertions(+) diff --git a/package/qemu/Config.in b/package/qemu/Config.in index 8e932c014f..bfb8ccea88 100644 --- a/package/qemu/Config.in +++ b/package/qemu/Config.in @@ -126,6 +126,27 @@ config BR2_PACKAGE_QEMU_OPENGL comment "OpenGL support needs an OpenGL and/or OpenGL EGL backend" depends on !(BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_HAS_LIBGL) +config BR2_PACKAGE_QEMU_VIRGLRENDERER + bool "Enable virglrenderer" + depends on BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_HAS_LIBGL + select BR2_PACKAGE_QEMU_OPENGL + select BR2_PACKAGE_VIRGLRENDERER + help + Say 'y' to enable qemu support for virglrenderer. + virglrenderer backends such as virgl, venus, or DRM native + context are configured under the virglrenderer package. + + Run qemu with `-device virtio-gpu-gl` + + https://qemu.readthedocs.io/en/v10.0.3/system/devices/virtio-gpu.html#virtio-gpu-virglrenderer + +comment "virglrenderer needs OpenGL accelerated display frontend support" + depends on !(BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_HAS_LIBGL) + +comment "virglrenderer needs virgl, venus, or a DRM backend for guest acceleration" + depends on BR2_PACKAGE_QEMU_VIRGLRENDERER + depends on !BR2_PACKAGE_VIRGLRENDERER_HAS_BACKEND + config BR2_PACKAGE_QEMU_FDT bool "Enable FDT" select BR2_PACKAGE_DTC diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk index aff1762fb9..4f4786532c 100644 --- a/package/qemu/qemu.mk +++ b/package/qemu/qemu.mk @@ -279,6 +279,13 @@ else QEMU_OPTS += --disable-opengl endif +ifeq ($(BR2_PACKAGE_QEMU_VIRGLRENDERER),y) +QEMU_OPTS += --enable-virglrenderer +QEMU_DEPENDENCIES += virglrenderer +else +QEMU_OPTS += --disable-virglrenderer +endif + ifeq ($(BR2_STATIC_LIBS),y) QEMU_OPTS += --static endif