* [Buildroot] [PATCH v3 0/2] Add virglrenderer support
@ 2026-02-20 1:23 Joseph Kogut
2026-02-20 1:23 ` [Buildroot] [PATCH v3 1/2] package/virglrenderer: new package Joseph Kogut
2026-02-20 1:23 ` [Buildroot] [PATCH v3 2/2] package/qemu: add virglrenderer support Joseph Kogut
0 siblings, 2 replies; 5+ messages in thread
From: Joseph Kogut @ 2026-02-20 1:23 UTC (permalink / raw)
To: buildroot
Cc: Eric Le Bihan, Romain Naour, Joseph Kogut, Adam Ford,
Steve deRosier
Hello,
This patch series adds support for building the virglrenderer library in
buildroot.
Virglrenderer is a userspace library used to support rendering and
compute in virtual machines over virtio-gpu. Virglrenderer supports
serialized API level access to OpenGL and Vulkan through virgl and venus
respectively, as well as mediated DRM level access using host native
context [0]. Notably libkrun [1] and rutabaga_gfx [2] are also capable of
utilizing virglrenderer.
For v3 of the patch, I removed the dependency on (HAS_LIBEGL ||
HAS_LIBGL) in favor of just depending on HAS_LIBEGL. The project is
intended to support both EGL and GLX, but most graphics paths nowadays
use EGL, and this is a bit simpler. Support for GLX could be added in a
later patch if anyone needs it.
The first patch adds the new virglrenderer package.
The second patch adds an OpenGL config for qemu, and a virglrenderer
config that selects it, as virgl/venus currently require a GL
accelerated display frontend. An optional config for enabling venus on
virglrenderer enables vulkan passthrough, and a config for vaapi enables
hardware video acceleration.
Tested with llama-bench running with the vulkan backend in a nested VM.
As seen below, the nested guest is sending commands to the host through
virtio-gpu twice.
# llama-bench -m llama-2-7b.Q4_0.gguf -ngl 100
ggml_vulkan: Found 1 Vulkan devices:
ggml_vulkan: 0 = Virtio-GPU Venus (Virtio-GPU Venus (AMD Radeon RX 6900 XT (RADV NAVI21))) (venus) | uma: 0 | fp16: 1 | warp size: 64 | shared memory: 65536 | int dot: 1 | matrix cores: none
| model | size | params | backend | ngl | test | t/s |
| ------------------------------ | ---------: | ---------: | ---------- | --: | --------------: | -------------------: |
| llama 7B Q4_0 | 3.56 GiB | 6.74 B | Vulkan | 100 | pp512 | 1220.99 ± 10.12 |
| llama 7B Q4_0 | 3.56 GiB | 6.74 B | Vulkan | 100 | tg128 | 82.24 ± 1.00 |
build: unknown (0)
More information about the benchmark and results from other hardware on
the llama.cpp GitHub discussion here [3].
Feedback welcome.
[0] https://www.collabora.com/news-and-blog/blog/2025/01/15/the-state-of-gfx-virtualization-using-virglrenderer/
[1] https://github.com/containers/libkrun
[2] https://github.com/magma-gpu/rutabaga_gfx
[3] https://github.com/ggml-org/llama.cpp/discussions/10879
Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
Changes in v3:
- Bump version to v1.3.0
- Add optional deps for panfrost and i915 native context (new)
- Add config for vaapi support
- Remove GLX in favor of EGL
- Update qemu docs links, as previous ones 404 [Romain]
- Fix invalid config reference in BR2_PACKAGE_QEMU_VIRGLRENDERER
[Romain]
- Select libepoxy when enabling OpenGL support in qemu [Romain]
- Add depends on gcc >= 4.1 to virglrenderer (from meson.build)
- Add depends on libgbm to virglrenderer [Romain]
- Add comments for missing dependencies to virglrenderer Kconfig
- Select vulkan-headers when venus is enabled [Romain]
- Disable venus explicitly when the symbol isn't selected
- Link to v2: https://lore.kernel.org/buildroot/20251203-virglrenderer-v2-v2-0-2846fc1a579a@gmail.com
Changes in v2:
- Rebase onto next (python-glslang patch merged)
- Bump version to v1.2.0
- Remove hidden configs for virglrenderer vDRM backends [Romain]
- Fixed typo in qemu/Config.in [Romain]
- Split up configs for qemu OpenGL and virglrenderer support [Romain]
- More detailed qemu config help messages
- Link to v1: https://lore.kernel.org/r/20250618-virglrenderer-upstream-v1-0-57525ac8406e@gmail.com
---
Joseph Kogut (2):
package/virglrenderer: new package
package/qemu: add virglrenderer support
DEVELOPERS | 1 +
package/Config.in | 1 +
package/qemu/Config.in | 28 ++++++++++++++++
package/qemu/qemu.mk | 15 ++++++++-
package/virglrenderer/Config.in | 49 +++++++++++++++++++++++++++
package/virglrenderer/virglrenderer.hash | 5 +++
package/virglrenderer/virglrenderer.mk | 57 ++++++++++++++++++++++++++++++++
7 files changed, 155 insertions(+), 1 deletion(-)
---
base-commit: 6c83a0b8e5658b901dd35ae23217075f035af998
change-id: 20260219-virglrenderer-c4dad969ad89
Best regards,
--
Joseph Kogut <joseph.kogut@gmail.com>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH v3 1/2] package/virglrenderer: new package
2026-02-20 1:23 [Buildroot] [PATCH v3 0/2] Add virglrenderer support Joseph Kogut
@ 2026-02-20 1:23 ` Joseph Kogut
2026-02-20 1:23 ` [Buildroot] [PATCH v3 2/2] package/qemu: add virglrenderer support Joseph Kogut
1 sibling, 0 replies; 5+ messages in thread
From: Joseph Kogut @ 2026-02-20 1:23 UTC (permalink / raw)
To: buildroot
Cc: Eric Le Bihan, Romain Naour, Joseph Kogut, Adam Ford,
Steve deRosier
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
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH v3 2/2] package/qemu: add virglrenderer support
2026-02-20 1:23 [Buildroot] [PATCH v3 0/2] Add virglrenderer support Joseph Kogut
2026-02-20 1:23 ` [Buildroot] [PATCH v3 1/2] package/virglrenderer: new package Joseph Kogut
@ 2026-02-20 1:23 ` Joseph Kogut
2026-03-04 22:29 ` Romain Naour via buildroot
1 sibling, 1 reply; 5+ messages in thread
From: Joseph Kogut @ 2026-02-20 1:23 UTC (permalink / raw)
To: buildroot
Cc: Eric Le Bihan, Romain Naour, Joseph Kogut, Adam Ford,
Steve deRosier
Add optional virglrenderer support, 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 <joseph.kogut@gmail.com>
---
package/qemu/Config.in | 28 ++++++++++++++++++++++++++++
package/qemu/qemu.mk | 15 ++++++++++++++-
2 files changed, 42 insertions(+), 1 deletion(-)
diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index e16eafe446..25921368e9 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -116,6 +116,34 @@ config BR2_PACKAGE_QEMU_SDL
Say 'y' to enable the SDL frontend, that is, a graphical
window presenting the VM's display.
+comment "OpenGL and virglrenderer need an OpenGL and/or OpenGL EGL backend"
+ depends on !(BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_HAS_LIBGL)
+
+config BR2_PACKAGE_QEMU_OPENGL
+ bool "Enable OpenGL"
+ depends on BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_HAS_LIBGL # libepoxy
+ select BR2_PACKAGE_LIBEPOXY
+ help
+ Say 'y' to enable OpenGL accelerated display frontend support.
+ This is necessary to efficiently display frames rendered in a
+ guest on the host.
+
+ Run qemu with `-display sdl,gl=on`
+
+config BR2_PACKAGE_QEMU_VIRGLRENDERER
+ bool "Enable virglrenderer"
+ depends on BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_HAS_LIBGL # virglrenderer
+ select BR2_PACKAGE_QEMU_OPENGL
+ select BR2_PACKAGE_VIRGLRENDERER
+ help
+ Say 'y' to enable virglrenderer, enabling GL and Vulkan
+ passthrough from the host to the guest through virtio-gpu.
+ This enables the guest to have accelerated GL and/or Vulkan.
+
+ Run qemu with `-device virtio-gpu-gl`
+
+ https://qemu.readthedocs.io/en/v10.0.3/system/devices/virtio-gpu.html#virtio-gpu-virglrenderer
+
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 97f8e22091..e250128dfa 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -274,6 +274,20 @@ else
QEMU_OPTS += --disable-usb-redir
endif
+ifeq ($(BR2_PACKAGE_QEMU_OPENGL),y)
+QEMU_OPTS += --enable-opengl
+QEMU_DEPENDENCIES += libepoxy
+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
@@ -330,7 +344,6 @@ define QEMU_CONFIGURE_CMDS
--disable-membarrier \
--disable-mpath \
--disable-netmap \
- --disable-opengl \
--disable-oss \
--disable-pa \
--disable-plugins \
--
2.53.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [Buildroot] [PATCH v3 2/2] package/qemu: add virglrenderer support
2026-02-20 1:23 ` [Buildroot] [PATCH v3 2/2] package/qemu: add virglrenderer support Joseph Kogut
@ 2026-03-04 22:29 ` Romain Naour via buildroot
2026-03-11 19:30 ` Joseph Kogut
0 siblings, 1 reply; 5+ messages in thread
From: Romain Naour via buildroot @ 2026-03-04 22:29 UTC (permalink / raw)
To: Joseph Kogut, buildroot
Cc: Eric Le Bihan, Romain Naour, Adam Ford, Steve deRosier
Hello Joseph, All,
Le 20/02/2026 à 02:23, Joseph Kogut a écrit :
> Add optional virglrenderer support, 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 <joseph.kogut@gmail.com>
> ---
> package/qemu/Config.in | 28 ++++++++++++++++++++++++++++
> package/qemu/qemu.mk | 15 ++++++++++++++-
> 2 files changed, 42 insertions(+), 1 deletion(-)
>
> diff --git a/package/qemu/Config.in b/package/qemu/Config.in
> index e16eafe446..25921368e9 100644
> --- a/package/qemu/Config.in
> +++ b/package/qemu/Config.in
> @@ -116,6 +116,34 @@ config BR2_PACKAGE_QEMU_SDL
> Say 'y' to enable the SDL frontend, that is, a graphical
> window presenting the VM's display.
>
> +comment "OpenGL and virglrenderer need an OpenGL and/or OpenGL EGL backend"
> + depends on !(BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_HAS_LIBGL)
One comment per option, especially since BR2_PACKAGE_VIRGLRENDERER actually
depends on BR2_PACKAGE_HAS_LIBGL only (see bellow).
> +
> +config BR2_PACKAGE_QEMU_OPENGL
> + bool "Enable OpenGL"
> + depends on BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_HAS_LIBGL # libepoxy
> + select BR2_PACKAGE_LIBEPOXY
> + help
> + Say 'y' to enable OpenGL accelerated display frontend support.
> + This is necessary to efficiently display frames rendered in a
> + guest on the host.
> +
> + Run qemu with `-display sdl,gl=on`
The two new option should be added in two separate commit.
> +
> +config BR2_PACKAGE_QEMU_VIRGLRENDERER
> + bool "Enable virglrenderer"
> + depends on BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_HAS_LIBGL # virglrenderer> + select BR2_PACKAGE_QEMU_OPENGL
> + select BR2_PACKAGE_VIRGLRENDERER
If BR2_PACKAGE_QEMU_VIRGLRENDERER is selected with only BR2_PACKAGE_HAS_LIBGL
enabled, you can't select BR2_PACKAGE_VIRGLRENDERER here since it depends on
libegl only.
"libegl is in the dependency chain of virglrenderer that has added it to its
_DEPENDENCIES variable without selecting it or depending on it from Config.in."
Best regards,
Romain
> + help
> + Say 'y' to enable virglrenderer, enabling GL and Vulkan
> + passthrough from the host to the guest through virtio-gpu.
> + This enables the guest to have accelerated GL and/or Vulkan.
> +
> + Run qemu with `-device virtio-gpu-gl`
> +
> + https://qemu.readthedocs.io/en/v10.0.3/system/devices/virtio-gpu.html#virtio-gpu-virglrenderer
> +
> 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 97f8e22091..e250128dfa 100644
> --- a/package/qemu/qemu.mk
> +++ b/package/qemu/qemu.mk
> @@ -274,6 +274,20 @@ else
> QEMU_OPTS += --disable-usb-redir
> endif
>
> +ifeq ($(BR2_PACKAGE_QEMU_OPENGL),y)
> +QEMU_OPTS += --enable-opengl
> +QEMU_DEPENDENCIES += libepoxy
> +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
> @@ -330,7 +344,6 @@ define QEMU_CONFIGURE_CMDS
> --disable-membarrier \
> --disable-mpath \
> --disable-netmap \
> - --disable-opengl \
> --disable-oss \
> --disable-pa \
> --disable-plugins \
>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Buildroot] [PATCH v3 2/2] package/qemu: add virglrenderer support
2026-03-04 22:29 ` Romain Naour via buildroot
@ 2026-03-11 19:30 ` Joseph Kogut
0 siblings, 0 replies; 5+ messages in thread
From: Joseph Kogut @ 2026-03-11 19:30 UTC (permalink / raw)
To: Romain Naour
Cc: buildroot, Eric Le Bihan, Romain Naour, Adam Ford, Steve deRosier
Hello Romain,
On Wed, Mar 4, 2026 at 2:29 PM Romain Naour <romain.naour@smile.fr> wrote:
>
> Hello Joseph, All,
>
> Le 20/02/2026 à 02:23, Joseph Kogut a écrit :
> > Add optional virglrenderer support, 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 <joseph.kogut@gmail.com>
> > ---
> > package/qemu/Config.in | 28 ++++++++++++++++++++++++++++
> > package/qemu/qemu.mk | 15 ++++++++++++++-
> > 2 files changed, 42 insertions(+), 1 deletion(-)
> >
> > diff --git a/package/qemu/Config.in b/package/qemu/Config.in
> > index e16eafe446..25921368e9 100644
> > --- a/package/qemu/Config.in
> > +++ b/package/qemu/Config.in
> > @@ -116,6 +116,34 @@ config BR2_PACKAGE_QEMU_SDL
> > Say 'y' to enable the SDL frontend, that is, a graphical
> > window presenting the VM's display.
> >
> > +comment "OpenGL and virglrenderer need an OpenGL and/or OpenGL EGL backend"
> > + depends on !(BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_HAS_LIBGL)
>
> One comment per option, especially since BR2_PACKAGE_VIRGLRENDERER actually
> depends on BR2_PACKAGE_HAS_LIBGL only (see bellow).
>
> > +
> > +config BR2_PACKAGE_QEMU_OPENGL
> > + bool "Enable OpenGL"
> > + depends on BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_HAS_LIBGL # libepoxy
> > + select BR2_PACKAGE_LIBEPOXY
> > + help
> > + Say 'y' to enable OpenGL accelerated display frontend support.
> > + This is necessary to efficiently display frames rendered in a
> > + guest on the host.
> > +
> > + Run qemu with `-display sdl,gl=on`
>
> The two new option should be added in two separate commit.
>
Good suggestion, that's a cleaner structure.
> > +
> > +config BR2_PACKAGE_QEMU_VIRGLRENDERER
> > + bool "Enable virglrenderer"
> > + depends on BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_HAS_LIBGL # virglrenderer> + select BR2_PACKAGE_QEMU_OPENGL
> > + select BR2_PACKAGE_VIRGLRENDERER
>
> If BR2_PACKAGE_QEMU_VIRGLRENDERER is selected with only BR2_PACKAGE_HAS_LIBGL
> enabled, you can't select BR2_PACKAGE_VIRGLRENDERER here since it depends on
> libegl only.
>
> "libegl is in the dependency chain of virglrenderer that has added it to its
> _DEPENDENCIES variable without selecting it or depending on it from Config.in."
>
Thanks for pointing this out, I missed that. I'll follow up shortly.
Thanks for the review.
Best,
Joseph
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-03-11 19:31 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-20 1:23 [Buildroot] [PATCH v3 0/2] Add virglrenderer support Joseph Kogut
2026-02-20 1:23 ` [Buildroot] [PATCH v3 1/2] package/virglrenderer: new package Joseph Kogut
2026-02-20 1:23 ` [Buildroot] [PATCH v3 2/2] package/qemu: add virglrenderer support Joseph Kogut
2026-03-04 22:29 ` Romain Naour via buildroot
2026-03-11 19:30 ` Joseph Kogut
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox