Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] package/webkitgtk: allow both X11 and Wayland
@ 2023-04-13 14:29 Adrian Perez de Castro
  2023-04-13 14:37 ` Adrian Perez de Castro
  2023-09-08 12:53 ` [Buildroot] [PATCH v1 1/4] package/webkitgtk: security bump to version 2.40.5 Thomas Devoogdt
  0 siblings, 2 replies; 10+ messages in thread
From: Adrian Perez de Castro @ 2023-04-13 14:29 UTC (permalink / raw)
  To: buildroot; +Cc: Adrian Perez de Castro

Allow enabling support for both the X11 and Wayland backends.

This in turn needs reorganizing how desktop GL or OpenGL ES is chosen,
as it no longer can depend on whether Wayland support is enabled: the
BR2_PACKAGE_HAS_LIBGL and BR2_PACKAGE_HAS_LIBGLES variables are both
checked, and ENABLE_GLES2 is set only if the package providing OpenGL
claims only GLES is supported; otherwise desktop GL is preferred. This
matches the existing logic.

The existing comment indicating that only one of both windowing systems
can be enabled was wrong: the same WebKitGTK build can target both
X11 and Wayland at the same time, as long as GTK itself has been built
accordingly. Enabling both is the approach taken by most Linux
distributions, and has been supported for years.

Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
---
 package/webkitgtk/webkitgtk.mk | 37 +++++++++++++++++-----------------
 1 file changed, 19 insertions(+), 18 deletions(-)

diff --git a/package/webkitgtk/webkitgtk.mk b/package/webkitgtk/webkitgtk.mk
index 3263f7fea0..8d88d0914e 100644
--- a/package/webkitgtk/webkitgtk.mk
+++ b/package/webkitgtk/webkitgtk.mk
@@ -77,32 +77,33 @@ else
 WEBKITGTK_CONF_OPTS += -DENABLE_GAMEPAD=OFF
 endif
 
-# Only one target platform can be built, assume X11 > Wayland
-
-# GTK3-X11 target gives OpenGL from newer libgtk3 versions
-# Consider this better than EGL + maybe GLESv2 since both can't be built
-# 2D CANVAS acceleration requires OpenGL proper with cairo-gl
-ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y)
-WEBKITGTK_CONF_OPTS += \
-	-DENABLE_GLES2=OFF \
-	-DENABLE_X11_TARGET=ON
-WEBKITGTK_DEPENDENCIES += libgl \
-	xlib_libXcomposite xlib_libXdamage xlib_libXrender xlib_libXt
-else # !X11
-# GTK3-BROADWAY/WAYLAND needs at least EGL
-WEBKITGTK_DEPENDENCIES += libegl
-# GLESv2 support is optional though
-ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y)
+# Use GLES if available and desktop GL is not.
+$(info $(BR2_PACKAGE_HAS_LIBGL):$(BR2_PACKAGE_HAS_LIBGLES))
+ifeq ($(BR2_PACKAGE_HAS_LIBGL):$(BR2_PACKAGE_HAS_LIBGLES),:y)
 WEBKITGTK_CONF_OPTS += -DENABLE_GLES2=ON
 WEBKITGTK_DEPENDENCIES += libgles
 else
-# Disable general OpenGL (shading) if there's no GLESv2
 WEBKITGTK_CONF_OPTS += -DENABLE_GLES2=OFF
 endif
-# We must explicitly state the wayland target
+
+ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y)
+WEBKITGTK_CONF_OPTS += -DENABLE_X11_TARGET=ON
+WEBKITGTK_DEPENDENCIES += libgl \
+	xlib_libXcomposite xlib_libXdamage xlib_libXrender xlib_libXt
+else
+WEBKITGTK_CONF_OPTS += -DENABLE_X11_TARGET=OFF
+endif
+
 ifeq ($(BR2_PACKAGE_LIBGTK3_WAYLAND),y)
 WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=ON
+WEBKITGTK_DEPENDENCIES += libegl
+else
+WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=OFF
 endif
+
+# If only the GTK Broadway backend is enabled, EGL is still needed.
+ifeq ($(BR2_PACKAGE_LIBGTK3_X11):$(BR2_PACKAGE_LIBGTK3_WAYLAND):$(BR2_PACKAGE_LIBGTK3_BROADWAY),::y)
+WEBKITGTK_DEPENDENCIES += libegl
 endif
 
 ifeq ($(BR2_PACKAGE_LIBGTK3_WAYLAND)$(BR2_PACKAGE_WPEBACKEND_FDO),yy)
-- 
2.40.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 10+ messages in thread
* Re: [Buildroot] [PATCH] package/webkitgtk: allow both X11 and Wayland
@ 2023-04-13 21:14 Thomas Devoogdt
  2023-04-13 21:54 ` Adrian Perez de Castro
  0 siblings, 1 reply; 10+ messages in thread
From: Thomas Devoogdt @ 2023-04-13 21:14 UTC (permalink / raw)
  To: Adrian Perez de Castro; +Cc: buildroot


[-- Attachment #1.1: Type: text/plain, Size: 419 bytes --]

Hi,

I have a serie of patches which are still open, related to that atk bridge.

https://patchwork.ozlabs.org/project/buildroot/list/?series=343801

I was also planning to make a patch with webkitgtk 2.40, but didn't do that
since my other patches aren't merged yet. If you do it, know that I already
upstreamed the host-unifdef package and that the minimum required GCC
version need to be bumped as well.

Kr

Thomas

[-- Attachment #1.2: Type: text/html, Size: 802 bytes --]

[-- Attachment #2: Type: text/plain, Size: 150 bytes --]

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2023-09-08 12:55 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-13 14:29 [Buildroot] [PATCH] package/webkitgtk: allow both X11 and Wayland Adrian Perez de Castro
2023-04-13 14:37 ` Adrian Perez de Castro
2023-04-13 14:39   ` Adrian Perez de Castro
2023-09-08 12:53 ` [Buildroot] [PATCH v1 1/4] package/webkitgtk: security bump to version 2.40.5 Thomas Devoogdt
2023-09-08 12:53   ` [Buildroot] [PATCH v1 2/4] package/webkitgtk: allow both X11 and Wayland Thomas Devoogdt
2023-09-08 12:53   ` [Buildroot] [PATCH v1 3/4] package/webkitgtk: make gbm support optional Thomas Devoogdt
2023-09-08 12:54   ` [Buildroot] [PATCH v1 4/4] package/webkitgtk: add a USE_OPENGL_OR_ES config option Thomas Devoogdt
  -- strict thread matches above, loose matches on Subject: below --
2023-04-13 21:14 [Buildroot] [PATCH] package/webkitgtk: allow both X11 and Wayland Thomas Devoogdt
2023-04-13 21:54 ` Adrian Perez de Castro
2023-04-14  8:12   ` Thomas Devoogdt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox