diff mbox series

[v7,6/8] package/qemu: add OpenGL config

Message ID 20260515-virglrenderer-v7-6-1f1814b65ccd@gmail.com
State Changes Requested
Headers show
Series Add virglrenderer support | expand

Commit Message

Joseph Kogut May 16, 2026, 2:03 a.m. UTC
Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
 package/qemu/Config.in | 14 ++++++++++++++
 package/qemu/qemu.mk   |  8 +++++++-
 2 files changed, 21 insertions(+), 1 deletion(-)

Comments

Arnout Vandecappelle May 21, 2026, 8:21 p.m. UTC | #1
On 16/05/2026 04:03, Joseph Kogut wrote:
> Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
> ---
>   package/qemu/Config.in | 14 ++++++++++++++
>   package/qemu/qemu.mk   |  8 +++++++-
>   2 files changed, 21 insertions(+), 1 deletion(-)
> 
> diff --git a/package/qemu/Config.in b/package/qemu/Config.in
> index 2a6aa288d3..d4e4e37a3e 100644
> --- a/package/qemu/Config.in
> +++ b/package/qemu/Config.in
> @@ -112,6 +112,20 @@ config BR2_PACKAGE_QEMU_SDL
>   	  Say 'y' to enable the SDL frontend, that is, a graphical
>   	  window presenting the VM's display.
>   
> +config BR2_PACKAGE_QEMU_OPENGL
> +	bool "Enable OpenGL"
> +	depends on BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_HAS_LIBGL # needs libepoxy w/ EGL or GL

  Even though it only includes epoxy/egl.h and not EGL/egl.h, it's still using 
symbols from EGL/egl.h so I think the comment is not needed.

  But basically you can add my

Acked-by: Arnout Vandecappelle <arnout@rnout.be>

  Regards,
  Arnout

> +	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`
> +
> +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_FDT
>   	bool "Enable FDT"
>   	select BR2_PACKAGE_DTC
> diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
> index 2199db38cf..aff1762fb9 100644
> --- a/package/qemu/qemu.mk
> +++ b/package/qemu/qemu.mk
> @@ -272,6 +272,13 @@ 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_STATIC_LIBS),y)
>   QEMU_OPTS += --static
>   endif
> @@ -329,7 +336,6 @@ define QEMU_CONFIGURE_CMDS
>   			--disable-membarrier \
>   			--disable-mpath \
>   			--disable-netmap \
> -			--disable-opengl \
>   			--disable-oss \
>   			--disable-pa \
>   			--disable-plugins \
>
diff mbox series

Patch

diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index 2a6aa288d3..d4e4e37a3e 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -112,6 +112,20 @@  config BR2_PACKAGE_QEMU_SDL
 	  Say 'y' to enable the SDL frontend, that is, a graphical
 	  window presenting the VM's display.
 
+config BR2_PACKAGE_QEMU_OPENGL
+	bool "Enable OpenGL"
+	depends on BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_HAS_LIBGL # needs libepoxy w/ EGL or GL
+	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`
+
+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_FDT
 	bool "Enable FDT"
 	select BR2_PACKAGE_DTC
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index 2199db38cf..aff1762fb9 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -272,6 +272,13 @@  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_STATIC_LIBS),y)
 QEMU_OPTS += --static
 endif
@@ -329,7 +336,6 @@  define QEMU_CONFIGURE_CMDS
 			--disable-membarrier \
 			--disable-mpath \
 			--disable-netmap \
-			--disable-opengl \
 			--disable-oss \
 			--disable-pa \
 			--disable-plugins \