Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v4 1/2] package/efl: enable libdrm support
@ 2016-12-08 22:24 Romain Naour
  2016-12-08 22:24 ` [Buildroot] [PATCH v4 2/2] package/efl: add Wayland support Romain Naour
  2016-12-09 19:14 ` [Buildroot] [PATCH v4 1/2] package/efl: enable libdrm support Peter Korsgaard
  0 siblings, 2 replies; 4+ messages in thread
From: Romain Naour @ 2016-12-08 22:24 UTC (permalink / raw)
  To: buildroot

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

v4: no change
v3: rebase v2 on top of master
    no wayland reference anymore
v2: use "select" BR2_PACKAGE_EFL_ELPUT instead of "depends on" (ThomasP)
    fix commit log after 373c24cd1bb98a8b826b92034f7cb39780719625 (ThomasP)
---
 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 5d687e8..0692d80 100644
--- a/package/efl/Config.in
+++ b/package/efl/Config.in
@@ -193,6 +193,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 e08f252..d823af2 100644
--- a/package/efl/efl.mk
+++ b/package/efl/efl.mk
@@ -150,7 +150,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
@@ -194,6 +194,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.5.5

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

* [Buildroot] [PATCH v4 2/2] package/efl: add Wayland support
  2016-12-08 22:24 [Buildroot] [PATCH v4 1/2] package/efl: enable libdrm support Romain Naour
@ 2016-12-08 22:24 ` Romain Naour
  2016-12-09 19:14   ` Peter Korsgaard
  2016-12-09 19:14 ` [Buildroot] [PATCH v4 1/2] package/efl: enable libdrm support Peter Korsgaard
  1 sibling, 1 reply; 4+ messages in thread
From: Romain Naour @ 2016-12-08 22:24 UTC (permalink / raw)
  To: buildroot

The EFL Wayland support was removed with commit [1] since the dependecy
on libdrm was missing. Also it requires OpenGL ES with EGL, Evas DRM
and Evas GLES DRM support [2].

As stated in configure, Evas GLES DRM engine support (gl_drm) depends
on wayland-client to build (wayland-client >= 1.8.0).

So, enable gl_drm only when wayland support is selected.

[1] 4f04be1659f186765f506c68f5bfbf6845fc40dc
[2] https://www.enlightenment.org/about-wayland

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Pierre Floury <devpfl@gmail.com>
---
v4: new patch
    merge Evas GL DRM Engine support and with Wayland support
---
 package/efl/Config.in | 12 ++++++++++++
 package/efl/efl.mk    | 10 ++++++++++
 2 files changed, 22 insertions(+)

diff --git a/package/efl/Config.in b/package/efl/Config.in
index 0692d80..c51fc56 100644
--- a/package/efl/Config.in
+++ b/package/efl/Config.in
@@ -155,6 +155,18 @@ config BR2_PACKAGE_EFL_X_XLIB
 	select BR2_PACKAGE_XLIB_LIBXTST
 	select BR2_PACKAGE_XPROTO_GLPROTO
 
+config BR2_PACKAGE_EFL_WAYLAND
+	bool "Wayland support"
+	depends on BR2_TOOLCHAIN_HAS_THREADS # Evas DRM Engine -> libdrm
+	depends on BR2_PACKAGE_MESA3D_OPENGL_EGL # Evas DRM Engine
+	depends on BR2_PACKAGE_EFL_OPENGLES # OpenGL ES with EGL support only
+	select BR2_PACKAGE_EFL_DRM
+	select BR2_PACKAGE_WAYLAND
+
+comment "Wayland support needs OpenGL ES w/ EGL, threads"
+	depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_PACKAGE_MESA3D_OPENGL_EGL \
+		|| !BR2_PACKAGE_EFL_OPENGLES
+
 choice
 	bool "OpenGL support"
 	help
diff --git a/package/efl/efl.mk b/package/efl/efl.mk
index d823af2..7a8e47f 100644
--- a/package/efl/efl.mk
+++ b/package/efl/efl.mk
@@ -201,6 +201,16 @@ else
 EFL_CONF_OPTS += --disable-drm
 endif
 
+# The EFL Wayland support requires Evas GLES DRM engine support
+# which depends on wayland-client to build.
+# So enable gl_drm only when wayland support is selected.
+ifeq ($(BR2_PACKAGE_EFL_WAYLAND),y)
+EFL_DEPENDENCIES += wayland
+EFL_CONF_OPTS += --enable-wayland --enable-gl-drm
+else
+EFL_CONF_OPTS += --disable-wayland --disable-gl-drm
+endif
+
 EFL_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBXKBCOMMON),libxkbcommon)
 
 # Loaders that need external dependencies needs to be --enable-XXX=yes
-- 
2.5.5

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

* [Buildroot] [PATCH v4 1/2] package/efl: enable libdrm support
  2016-12-08 22:24 [Buildroot] [PATCH v4 1/2] package/efl: enable libdrm support Romain Naour
  2016-12-08 22:24 ` [Buildroot] [PATCH v4 2/2] package/efl: add Wayland support Romain Naour
@ 2016-12-09 19:14 ` Peter Korsgaard
  1 sibling, 0 replies; 4+ messages in thread
From: Peter Korsgaard @ 2016-12-09 19:14 UTC (permalink / raw)
  To: buildroot

>>>>> "Romain" == Romain Naour <romain.naour@gmail.com> writes:

 > 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

Committed, thanks.

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH v4 2/2] package/efl: add Wayland support
  2016-12-08 22:24 ` [Buildroot] [PATCH v4 2/2] package/efl: add Wayland support Romain Naour
@ 2016-12-09 19:14   ` Peter Korsgaard
  0 siblings, 0 replies; 4+ messages in thread
From: Peter Korsgaard @ 2016-12-09 19:14 UTC (permalink / raw)
  To: buildroot

>>>>> "Romain" == Romain Naour <romain.naour@gmail.com> writes:

 > The EFL Wayland support was removed with commit [1] since the dependecy
 > on libdrm was missing. Also it requires OpenGL ES with EGL, Evas DRM
 > and Evas GLES DRM support [2].

 > As stated in configure, Evas GLES DRM engine support (gl_drm) depends
 > on wayland-client to build (wayland-client >= 1.8.0).

 > So, enable gl_drm only when wayland support is selected.

 > [1] 4f04be1659f186765f506c68f5bfbf6845fc40dc
 > [2] https://www.enlightenment.org/about-wayland

 > Signed-off-by: Romain Naour <romain.naour@gmail.com>
 > Cc: Pierre Floury <devpfl@gmail.com>
 > ---
 > v4: new patch
 >     merge Evas GL DRM Engine support and with Wayland support

Committed, thanks.

-- 
Bye, Peter Korsgaard

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

end of thread, other threads:[~2016-12-09 19:14 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-12-08 22:24 [Buildroot] [PATCH v4 1/2] package/efl: enable libdrm support Romain Naour
2016-12-08 22:24 ` [Buildroot] [PATCH v4 2/2] package/efl: add Wayland support Romain Naour
2016-12-09 19:14   ` Peter Korsgaard
2016-12-09 19:14 ` [Buildroot] [PATCH v4 1/2] package/efl: enable libdrm support Peter Korsgaard

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