* [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,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,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, 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.