[Buildroot] [PATCH v2 1/2] package/virglrenderer: new package
Joseph Kogut
joseph.kogut at gmail.com
Wed Oct 22 00:07:32 UTC 2025
Add virglrenderer, an optional dependency of QEMU, which facilitates
acceleration of rendering and optionally video decode through
virtio-gpu.
Signed-off-by: Joseph Kogut <joseph.kogut at gmail.com>
---
DEVELOPERS | 1 +
package/Config.in | 1 +
package/virglrenderer/Config.in | 33 +++++++++++++++++++++++++++++
package/virglrenderer/virglrenderer.hash | 5 +++++
package/virglrenderer/virglrenderer.mk | 36 ++++++++++++++++++++++++++++++++
5 files changed, 76 insertions(+)
diff --git a/DEVELOPERS b/DEVELOPERS
index fb8eedb5cf..9ae46884c3 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1787,6 +1787,7 @@ F: package/python-xlib/
F: package/sentry-cli/
F: package/sentry-native/
F: package/unclutter-xfixes/
+F: package/virglrenderer/
N: Joshua Henderson <joshua.henderson at microchip.com>
F: package/qt5/qt5wayland/
diff --git a/package/Config.in b/package/Config.in
index 1c4dcf2c75..f7cfffae0a 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1807,6 +1807,7 @@ menu "Graphics"
source "package/stb/Config.in"
source "package/tiff/Config.in"
source "package/unclutter-xfixes/Config.in"
+ source "package/virglrenderer/Config.in"
source "package/waffle/Config.in"
source "package/wayland/Config.in"
source "package/wayland-protocols/Config.in"
diff --git a/package/virglrenderer/Config.in b/package/virglrenderer/Config.in
new file mode 100644
index 0000000000..8f594849f6
--- /dev/null
+++ b/package/virglrenderer/Config.in
@@ -0,0 +1,33 @@
+config BR2_PACKAGE_VIRGLRENDERER
+ bool "virglrenderer"
+ depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm
+ depends on BR2_USE_MMU # libdrm
+ depends on BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_HAS_LIBGL # libepoxy
+ select BR2_PACKAGE_LIBEPOXY
+ select BR2_PACKAGE_LIBDRM
+ help
+ VirGL is a virtual 3D GPU for use inside QEMU
+ virtual machines, that allows the guest operating
+ system to use the capabilities of the host GPU to
+ accelerate 3D rendering.
+
+ https://docs.mesa3d.org/drivers/virgl.html
+
+if BR2_PACKAGE_VIRGLRENDERER
+
+config BR2_PACKAGE_VIRGLRENDERER_VENUS
+ bool "venus"
+ depends on BR2_INSTALL_LIBSTDCPP # vulkan-loader
+ depends on !BR2_STATIC_LIBS # vulkan-loader
+ depends on BR2_TOOLCHAIN_HAS_THREADS # vulkan-loader
+ select BR2_PACKAGE_VULKAN_LOADER
+ help
+ Venus is a virtio-gpu protocol for Vulkan command
+ serialization.
+
+ Say 'y' if you want to run applications with Vulkan
+ acceleration in virtualized guests.
+
+ https://docs.mesa3d.org/drivers/venus.html
+
+endif
diff --git a/package/virglrenderer/virglrenderer.hash b/package/virglrenderer/virglrenderer.hash
new file mode 100644
index 0000000000..4df8e3a181
--- /dev/null
+++ b/package/virglrenderer/virglrenderer.hash
@@ -0,0 +1,5 @@
+# Locally calculated
+sha256 8bae92909021ea87e2087ae96df322f90140c414bd5f38810af3f3e5146a567b virglrenderer-1.2.0.tar.gz
+
+# License
+sha256 3b32caf16e2402c2aff2b716858713f3e1feded85c25e71bf829816ee5009402 COPYING
diff --git a/package/virglrenderer/virglrenderer.mk b/package/virglrenderer/virglrenderer.mk
new file mode 100644
index 0000000000..2e25a7475b
--- /dev/null
+++ b/package/virglrenderer/virglrenderer.mk
@@ -0,0 +1,36 @@
+################################################################################
+#
+# virglrenderer
+#
+################################################################################
+
+VIRGLRENDERER_VERSION = 1.2.0
+VIRGLRENDERER_SITE = https://gitlab.freedesktop.org/virgl/virglrenderer/-/archive/$(VIRGLRENDERER_VERSION)
+VIRGLRENDERER_LICENSE = MIT
+VIRGLRENDERER_LICENSE_FILES = COPYING
+VIRGLRENDERER_INSTALL_STAGING = YES
+VIRGLRENDERER_DEPENDENCIES = \
+ libepoxy \
+ libdrm \
+ libegl \
+ host-pkgconf
+VIRGLRENDERER_CPE_ID_VALID = YES
+
+ifeq ($(BR2_PACKAGE_VIRGLRENDERER_VENUS),y)
+VIRGLRENDERER_CONF_OPTS += -Dvenus=true
+VIRGLRENDERER_DEPENDENCIES += vulkan-loader
+endif
+
+ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI),y)
+VIRGLRENDERER_DRM_BACKENDS += amdgpu-experimental
+endif
+
+ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_FREEDRENO),y)
+VIRGLRENDERER_DRM_BACKENDS += msm
+endif
+
+ifneq ($(VIRGLRENDERER_DRM_BACKENDS),)
+VIRGLRENDERER_CONF_OPTS += -Ddrm-renderers=$(VIRGLRENDERER_DRM_BACKENDS)
+endif
+
+$(eval $(meson-package))
--
2.51.1
More information about the buildroot
mailing list