From: Joseph Kogut <joseph.kogut@gmail.com>
To: buildroot@buildroot.org
Cc: Eric Le Bihan <eric.le.bihan.dev@free.fr>,
Romain Naour <romain.naour@gmail.com>,
Joseph Kogut <joseph.kogut@gmail.com>,
Adam Ford <aford173@gmail.com>,
Steve deRosier <derosier@cal-sierra.com>
Subject: [Buildroot] [PATCH v3 1/2] package/virglrenderer: new package
Date: Thu, 19 Feb 2026 17:23:53 -0800 [thread overview]
Message-ID: <20260219-virglrenderer-v3-1-e2ff1a23be3f@gmail.com> (raw)
In-Reply-To: <20260219-virglrenderer-v3-0-e2ff1a23be3f@gmail.com>
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@gmail.com>
---
DEVELOPERS | 1 +
package/Config.in | 1 +
package/virglrenderer/Config.in | 49 +++++++++++++++++++++++++++
package/virglrenderer/virglrenderer.hash | 5 +++
package/virglrenderer/virglrenderer.mk | 57 ++++++++++++++++++++++++++++++++
5 files changed, 113 insertions(+)
diff --git a/DEVELOPERS b/DEVELOPERS
index 9e983ae113..2c5624c1c1 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1766,6 +1766,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@microchip.com>
F: package/qt5/qt5wayland/
diff --git a/package/Config.in b/package/Config.in
index 371a1c33e1..15a1bc7a25 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1793,6 +1793,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..81274eef38
--- /dev/null
+++ b/package/virglrenderer/Config.in
@@ -0,0 +1,49 @@
+config BR2_PACKAGE_VIRGLRENDERER
+ bool "virglrenderer"
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
+ depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm
+ depends on BR2_USE_MMU # libdrm
+ depends on BR2_PACKAGE_HAS_LIBEGL # libepoxy
+ depends on BR2_PACKAGE_HAS_LIBGBM
+ select BR2_PACKAGE_LIBDRM
+ select BR2_PACKAGE_LIBEPOXY
+ help
+ A library for accelerated graphics and compute in
+ virtualized guests.
+
+ https://qemu.readthedocs.io/en/v10.0.3/system/devices/virtio-gpu.html#virtio-gpu-virglrenderer
+
+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_HEADERS
+ 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
+
+config BR2_PACKAGE_VIRGLRENDERER_VAAPI
+ bool "vaapi support"
+ depends on BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF
+ select BR2_PACKAGE_LIBVA
+ help
+ Enable hardware accelerated video encode/decode through
+ libva over virtio-gpu.
+
+endif
+
+comment "virglrenderer needs a toolchain w/ gcc >= 4.9"
+ depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
+
+comment "virglrenderer needs EGL and libgbm"
+ depends on !BR2_PACKAGE_HAS_LIBEGL \
+ || !BR2_PACKAGE_HAS_LIBGBM
diff --git a/package/virglrenderer/virglrenderer.hash b/package/virglrenderer/virglrenderer.hash
new file mode 100644
index 0000000000..03da595091
--- /dev/null
+++ b/package/virglrenderer/virglrenderer.hash
@@ -0,0 +1,5 @@
+# Locally calculated
+sha256 065bc56e89e6f631f96101cd62eba0748e48eb888b434edc86e89d05395e76f3 virglrenderer-1.3.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..3658d4c239
--- /dev/null
+++ b/package/virglrenderer/virglrenderer.mk
@@ -0,0 +1,57 @@
+################################################################################
+#
+# virglrenderer
+#
+################################################################################
+
+VIRGLRENDERER_VERSION = 1.3.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 = \
+ libdrm \
+ libegl \
+ libepoxy \
+ libgbm \
+ host-pkgconf \
+ host-python3 \
+ host-python-pyyaml
+VIRGLRENDERER_CPE_ID_VALID = YES
+
+ifeq ($(BR2_PACKAGE_VIRGLRENDERER_VENUS),y)
+VIRGLRENDERER_CONF_OPTS += -Dvenus=true
+VIRGLRENDERER_DEPENDENCIES += vulkan-headers \
+ vulkan-loader
+else
+VIRGLRENDERER_CONF_OPTS += -Dvenus=false
+endif
+
+ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_FREEDRENO),y)
+VIRGLRENDERER_DRM_BACKENDS += msm
+endif
+
+ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_I915),y)
+VIRGLRENDERER_DRM_BACKENDS += i915-experimental
+endif
+
+ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_PANFROST),y)
+VIRGLRENDERER_DRM_BACKENDS += panfrost-experimental
+endif
+
+ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI),y)
+VIRGLRENDERER_DRM_BACKENDS += amdgpu-experimental
+endif
+
+ifneq ($(VIRGLRENDERER_DRM_BACKENDS),)
+VIRGLRENDERER_CONF_OPTS += -Ddrm-renderers=$(VIRGLRENDERER_DRM_BACKENDS)
+endif
+
+ifeq ($(BR2_PACKAGE_VIRGLRENDERER_VAAPI),y)
+VIRGLRENDERER_CONF_OPTS += -Dvideo=true
+VIRGLRENDERER_DEPENDENCIES += libva
+else
+VIRGLRENDERER_CONF_OPTS += -Dvideo=false
+endif
+
+$(eval $(meson-package))
--
2.53.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
next prev parent reply other threads:[~2026-02-20 1:24 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-20 1:23 [Buildroot] [PATCH v3 0/2] Add virglrenderer support Joseph Kogut
2026-02-20 1:23 ` Joseph Kogut [this message]
2026-02-20 1:23 ` [Buildroot] [PATCH v3 2/2] package/qemu: add " Joseph Kogut
2026-03-04 22:29 ` Romain Naour via buildroot
2026-03-11 19:30 ` Joseph Kogut
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=20260219-virglrenderer-v3-1-e2ff1a23be3f@gmail.com \
--to=joseph.kogut@gmail.com \
--cc=aford173@gmail.com \
--cc=buildroot@buildroot.org \
--cc=derosier@cal-sierra.com \
--cc=eric.le.bihan.dev@free.fr \
--cc=romain.naour@gmail.com \
/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.