* [Buildroot] [v3,0/2] package/efl: enable libdrm support
@ 2016-11-20 18:59 pierre floury
2016-11-20 18:59 ` [Buildroot] [v3,1/2] " pierre floury
2016-11-20 18:59 ` [Buildroot] [v3,2/2] package/efl: add Evas GL DRM Engine support pierre floury
0 siblings, 2 replies; 8+ messages in thread
From: pierre floury @ 2016-11-20 18:59 UTC (permalink / raw)
To: buildroot
From: Pierre Floury <devpfl@gmail.com>
the folowing patches are the work done by Romain Naour
to add drm and gl-drm support to package/efl
cf http://lists.busybox.net/pipermail/buildroot/2016-September/172422.html
I just rebase the v2 patches on top of the master
Romain Naour (2):
package/efl: enable libdrm support
package/efl: add Evas GL DRM Engine support
package/efl/Config.in | 13 +++++++++++++
package/efl/efl.mk | 17 ++++++++++++++++-
2 files changed, 29 insertions(+), 1 deletion(-)
--
2.1.4
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [v3,1/2] package/efl: enable libdrm support
2016-11-20 18:59 [Buildroot] [v3,0/2] package/efl: enable libdrm support pierre floury
@ 2016-11-20 18:59 ` pierre floury
2016-11-20 19:26 ` Romain Naour
2016-11-20 18:59 ` [Buildroot] [v3,2/2] package/efl: add Evas GL DRM Engine support pierre floury
1 sibling, 1 reply; 8+ messages in thread
From: pierre floury @ 2016-11-20 18:59 UTC (permalink / raw)
To: buildroot
From: Romain Naour <romain.naour@gmail.com>
add drm support to efl
drm can be used without compositor, just like it was with
the framebuffer for standalone applications
As stated in configure.ac, libdrm support needs libdrm, elput,
libxkbcommon and libgbm.
libgbm is only provided by mesa3d package when OpenGL EGL support is
enabled, so add a direct dependency on mesa3d.
Rework the libxkbcommon dependency since it's now required for
elput and libdrm support.
[1] https://www.enlightenment.org/about-wayland
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Pierre Floury <devpfl@gmail.com>
---
libgdm can be found as a standalone library on github [2] but it seems
not very active. I prefer to rely on Mesa3d version.
[2] https://github.com/robclark/libgbm
v2: use "select" BR2_PACKAGE_EFL_ELPUT instead of "depends on" (ThomasP)
fix commit log after 373c24cd1bb98a8b826b92034f7cb39780719625 (ThomasP)
---
v3: rebase v2 on top of master
no wayland reference anymore
Signed-off-by: Pierre Floury <devpfl@gmail.com>
---
package/efl/Config.in | 13 +++++++++++++
package/efl/efl.mk | 11 ++++++++++-
2 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/package/efl/Config.in b/package/efl/Config.in
index 69b0dcf..58e3558 100644
--- a/package/efl/Config.in
+++ b/package/efl/Config.in
@@ -192,6 +192,19 @@ config BR2_PACKAGE_EFL_ELPUT
ecore_drm, etc) to handle interfacing with libinput without
having to duplicate the code in each subsystem.
+config BR2_PACKAGE_EFL_DRM
+ bool "Evas DRM Engine"
+ depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm
+ depends on BR2_PACKAGE_MESA3D_OPENGL_EGL # require libgbm from mesa3d
+ select BR2_PACKAGE_EFL_ELPUT
+ select BR2_PACKAGE_LIBDRM
+ select BR2_PACKAGE_LIBXKBCOMMON
+ help
+ This option enable building support for the Evas DRM Engine.
+
+comment "Evas DRM Engine needs mesa3d w/ EGL support, threads"
+ depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_PACKAGE_MESA3D_OPENGL_EGL
+
comment "libevas loaders"
config BR2_PACKAGE_EFL_PNG
diff --git a/package/efl/efl.mk b/package/efl/efl.mk
index 6af7aa0..d6b2bf5 100644
--- a/package/efl/efl.mk
+++ b/package/efl/efl.mk
@@ -148,7 +148,7 @@ endif # BR2_PACKAGE_OPENSSL
ifeq ($(BR2_PACKAGE_EFL_ELPUT),y)
EFL_CONF_OPTS += --enable-elput
-EFL_DEPENDENCIES += libinput libxkbcommon
+EFL_DEPENDENCIES += libinput
else
EFL_CONF_OPTS += --disable-elput
endif
@@ -192,6 +192,15 @@ else ifeq ($(BR2_PACKAGE_EFL_OPENGL_NONE),y)
EFL_CONF_OPTS += --with-opengl=none
endif
+ifeq ($(BR2_PACKAGE_EFL_DRM),y)
+EFL_CONF_OPTS += --enable-drm
+EFL_DEPENDENCIES += libdrm libegl mesa3d
+else
+EFL_CONF_OPTS += --disable-drm
+endif
+
+EFL_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBXKBCOMMON),libxkbcommon)
+
# Loaders that need external dependencies needs to be --enable-XXX=yes
# otherwise the default is '=static'.
# All other loaders are statically built-in
--
2.1.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [Buildroot] [v3,2/2] package/efl: add Evas GL DRM Engine support
2016-11-20 18:59 [Buildroot] [v3,0/2] package/efl: enable libdrm support pierre floury
2016-11-20 18:59 ` [Buildroot] [v3,1/2] " pierre floury
@ 2016-11-20 18:59 ` pierre floury
2016-11-20 19:30 ` [Buildroot] [v3, 2/2] " Romain Naour
1 sibling, 1 reply; 8+ messages in thread
From: pierre floury @ 2016-11-20 18:59 UTC (permalink / raw)
To: buildroot
From: Romain Naour <romain.naour@gmail.com>
This support is required for Enlightenment wayland support [1].
As stated in configure, Evas GL DRM Engine needs OpenGL ES with EGL and
wayland (wayland-client >= 1.8.0)
[1] https://www.enlightenment.org/about-wayland
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Pierre Floury <devpfl@gmail.com>
---
v2: rename the option to BR2_PAKCAGE_EFL_GLES_DRM (ThomasP)
fix the help text (ThomasP)
---
v3: rebase v2 on top of master
Signed-off-by: Pierre Floury <devpfl@gmail.com>
---
package/efl/efl.mk | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/package/efl/efl.mk b/package/efl/efl.mk
index d6b2bf5..fdeea47 100644
--- a/package/efl/efl.mk
+++ b/package/efl/efl.mk
@@ -199,6 +199,12 @@ else
EFL_CONF_OPTS += --disable-drm
endif
+ifeq ($(BR2_PACKAGE_EFL_OPENGLES)$(BR2_PACKAGE_EFL_DRM),yy)
+EFL_CONF_OPTS += --enable-gl-drm
+else
+EFL_CONF_OPTS += --disable-gl-drm
+endif
+
EFL_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBXKBCOMMON),libxkbcommon)
# Loaders that need external dependencies needs to be --enable-XXX=yes
--
2.1.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [Buildroot] [v3,1/2] package/efl: enable libdrm support
2016-11-20 18:59 ` [Buildroot] [v3,1/2] " pierre floury
@ 2016-11-20 19:26 ` Romain Naour
0 siblings, 0 replies; 8+ messages in thread
From: Romain Naour @ 2016-11-20 19:26 UTC (permalink / raw)
To: buildroot
Hi Pierre,
Thanks for this new version!
Le 20/11/2016 ? 19:59, pierre floury a ?crit :
> From: Romain Naour <romain.naour@gmail.com>
>
> add drm support to efl
>
> drm can be used without compositor, just like it was with
> the framebuffer for standalone applications
>
> As stated in configure.ac, libdrm support needs libdrm, elput,
> libxkbcommon and libgbm.
>
> libgbm is only provided by mesa3d package when OpenGL EGL support is
> enabled, so add a direct dependency on mesa3d.
>
> Rework the libxkbcommon dependency since it's now required for
> elput and libdrm support.
>
> [1] https://www.enlightenment.org/about-wayland
>
> Signed-off-by: Romain Naour <romain.naour@gmail.com>
> Signed-off-by: Pierre Floury <devpfl@gmail.com>
>
> ---
> libgdm can be found as a standalone library on github [2] but it seems
> not very active. I prefer to rely on Mesa3d version.
> [2] https://github.com/robclark/libgbm
>
> v2: use "select" BR2_PACKAGE_EFL_ELPUT instead of "depends on" (ThomasP)
> fix commit log after 373c24cd1bb98a8b826b92034f7cb39780719625 (ThomasP)
> ---
> v3: rebase v2 on top of master
> no wayland reference anymore
This patch is based on master after the wayland removal:
https://git.buildroot.net/buildroot/commit/?id=4f04be1659f186765f506c68f5bfbf6845fc40dc
So we must wait for the 2016.11 release to apply this patch.
Best regards,
Romain
> Signed-off-by: Pierre Floury <devpfl@gmail.com>
> ---
> package/efl/Config.in | 13 +++++++++++++
> package/efl/efl.mk | 11 ++++++++++-
> 2 files changed, 23 insertions(+), 1 deletion(-)
>
> diff --git a/package/efl/Config.in b/package/efl/Config.in
> index 69b0dcf..58e3558 100644
> --- a/package/efl/Config.in
> +++ b/package/efl/Config.in
> @@ -192,6 +192,19 @@ config BR2_PACKAGE_EFL_ELPUT
> ecore_drm, etc) to handle interfacing with libinput without
> having to duplicate the code in each subsystem.
>
> +config BR2_PACKAGE_EFL_DRM
> + bool "Evas DRM Engine"
> + depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm
> + depends on BR2_PACKAGE_MESA3D_OPENGL_EGL # require libgbm from mesa3d
> + select BR2_PACKAGE_EFL_ELPUT
> + select BR2_PACKAGE_LIBDRM
> + select BR2_PACKAGE_LIBXKBCOMMON
> + help
> + This option enable building support for the Evas DRM Engine.
> +
> +comment "Evas DRM Engine needs mesa3d w/ EGL support, threads"
> + depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_PACKAGE_MESA3D_OPENGL_EGL
> +
> comment "libevas loaders"
>
> config BR2_PACKAGE_EFL_PNG
> diff --git a/package/efl/efl.mk b/package/efl/efl.mk
> index 6af7aa0..d6b2bf5 100644
> --- a/package/efl/efl.mk
> +++ b/package/efl/efl.mk
> @@ -148,7 +148,7 @@ endif # BR2_PACKAGE_OPENSSL
>
> ifeq ($(BR2_PACKAGE_EFL_ELPUT),y)
> EFL_CONF_OPTS += --enable-elput
> -EFL_DEPENDENCIES += libinput libxkbcommon
> +EFL_DEPENDENCIES += libinput
> else
> EFL_CONF_OPTS += --disable-elput
> endif
> @@ -192,6 +192,15 @@ else ifeq ($(BR2_PACKAGE_EFL_OPENGL_NONE),y)
> EFL_CONF_OPTS += --with-opengl=none
> endif
>
> +ifeq ($(BR2_PACKAGE_EFL_DRM),y)
> +EFL_CONF_OPTS += --enable-drm
> +EFL_DEPENDENCIES += libdrm libegl mesa3d
> +else
> +EFL_CONF_OPTS += --disable-drm
> +endif
> +
> +EFL_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBXKBCOMMON),libxkbcommon)
> +
> # Loaders that need external dependencies needs to be --enable-XXX=yes
> # otherwise the default is '=static'.
> # All other loaders are statically built-in
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [v3, 2/2] package/efl: add Evas GL DRM Engine support
2016-11-20 18:59 ` [Buildroot] [v3,2/2] package/efl: add Evas GL DRM Engine support pierre floury
@ 2016-11-20 19:30 ` Romain Naour
2016-11-20 21:49 ` Romain Naour
0 siblings, 1 reply; 8+ messages in thread
From: Romain Naour @ 2016-11-20 19:30 UTC (permalink / raw)
To: buildroot
Hi Pierre,
Le 20/11/2016 ? 19:59, pierre floury a ?crit :
> From: Romain Naour <romain.naour@gmail.com>
>
> This support is required for Enlightenment wayland support [1].
>
> As stated in configure, Evas GL DRM Engine needs OpenGL ES with EGL and
> wayland (wayland-client >= 1.8.0)
>
> [1] https://www.enlightenment.org/about-wayland
>
> Signed-off-by: Romain Naour <romain.naour@gmail.com>
> Signed-off-by: Pierre Floury <devpfl@gmail.com>
>
> ---
> v2: rename the option to BR2_PAKCAGE_EFL_GLES_DRM (ThomasP)
> fix the help text (ThomasP)
> ---
> v3: rebase v2 on top of master
> Signed-off-by: Pierre Floury <devpfl@gmail.com>
As suggested by Thomas [1], enable gl-drm only if all dependencies are available
without using another Kconfig symbol (BR2_PAKCAGE_EFL_GLES_DRM)
This series is ok for me :)
Best regards,
Romain
[1] http://lists.busybox.net/pipermail/buildroot/2016-September/172422.html
> ---
> package/efl/efl.mk | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/package/efl/efl.mk b/package/efl/efl.mk
> index d6b2bf5..fdeea47 100644
> --- a/package/efl/efl.mk
> +++ b/package/efl/efl.mk
> @@ -199,6 +199,12 @@ else
> EFL_CONF_OPTS += --disable-drm
> endif
>
> +ifeq ($(BR2_PACKAGE_EFL_OPENGLES)$(BR2_PACKAGE_EFL_DRM),yy)
> +EFL_CONF_OPTS += --enable-gl-drm
> +else
> +EFL_CONF_OPTS += --disable-gl-drm
> +endif
> +
> EFL_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBXKBCOMMON),libxkbcommon)
>
> # Loaders that need external dependencies needs to be --enable-XXX=yes
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [v3, 2/2] package/efl: add Evas GL DRM Engine support
2016-11-20 19:30 ` [Buildroot] [v3, 2/2] " Romain Naour
@ 2016-11-20 21:49 ` Romain Naour
2016-11-20 23:29 ` pierre
0 siblings, 1 reply; 8+ messages in thread
From: Romain Naour @ 2016-11-20 21:49 UTC (permalink / raw)
To: buildroot
Hi Pierre,
Le 20/11/2016 ? 20:30, Romain Naour a ?crit :
> Hi Pierre,
>
> Le 20/11/2016 ? 19:59, pierre floury a ?crit :
>> From: Romain Naour <romain.naour@gmail.com>
>>
>> This support is required for Enlightenment wayland support [1].
>>
>> As stated in configure, Evas GL DRM Engine needs OpenGL ES with EGL and
>> wayland (wayland-client >= 1.8.0)
^^^^^^^
:)
>>
>> [1] https://www.enlightenment.org/about-wayland
>>
>> Signed-off-by: Romain Naour <romain.naour@gmail.com>
>> Signed-off-by: Pierre Floury <devpfl@gmail.com>
>>
>> ---
>> v2: rename the option to BR2_PAKCAGE_EFL_GLES_DRM (ThomasP)
>> fix the help text (ThomasP)
>> ---
>> v3: rebase v2 on top of master
>> Signed-off-by: Pierre Floury <devpfl@gmail.com>
>
> As suggested by Thomas [1], enable gl-drm only if all dependencies are available
> without using another Kconfig symbol (BR2_PAKCAGE_EFL_GLES_DRM)
>
> This series is ok for me :)
Humm, I missed something in my initial patch... the Evas GL DRM doesn't build
without Wayland package.
From config.log:
configure:42726: checking whether to enable OpenGL Drm rendering backend
configure:42728: result: yes
configure:42747: $PKG_CONFIG --exists --print-errors "egl ${gl_library} libdrm
gbm wayland-client >= 1.11.0"
Package wayland-client was not found in the pkg-config search path.
Perhaps you should add the directory containing `wayland-client.pc'
to the PKG_CONFIG_PATH environment variable
Package 'wayland-client', required by 'world', not found
configure:42750: $? = 1
configure:42875: error: OpenGL Drm dependencies not found
In a previous local version I added a dependency to wayland to elput support but
I finally dropped it in the final patch submission. I forgot to add it for the
GL DRM support.
I guess we should re-add BR2_PAKCAGE_EFL_GLES_DRM to define the wayland,
efl-drm, opengl-es dependencies otherwise gl-drm would be enabled by:
ifeq ($(BR2_PACKAGE_WAYLAND)$(BR2_PACKAGE_EFL_OPENGLES)$(BR2_PACKAGE_EFL_DRM),yyy)
EFL_CONF_OPTS += --enable-gl-drm
else
EFL_CONF_OPTS += --disable-gl-drm
endif
which is not really nice.
I prefer:
efl.mk:
ifeq ($(BR2_PAKCAGE_EFL_GLES_DRM),y)
EFL_CONF_OPTS += --enable-gl-drm
else
EFL_CONF_OPTS += --disable-gl-drm
endif
Config.in:
config BR2_PAKCAGE_EFL_GLES_DRM
bool "Evas GLES DRM Engine"
depends on BR2_PACKAGE_EFL_DRM
depends on BR2_PACKAGE_EFL_OPENGLES # OpenGL ES with EGL support only
depends on BR2_PACKAGE_WAYLAND
help
This option enable building support for the Evas DRM OpenGL ES
based engine.
comment "Evas GL DRM Engine needs Evas DRM Engine, OpenGL ES w/ EGL, Wayland"
depends on BR2_PACKAGE_EFL_DRM && !BR2_PACKAGE_EFL_OPENGLES && !BR2_PACKAGE_WAYLAND
Thoughts ?
Best regards,
Romain
>
> Best regards,
> Romain
>
> [1] http://lists.busybox.net/pipermail/buildroot/2016-September/172422.html
>> ---
>> package/efl/efl.mk | 6 ++++++
>> 1 file changed, 6 insertions(+)
>>
>> diff --git a/package/efl/efl.mk b/package/efl/efl.mk
>> index d6b2bf5..fdeea47 100644
>> --- a/package/efl/efl.mk
>> +++ b/package/efl/efl.mk
>> @@ -199,6 +199,12 @@ else
>> EFL_CONF_OPTS += --disable-drm
>> endif
>>
>> +ifeq ($(BR2_PACKAGE_EFL_OPENGLES)$(BR2_PACKAGE_EFL_DRM),yy)
>> +EFL_CONF_OPTS += --enable-gl-drm
>> +else
>> +EFL_CONF_OPTS += --disable-gl-drm
>> +endif
>> +
>> EFL_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBXKBCOMMON),libxkbcommon)
>>
>> # Loaders that need external dependencies needs to be --enable-XXX=yes
>>
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [v3, 2/2] package/efl: add Evas GL DRM Engine support
2016-11-20 21:49 ` Romain Naour
@ 2016-11-20 23:29 ` pierre
2016-11-22 23:12 ` Romain Naour
0 siblings, 1 reply; 8+ messages in thread
From: pierre @ 2016-11-20 23:29 UTC (permalink / raw)
To: buildroot
Hi Romain,
On 11/20/2016 10:49 PM, Romain Naour wrote:
> Hi Pierre,
>
> Le 20/11/2016 ? 20:30, Romain Naour a ?crit :
>> Hi Pierre,
>>
>> Le 20/11/2016 ? 19:59, pierre floury a ?crit :
>>> From: Romain Naour <romain.naour@gmail.com>
>>>
>>> This support is required for Enlightenment wayland support [1].
>>>
>>> As stated in configure, Evas GL DRM Engine needs OpenGL ES with EGL and
>>> wayland (wayland-client >= 1.8.0)
> ^^^^^^^
> :)
>
>>>
>>> [1] https://www.enlightenment.org/about-wayland
>>>
>>> Signed-off-by: Romain Naour <romain.naour@gmail.com>
>>> Signed-off-by: Pierre Floury <devpfl@gmail.com>
>>>
>>> ---
>>> v2: rename the option to BR2_PAKCAGE_EFL_GLES_DRM (ThomasP)
>>> fix the help text (ThomasP)
>>> ---
>>> v3: rebase v2 on top of master
>>> Signed-off-by: Pierre Floury <devpfl@gmail.com>
>>
>> As suggested by Thomas [1], enable gl-drm only if all dependencies are available
>> without using another Kconfig symbol (BR2_PAKCAGE_EFL_GLES_DRM)
>>
>> This series is ok for me :)
>
> Humm, I missed something in my initial patch... the Evas GL DRM doesn't build
> without Wayland package.
>
> From config.log:
> configure:42726: checking whether to enable OpenGL Drm rendering backend
> configure:42728: result: yes
> configure:42747: $PKG_CONFIG --exists --print-errors "egl ${gl_library} libdrm
> gbm wayland-client >= 1.11.0"
> Package wayland-client was not found in the pkg-config search path.
> Perhaps you should add the directory containing `wayland-client.pc'
> to the PKG_CONFIG_PATH environment variable
> Package 'wayland-client', required by 'world', not found
> configure:42750: $? = 1
> configure:42875: error: OpenGL Drm dependencies not found
>
> In a previous local version I added a dependency to wayland to elput support but
> I finally dropped it in the final patch submission. I forgot to add it for the
> GL DRM support.
you are right, I miss the wayland-client dependency..
But, I do not get why this is requested.. efl are running well without
wayland, just with drm..
I've got an other error :
arm-linux-gnueabihf/bin/ld: cannot find -lGL
this is due to
configure.ac:2624:evas_engine_gl_common_libs="-lGL"
on my side, I replace "-lGL" with "" in configure.ac :
--- a/configure.ac
+++ b/configure.ac
@@ -2621,7 +2621,7 @@ evas_engine_gl_common_cflags=""
if test "x${have_egl}" = "xyes"; then
evas_engine_gl_common_libs="-lEGL"
else
- evas_engine_gl_common_libs="-lGL"
+ evas_engine_gl_common_libs=""
fi
and regenerate configure.
What would be the best solution to fix that ? just add a patch on the
configure file ? or patch theses 3 files :
configure | 26 +++++++++++++-------------configure.ac
| 2 +-
m4/evas_check_engine.m4 | 12 ++++++------
>
> I guess we should re-add BR2_PAKCAGE_EFL_GLES_DRM to define the wayland,
> efl-drm, opengl-es dependencies otherwise gl-drm would be enabled by:
>
> ifeq ($(BR2_PACKAGE_WAYLAND)$(BR2_PACKAGE_EFL_OPENGLES)$(BR2_PACKAGE_EFL_DRM),yyy)
> EFL_CONF_OPTS += --enable-gl-drm
> else
> EFL_CONF_OPTS += --disable-gl-drm
> endif
>
> which is not really nice.
>
> I prefer:
>
> efl.mk:
> ifeq ($(BR2_PAKCAGE_EFL_GLES_DRM),y)
> EFL_CONF_OPTS += --enable-gl-drm
> else
> EFL_CONF_OPTS += --disable-gl-drm
> endif
>
> Config.in:
> config BR2_PAKCAGE_EFL_GLES_DRM
> bool "Evas GLES DRM Engine"
> depends on BR2_PACKAGE_EFL_DRM
> depends on BR2_PACKAGE_EFL_OPENGLES # OpenGL ES with EGL support only
> depends on BR2_PACKAGE_WAYLAND
> help
> This option enable building support for the Evas DRM OpenGL ES
> based engine.
>
> comment "Evas GL DRM Engine needs Evas DRM Engine, OpenGL ES w/ EGL, Wayland"
> depends on BR2_PACKAGE_EFL_DRM && !BR2_PACKAGE_EFL_OPENGLES && !BR2_PACKAGE_WAYLAND
>
>
> Thoughts ?
yes, for me it makes sens to explicitly separate 'gl_drm' and 'drm'
engines, as efl do it on the report of configure :
Ecore_Evas......: yes (+extn +ews -fb +drm +gl-drm -psl1ght
-opengl-cocoa -software-sdl -opengl-sdl -wayland-shm -wayland-egl
-software-gdi -software-ddraw -software-x11 -opengl-x11)
>
> Best regards,
> Romain
>
>>
>> Best regards,
>> Romain
>>
>> [1] http://lists.busybox.net/pipermail/buildroot/2016-September/172422.html
>>> ---
>>> package/efl/efl.mk | 6 ++++++
>>> 1 file changed, 6 insertions(+)
>>>
>>> diff --git a/package/efl/efl.mk b/package/efl/efl.mk
>>> index d6b2bf5..fdeea47 100644
>>> --- a/package/efl/efl.mk
>>> +++ b/package/efl/efl.mk
>>> @@ -199,6 +199,12 @@ else
>>> EFL_CONF_OPTS += --disable-drm
>>> endif
>>>
>>> +ifeq ($(BR2_PACKAGE_EFL_OPENGLES)$(BR2_PACKAGE_EFL_DRM),yy)
>>> +EFL_CONF_OPTS += --enable-gl-drm
>>> +else
>>> +EFL_CONF_OPTS += --disable-gl-drm
>>> +endif
>>> +
>>> EFL_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBXKBCOMMON),libxkbcommon)
>>>
>>> # Loaders that need external dependencies needs to be --enable-XXX=yes
>>>
>>
>
Cheers,
Pierre
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [v3, 2/2] package/efl: add Evas GL DRM Engine support
2016-11-20 23:29 ` pierre
@ 2016-11-22 23:12 ` Romain Naour
0 siblings, 0 replies; 8+ messages in thread
From: Romain Naour @ 2016-11-22 23:12 UTC (permalink / raw)
To: buildroot
Hi Pierre,
Le 21/11/2016 ? 00:29, pierre a ?crit :
> Hi Romain,
>
>
> On 11/20/2016 10:49 PM, Romain Naour wrote:
>> Hi Pierre,
>>
>> Le 20/11/2016 ? 20:30, Romain Naour a ?crit :
>>> Hi Pierre,
>>>
>>> Le 20/11/2016 ? 19:59, pierre floury a ?crit :
>>>> From: Romain Naour <romain.naour@gmail.com>
>>>>
>>>> This support is required for Enlightenment wayland support [1].
>>>>
>>>> As stated in configure, Evas GL DRM Engine needs OpenGL ES with EGL and
>>>> wayland (wayland-client >= 1.8.0)
>> ^^^^^^^
>> :)
>>
>>>>
>>>> [1] https://www.enlightenment.org/about-wayland
>>>>
>>>> Signed-off-by: Romain Naour <romain.naour@gmail.com>
>>>> Signed-off-by: Pierre Floury <devpfl@gmail.com>
>>>>
>>>> ---
>>>> v2: rename the option to BR2_PAKCAGE_EFL_GLES_DRM (ThomasP)
>>>> fix the help text (ThomasP)
>>>> ---
>>>> v3: rebase v2 on top of master
>>>> Signed-off-by: Pierre Floury <devpfl@gmail.com>
>>>
>>> As suggested by Thomas [1], enable gl-drm only if all dependencies are available
>>> without using another Kconfig symbol (BR2_PAKCAGE_EFL_GLES_DRM)
>>>
>>> This series is ok for me :)
>>
>> Humm, I missed something in my initial patch... the Evas GL DRM doesn't build
>> without Wayland package.
>>
>> From config.log:
>> configure:42726: checking whether to enable OpenGL Drm rendering backend
>> configure:42728: result: yes
>> configure:42747: $PKG_CONFIG --exists --print-errors "egl ${gl_library} libdrm
>> gbm wayland-client >= 1.11.0"
>> Package wayland-client was not found in the pkg-config search path.
>> Perhaps you should add the directory containing `wayland-client.pc'
>> to the PKG_CONFIG_PATH environment variable
>> Package 'wayland-client', required by 'world', not found
>> configure:42750: $? = 1
>> configure:42875: error: OpenGL Drm dependencies not found
>>
>> In a previous local version I added a dependency to wayland to elput support but
>> I finally dropped it in the final patch submission. I forgot to add it for the
>> GL DRM support.
>
> you are right, I miss the wayland-client dependency..
> But, I do not get why this is requested.. efl are running well without wayland,
> just with drm..
wayland-client dependency was added to enable EGL wayland extensions to Evas_GL
as far I understand: see https://phab.enlightenment.org/D1507
>
> I've got an other error :
>
> arm-linux-gnueabihf/bin/ld: cannot find -lGL
> this is due to
> configure.ac:2624:evas_engine_gl_common_libs="-lGL"
>
> on my side, I replace "-lGL" with "" in configure.ac :
Humm, weird. can you share your defconfig ?
I'm testing gl-drm with either X11 or Wayland support enabled. I'll test it
without them.
>
> --- a/configure.ac
> +++ b/configure.ac
> @@ -2621,7 +2621,7 @@ evas_engine_gl_common_cflags=""
> if test "x${have_egl}" = "xyes"; then
> evas_engine_gl_common_libs="-lEGL"
> else
> - evas_engine_gl_common_libs="-lGL"
> + evas_engine_gl_common_libs=""
> fi
>
> and regenerate configure.
>
> What would be the best solution to fix that ? just add a patch on the configure
> file ? or patch theses 3 files :
If a patch modify configure.ac or a m4 file, you need to regenerate the
configure script by setting EFL_AUTORECONF = YES. Also you need to regenerate
the gettext files with EFL_GETTEXTIZE = YES.
If you look at the efl package git history, I did that for the efl 1.15.3.
>
> configure | 26 +++++++++++++-------------configure.ac | 2 +-
> m4/evas_check_engine.m4 | 12 ++++++------
>
>>
>> I guess we should re-add BR2_PAKCAGE_EFL_GLES_DRM to define the wayland,
>> efl-drm, opengl-es dependencies otherwise gl-drm would be enabled by:
>>
>> ifeq
>> ($(BR2_PACKAGE_WAYLAND)$(BR2_PACKAGE_EFL_OPENGLES)$(BR2_PACKAGE_EFL_DRM),yyy)
>> EFL_CONF_OPTS += --enable-gl-drm
>> else
>> EFL_CONF_OPTS += --disable-gl-drm
>> endif
>>
>> which is not really nice.
>>
>> I prefer:
>>
>> efl.mk:
>> ifeq ($(BR2_PAKCAGE_EFL_GLES_DRM),y)
>> EFL_CONF_OPTS += --enable-gl-drm
>> else
>> EFL_CONF_OPTS += --disable-gl-drm
>> endif
>>
>> Config.in:
>> config BR2_PAKCAGE_EFL_GLES_DRM
>> bool "Evas GLES DRM Engine"
>> depends on BR2_PACKAGE_EFL_DRM
>> depends on BR2_PACKAGE_EFL_OPENGLES # OpenGL ES with EGL support only
>> depends on BR2_PACKAGE_WAYLAND
>> help
>> This option enable building support for the Evas DRM OpenGL ES
>> based engine.
>>
>> comment "Evas GL DRM Engine needs Evas DRM Engine, OpenGL ES w/ EGL, Wayland"
>> depends on BR2_PACKAGE_EFL_DRM && !BR2_PACKAGE_EFL_OPENGLES &&
>> !BR2_PACKAGE_WAYLAND
>>
>>
>> Thoughts ?
>
> yes, for me it makes sens to explicitly separate 'gl_drm' and 'drm' engines, as
> efl do it on the report of configure :
> Ecore_Evas......: yes (+extn +ews -fb +drm +gl-drm -psl1ght -opengl-cocoa
> -software-sdl -opengl-sdl -wayland-shm -wayland-egl -software-gdi
> -software-ddraw -software-x11 -opengl-x11)
Yes, it was my first intention.
Best regards,
Romain
>
>
>>
>> Best regards,
>> Romain
>>
>>>
>>> Best regards,
>>> Romain
>>>
>>> [1] http://lists.busybox.net/pipermail/buildroot/2016-September/172422.html
>>>> ---
>>>> package/efl/efl.mk | 6 ++++++
>>>> 1 file changed, 6 insertions(+)
>>>>
>>>> diff --git a/package/efl/efl.mk b/package/efl/efl.mk
>>>> index d6b2bf5..fdeea47 100644
>>>> --- a/package/efl/efl.mk
>>>> +++ b/package/efl/efl.mk
>>>> @@ -199,6 +199,12 @@ else
>>>> EFL_CONF_OPTS += --disable-drm
>>>> endif
>>>>
>>>> +ifeq ($(BR2_PACKAGE_EFL_OPENGLES)$(BR2_PACKAGE_EFL_DRM),yy)
>>>> +EFL_CONF_OPTS += --enable-gl-drm
>>>> +else
>>>> +EFL_CONF_OPTS += --disable-gl-drm
>>>> +endif
>>>> +
>>>> EFL_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBXKBCOMMON),libxkbcommon)
>>>>
>>>> # Loaders that need external dependencies needs to be --enable-XXX=yes
>>>>
>>>
>>
>
>
> Cheers,
>
> Pierre
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2016-11-22 23:12 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-11-20 18:59 [Buildroot] [v3,0/2] package/efl: enable libdrm support pierre floury
2016-11-20 18:59 ` [Buildroot] [v3,1/2] " pierre floury
2016-11-20 19:26 ` Romain Naour
2016-11-20 18:59 ` [Buildroot] [v3,2/2] package/efl: add Evas GL DRM Engine support pierre floury
2016-11-20 19:30 ` [Buildroot] [v3, 2/2] " Romain Naour
2016-11-20 21:49 ` Romain Naour
2016-11-20 23:29 ` pierre
2016-11-22 23:12 ` Romain Naour
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.