By default, Chromium will try to use GLX and regular OpenGL. On embedded
platforms, these are often not present, or unaccelerated, and using EGL
and OpenGL ES instead makes more sense. To produce builds that use EGL and
OpenGL ES by default instead, this PACKAGECONFIG option can be used.

An EGL/OpenGLES-enabled build produces a chromium version that renders
2D and WebGL with GPU acceleration (if present).

Signed-off-by: Carlos Rafael Giani <d...@pseudoterminal.org>
---
 recipes-browser/chromium/chromium_35.0.1883.0.bb | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/recipes-browser/chromium/chromium_35.0.1883.0.bb 
b/recipes-browser/chromium/chromium_35.0.1883.0.bb
index 5f4e807..dcc990f 100644
--- a/recipes-browser/chromium/chromium_35.0.1883.0.bb
+++ b/recipes-browser/chromium/chromium_35.0.1883.0.bb
@@ -23,6 +23,10 @@ COMPATIBLE_MACHINE_armv7a = "(.*)"
 
 inherit gettext
 
+# this makes sure the dependencies for the EGL mode are present; otherwise, 
the configure scripts
+# automatically and silently fall back to GLX
+PACKAGECONFIG[use-egl] = ",,virtual/egl virtual/libgles2"
+
 EXTRA_OEGYP =  " \
        ${@base_contains('DISTRO_FEATURES', 'ld-is-gold', '', 
'-Dlinux_use_gold_binary=0', d)} \
        ${@base_contains('DISTRO_FEATURES', 'ld-is-gold', '', 
'-Dlinux_use_gold_flags=0', d)} \
@@ -33,7 +37,9 @@ EXTRA_OEGYP = " \
 "
 ARMFPABI_armv7a = "${@bb.utils.contains('TUNE_FEATURES', 
'callconvention-hard', 'arm_float_abi=hard', 'arm_float_abi=softfp', d)}"
 
-CHROMIUM_EXTRA_ARGS ?= ""
+CHROMIUM_EXTRA_ARGS ?= " \
+       ${@bb.utils.contains('PACKAGECONFIG', 'use-egl', '--use-gl=egl', '', 
d)} \
+"
 
 export GYP_DEFINES="${ARMFPABI} 
release_extra_cflags='-Wno-error=unused-local-typedefs' sysroot=''"
 do_configure() {
-- 
1.8.3.2

-- 
_______________________________________________
Openembedded-devel mailing list
Openembedded-devel@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

Reply via email to