Skip to contentSkip to conversation

package/kodi: remove libamcodec support

PATCH New Bernd Kuhls 4 participants 21 messages Apr 1, 2018 – Apr 2, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/4 package/kodi: remove libamcodec support

Using the libamcodec package (-DENABLE_AML=ON) is not enough:

-- Could NOT find OpenGLES (missing: OPENGLES_gl_LIBRARY OPENGLES_egl_LIBRARY OPENGLES_INCLUDE_DIR) CMake Error at /usr/share/cmake-3.7/Modules/FindPackageHandleStandardArgs.cmake:138 (message):
Could NOT find EGL (missing: EGL_LIBRARY EGL_INCLUDE_DIR)
Call Stack (most recent call first):
/usr/share/cmake-3.7/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE) modules/FindEGL.cmake:30 (find_package_handle_standard_args) scripts/common/Macros.cmake:354 (find_package)
CMakeLists.txt:208 (core_require_dep)

Libreelec provides pre-compiled OpenGL ES libraries for AML which are not provided by buildroot:
https://github.com/LibreELEC/LibreELEC.tv/tree/master/packages/graphics/opengl-meson

---
 package/kodi/kodi.mk | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)
package/kodi/kodi.mk +1 -6
index 9d3b65ae91..5af9fe180d 100644
@@ -72,6 +72,7 @@ KODI_CONF_OPTS += \
 	-DLIBDVDCSS_URL=$(DL_DIR)/$(KODI_LIBDVDCSS_VERSION).tar.gz \
 	-DLIBDVDNAV_URL=$(DL_DIR)/$(KODI_LIBDVDNAV_VERSION).tar.gz \
 	-DLIBDVDREAD_URL=$(DL_DIR)/$(KODI_LIBDVDREAD_VERSION).tar.gz \
+	-DENABLE_AML=OFF \
 	-DENABLE_IMX=OFF
 
 ifeq ($(BR2_ENABLE_LOCALE),)
@@ -186,12 +187,6 @@ else
 # "linux" platforms. The "rpbi" platform has a different set of
 # options, defined in project/cmake/scripts/rbpi/
 KODI_CONF_OPTS += -DENABLE_LDGOLD=OFF
-ifeq ($(BR2_PACKAGE_LIBAMCODEC),y)
-KODI_CONF_OPTS += -DENABLE_AML=ON
-KODI_DEPENDENCIES += libamcodec
-else
-KODI_CONF_OPTS += -DENABLE_AML=OFF
-endif
 endif
 
 ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
Signature · 1 line
2.14.2
#1 lore raw

PATCH 2/4 package/kodi: remove OpenGL ES support

To prepare the bump to the next Kodi version 18.0-Leia we remove the current OpenGL ES support options. Kodi 18.0 will bring a major overhaul of the supported windowing platforms, x11-based gles support was removed, see upstream PR 12196.

---
 package/kodi/Config.in | 13 +++----------
 package/kodi/kodi.mk   | 10 ----------
 2 files changed, 3 insertions(+), 20 deletions(-)
package/kodi/Config.in +3 -10
index 071c03d640..fefed70e0d 100644
@@ -15,21 +15,14 @@ comment "kodi needs python w/ .py modules, a uClibc or glibc toolchain w/ C++, t
 		|| !BR2_PACKAGE_PYTHON \
 		|| BR2_PACKAGE_PYTHON_PYC_ONLY
 
-config BR2_PACKAGE_KODI_EGL_GLES
-	bool
-	default y
-	depends on BR2_PACKAGE_HAS_LIBEGL
-	depends on BR2_PACKAGE_HAS_LIBGLES
-	depends on !BR2_PACKAGE_KODI_GL_EGL # prefer GL if available
-
 config BR2_PACKAGE_KODI_GL_EGL
 	bool
 	default y
 	depends on BR2_PACKAGE_HAS_LIBEGL
 	depends on BR2_PACKAGE_HAS_LIBGL
 
-comment "kodi needs an OpenGL EGL with either an openGL or an OpenGL ES backend"
-	depends on !BR2_PACKAGE_KODI_GL_EGL && !BR2_PACKAGE_KODI_EGL_GLES
+comment "kodi needs an OpenGL EGL backend with OpenGL support"
+	depends on !BR2_PACKAGE_KODI_GL_EGL
 
 menuconfig BR2_PACKAGE_KODI
 	bool "kodi"
@@ -38,7 +31,7 @@ menuconfig BR2_PACKAGE_KODI
 	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
 	depends on BR2_TOOLCHAIN_HAS_THREADS
 	depends on !BR2_TOOLCHAIN_USES_MUSL
-	depends on BR2_PACKAGE_KODI_EGL_GLES || BR2_PACKAGE_KODI_GL_EGL
+	depends on BR2_PACKAGE_KODI_GL_EGL
 	depends on BR2_USE_WCHAR
 	depends on !BR2_STATIC_LIBS # python and others
 	depends on BR2_PACKAGE_KODI_ARCH_SUPPORTS
package/kodi/kodi.mk +0 -10
index 5af9fe180d..03be32acf2 100644
@@ -249,16 +249,6 @@ else
 KODI_CONF_OPTS += -DENABLE_OPENGL=OFF -DENABLE_X11=OFF
 endif
 
-ifeq ($(BR2_PACKAGE_KODI_EGL_GLES),y)
-KODI_DEPENDENCIES += libegl libgles
-KODI_CONF_OPTS += \
-	-DENABLE_OPENGLES=ON
-KODI_C_FLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags --libs egl`
-KODI_CXX_FLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags --libs egl`
-else
-KODI_CONF_OPTS += -DENABLE_OPENGLES=OFF
-endif
-
 ifeq ($(BR2_PACKAGE_KODI_LIBMICROHTTPD),y)
 KODI_CONF_OPTS += -DENABLE_MICROHTTPD=ON
 KODI_DEPENDENCIES += libmicrohttpd
Signature · 1 line
2.14.2
#2 lore raw

PATCH 3/4 package/kodi: Rework windowing support options

In reply to Bernd Kuhls

To prepare the bump to the next Kodi version 18.0-Leia we rework the options to control the windowing platform Kodi is built for. An automatic choice will no longer be suitable after addition of support for wayland and gbm, the former also providing a choice to use either OpenGL or OpenGL ES.

This patch introduces a new choice option by converting the current X11-based OpenGL support to the new scheme. Other windowing platforms will be added by subsequent patches.

---
 package/kodi/Config.in | 41 +++++++++++++++++++++++++++--------------
 package/kodi/kodi.mk   | 19 +++++++++++--------
 2 files changed, 38 insertions(+), 22 deletions(-)
package/kodi/Config.in +27 -14
index fefed70e0d..649896df4e 100644
@@ -15,14 +15,19 @@ comment "kodi needs python w/ .py modules, a uClibc or glibc toolchain w/ C++, t
 		|| !BR2_PACKAGE_PYTHON \
 		|| BR2_PACKAGE_PYTHON_PYC_ONLY
 
-config BR2_PACKAGE_KODI_GL_EGL
+config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS
+	bool
+
+config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_X11_OPENGL
 	bool
 	default y
 	depends on BR2_PACKAGE_HAS_LIBEGL
 	depends on BR2_PACKAGE_HAS_LIBGL
+	depends on BR2_PACKAGE_XORG7
+	select BR2_PACKAGE_KODI_PLATFORM_SUPPORTS
 
 comment "kodi needs an OpenGL EGL backend with OpenGL support"
-	depends on !BR2_PACKAGE_KODI_GL_EGL
+	depends on !BR2_PACKAGE_KODI_PLATFORM_SUPPORTS
 
 menuconfig BR2_PACKAGE_KODI
 	bool "kodi"
@@ -31,10 +36,10 @@ menuconfig BR2_PACKAGE_KODI
 	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
 	depends on BR2_TOOLCHAIN_HAS_THREADS
 	depends on !BR2_TOOLCHAIN_USES_MUSL
-	depends on BR2_PACKAGE_KODI_GL_EGL
 	depends on BR2_USE_WCHAR
 	depends on !BR2_STATIC_LIBS # python and others
 	depends on BR2_PACKAGE_KODI_ARCH_SUPPORTS
+	depends on BR2_PACKAGE_KODI_PLATFORM_SUPPORTS
 	depends on BR2_PACKAGE_PYTHON
 	depends on !BR2_PACKAGE_PYTHON_PYC_ONLY
 	select BR2_NEEDS_HOST_JAVA
@@ -51,7 +56,6 @@ menuconfig BR2_PACKAGE_KODI
 	select BR2_PACKAGE_LIBCROSSGUID
 	select BR2_PACKAGE_LIBCURL
 	select BR2_PACKAGE_LIBFRIBIDI
-	select BR2_PACKAGE_LIBGLU if BR2_PACKAGE_KODI_GL_EGL
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
 	select BR2_PACKAGE_LIBPLIST
 	select BR2_PACKAGE_LIBSAMPLERATE
@@ -73,8 +77,6 @@ menuconfig BR2_PACKAGE_KODI
 	select BR2_PACKAGE_SQLITE
 	select BR2_PACKAGE_TAGLIB
 	select BR2_PACKAGE_TINYXML
-	select BR2_PACKAGE_LIBDRM if BR2_PACKAGE_KODI_GL_EGL
-	select BR2_PACKAGE_XLIB_LIBXRANDR if BR2_PACKAGE_KODI_GL_EGL
 	select BR2_PACKAGE_YAJL
 	select BR2_PACKAGE_ZLIB
 	select BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY if BR2_TOOLCHAIN_USES_GLIBC # runtime UTF conversion support
@@ -183,6 +185,19 @@ config BR2_PACKAGE_KODI_NONFREE
 	  Enable components with non-free licenses. This option
 	  currently only controls support for RAR archives.
 
+choice
+	prompt "platform"
+	default BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL
+
+config BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL
+	bool "X11/OpenGL"
+	depends on BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_X11_OPENGL
+	select BR2_PACKAGE_LIBDRM
+	select BR2_PACKAGE_LIBGLU
+	select BR2_PACKAGE_XLIB_LIBXRANDR
+
+endchoice
+
 config BR2_PACKAGE_KODI_PULSEAUDIO
 	bool "pulseaudio"
 	# Pulseaudio support in kodi needs glib support in Pulseaudio,
@@ -232,25 +247,23 @@ config BR2_PACKAGE_KODI_LIBUSB
 
 config BR2_PACKAGE_KODI_LIBVA
 	bool "va"
-	depends on BR2_PACKAGE_KODI_GL_EGL
-	depends on BR2_PACKAGE_XORG7
+	depends on BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL
 	select BR2_PACKAGE_LIBVA
 	help
 	  Enable libva support.
 
-comment "libva support needs X.org with an openGL backend"
-	depends on !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_KODI_GL_EGL
+comment "libva support needs platform 'X11/OpenGL'"
+	depends on !BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL
 
 config BR2_PACKAGE_KODI_LIBVDPAU
 	bool "vdpau"
-	depends on BR2_PACKAGE_KODI_GL_EGL
-	depends on BR2_PACKAGE_XORG7
+	depends on BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL
 	select BR2_PACKAGE_LIBVDPAU
 	help
 	  Enable libvdpau support.
 
-comment "libvdpau support needs X.org with an openGL backend"
-	depends on !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_KODI_GL_EGL
+comment "libvdpau support needs platform 'X11/OpenGL'"
+	depends on !BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL
 
 config BR2_PACKAGE_KODI_UPNP
 	bool "upnp"
package/kodi/kodi.mk +11 -8
index 03be32acf2..d7c11f22ae 100644
@@ -162,6 +162,17 @@ ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
 KODI_CXX_FLAGS += -latomic
 endif
 
+ifeq ($(BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL),y)
+KODI_DEPENDENCIES += libegl libglu libgl xlib_libX11 xlib_libXext \
+	xlib_libXrandr libdrm
+KODI_CONF_OPTS += \
+	-DENABLE_OPENGL=ON \
+	-DENABLE_OPENGLES=OFF \
+	-DENABLE_X11=ON
+else
+KODI_CONF_OPTS += -DENABLE_OPENGL=OFF -DENABLE_X11=OFF
+endif
+
 ifeq ($(BR2_PACKAGE_KODI_MYSQL),y)
 KODI_CONF_OPTS += -DENABLE_MYSQLCLIENT=ON
 KODI_DEPENDENCIES += mysql
@@ -241,14 +252,6 @@ else
 KODI_CONF_OPTS += -DENABLE_ALSA=OFF
 endif
 
-ifeq ($(BR2_PACKAGE_KODI_GL_EGL),y)
-KODI_DEPENDENCIES += libegl libglu libgl xlib_libX11 xlib_libXext \
-	xlib_libXrandr libdrm
-KODI_CONF_OPTS += -DENABLE_OPENGL=ON -DENABLE_X11=ON -DENABLE_OPENGLES=OFF
-else
-KODI_CONF_OPTS += -DENABLE_OPENGL=OFF -DENABLE_X11=OFF
-endif
-
 ifeq ($(BR2_PACKAGE_KODI_LIBMICROHTTPD),y)
 KODI_CONF_OPTS += -DENABLE_MICROHTTPD=ON
 KODI_DEPENDENCIES += libmicrohttpd
Signature · 1 line
2.14.2
#3 lore raw

PATCH 4/4 package/kodi: Add Raspberry Pi to windowing support options

In reply to Bernd Kuhls
---
 package/kodi/Config.in | 13 +++++++++++++
 package/kodi/kodi.mk   | 28 +++++++++++++---------------
 2 files changed, 26 insertions(+), 15 deletions(-)
package/kodi/Config.in +13 -0
index 649896df4e..257d1cd37a 100644
@@ -18,6 +18,15 @@ comment "kodi needs python w/ .py modules, a uClibc or glibc toolchain w/ C++, t
 config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS
 	bool
 
+config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_RBPI
+	bool
+	default y
+	# List of valid CPUs can be found here:
+	# https://github.com/xbmc/xbmc/blob/Krypton/project/cmake/scripts/rbpi/ArchSetup.cmake#L12
+	depends on BR2_arm1176jzf_s || BR2_cortex_a7 || BR2_cortex_a53
+	depends on BR2_PACKAGE_RPI_USERLAND
+	select BR2_PACKAGE_KODI_PLATFORM_SUPPORTS
+
 config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_X11_OPENGL
 	bool
 	default y
@@ -189,6 +198,10 @@ choice
 	prompt "platform"
 	default BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL
 
+config BR2_PACKAGE_KODI_PLATFORM_RBPI
+	bool "Raspberry Pi"
+	depends on BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_RBPI
+
 config BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL
 	bool "X11/OpenGL"
 	depends on BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_X11_OPENGL
package/kodi/kodi.mk +13 -15
index d7c11f22ae..4e634049de 100644
@@ -79,9 +79,7 @@ ifeq ($(BR2_ENABLE_LOCALE),)
 KODI_DEPENDENCIES += libiconv
 endif
 
-ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
-KODI_CONF_OPTS += -DCORE_SYSTEM_NAME=rbpi
-KODI_DEPENDENCIES += rpi-userland
+ifeq ($(BR2_PACKAGE_KODI_PLATFORM_RBPI),y)
 # These CPU-specific options are only used on rbpi:
 # https://github.com/xbmc/xbmc/blob/Krypton/project/cmake/scripts/rbpi/ArchSetup.cmake#L13
 ifeq ($(BR2_arm1176jzf_s)$(BR2_cortex_a7)$(BR2_cortex_a53),y)
@@ -162,6 +160,18 @@ ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
 KODI_CXX_FLAGS += -latomic
 endif
 
+ifeq ($(BR2_PACKAGE_KODI_PLATFORM_RBPI),y)
+KODI_CONF_OPTS += -DCORE_SYSTEM_NAME=rbpi -DENABLE_OPENGLES=ON
+KODI_DEPENDENCIES += rpi-userland
+else
+# Kodi considers "rpbi" and "linux" as two separate platforms. The
+# below options, defined in
+# project/cmake/scripts/linux/ArchSetup.cmake are only valid for the
+# "linux" platforms. The "rpbi" platform has a different set of
+# options, defined in project/cmake/scripts/rbpi/
+KODI_CONF_OPTS += -DENABLE_LDGOLD=OFF
+endif
+
 ifeq ($(BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL),y)
 KODI_DEPENDENCIES += libegl libglu libgl xlib_libX11 xlib_libXext \
 	xlib_libXrandr libdrm
@@ -188,18 +198,6 @@ else
 KODI_CONF_OPTS += -DENABLE_NONFREE=OFF
 endif
 
-ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
-KODI_CONF_OPTS += -DCORE_SYSTEM_NAME=rbpi
-KODI_DEPENDENCIES += rpi-userland
-else
-# Kodi considers "rpbi" and "linux" as two separate platforms. The
-# below options, defined in
-# project/cmake/scripts/linux/ArchSetup.cmake are only valid for the
-# "linux" platforms. The "rpbi" platform has a different set of
-# options, defined in project/cmake/scripts/rbpi/
-KODI_CONF_OPTS += -DENABLE_LDGOLD=OFF
-endif
-
 ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
 KODI_CONF_OPTS += -DENABLE_UDEV=ON
 KODI_DEPENDENCIES += udev
Signature · 1 line
2.14.2
#4 lore raw

PATCH 1/4 package/kodi: remove libamcodec support

In reply to Bernd Kuhls

Greetings Bernd,

Quoted 58 lines

Sent: Sunday, April 01, 2018 at 10:03 AM
From: "Bernd Kuhls" <[email protected]>
To: buildroot at buildroot.org
Cc: "Maxime Hadjinlian" <[email protected]>
Subject: [Buildroot] [PATCH 1/4] package/kodi: remove libamcodec support

Using the libamcodec package (-DENABLE_AML=ON) is not enough:

-- Could NOT find OpenGLES (missing: OPENGLES_gl_LIBRARY OPENGLES_egl_LIBRARY OPENGLES_INCLUDE_DIR) CMake Error at /usr/share/cmake-3.7/Modules/FindPackageHandleStandardArgs.cmake:138 (message):
Could NOT find EGL (missing: EGL_LIBRARY EGL_INCLUDE_DIR)
Call Stack (most recent call first):
/usr/share/cmake-3.7/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE) modules/FindEGL.cmake:30 (find_package_handle_standard_args) scripts/common/Macros.cmake:354 (find_package)
CMakeLists.txt:208 (core_require_dep)

Libreelec provides pre-compiled OpenGL ES libraries for AML which are not provided by buildroot:
https://github.com/LibreELEC/LibreELEC.tv/tree/master/packages/graphics/opengl-meson

---
 package/kodi/kodi.mk | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)
package/kodi/kodi.mk +1 -6
index 9d3b65ae91..5af9fe180d 100644
@@ -72,6 +72,7 @@ KODI_CONF_OPTS += \
 	-DLIBDVDCSS_URL=$(DL_DIR)/$(KODI_LIBDVDCSS_VERSION).tar.gz \
 	-DLIBDVDNAV_URL=$(DL_DIR)/$(KODI_LIBDVDNAV_VERSION).tar.gz \
 	-DLIBDVDREAD_URL=$(DL_DIR)/$(KODI_LIBDVDREAD_VERSION).tar.gz \
+	-DENABLE_AML=OFF \
 	-DENABLE_IMX=OFF
 
 ifeq ($(BR2_ENABLE_LOCALE),)
@@ -186,12 +187,6 @@ else
 # "linux" platforms. The "rpbi" platform has a different set of
 # options, defined in project/cmake/scripts/rbpi/
 KODI_CONF_OPTS += -DENABLE_LDGOLD=OFF
-ifeq ($(BR2_PACKAGE_LIBAMCODEC),y)
-KODI_CONF_OPTS += -DENABLE_AML=ON
-KODI_DEPENDENCIES += libamcodec
-else
-KODI_CONF_OPTS += -DENABLE_AML=OFF
-endif
 endif
 
 ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
Signature · 6 lines
2.14.2

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

I'm trying to understand this change, does this means libamlogic is missing something or kodi doesn't supports gles anymore?
also, can you explain how Libreelec provided pre-compiled OpenGL ES libraries for AML are related to this? the link you've added points to a systemd script

Dagg.

#5 lore raw

PATCH 1/4 package/kodi: remove libamcodec support

Quoted 70 lines

Sent: Sunday, April 01, 2018 at 10:17 AM
From: daggs <[email protected]>
To: "Bernd Kuhls" <[email protected]>
Cc: "Maxime Hadjinlian" <[email protected]>, buildroot at buildroot.org
Subject: Re: [Buildroot] [PATCH 1/4] package/kodi: remove libamcodec support

Greetings Bernd,

Quoted 58 lines

Sent: Sunday, April 01, 2018 at 10:03 AM
From: "Bernd Kuhls" <[email protected]>
To: buildroot at buildroot.org
Cc: "Maxime Hadjinlian" <[email protected]>
Subject: [Buildroot] [PATCH 1/4] package/kodi: remove libamcodec support

Using the libamcodec package (-DENABLE_AML=ON) is not enough:

-- Could NOT find OpenGLES (missing: OPENGLES_gl_LIBRARY OPENGLES_egl_LIBRARY OPENGLES_INCLUDE_DIR) CMake Error at /usr/share/cmake-3.7/Modules/FindPackageHandleStandardArgs.cmake:138 (message):
Could NOT find EGL (missing: EGL_LIBRARY EGL_INCLUDE_DIR)
Call Stack (most recent call first):
/usr/share/cmake-3.7/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE) modules/FindEGL.cmake:30 (find_package_handle_standard_args) scripts/common/Macros.cmake:354 (find_package)
CMakeLists.txt:208 (core_require_dep)

Libreelec provides pre-compiled OpenGL ES libraries for AML which are not provided by buildroot:
https://github.com/LibreELEC/LibreELEC.tv/tree/master/packages/graphics/opengl-meson

---
 package/kodi/kodi.mk | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)
package/kodi/kodi.mk +1 -6
index 9d3b65ae91..5af9fe180d 100644
@@ -72,6 +72,7 @@ KODI_CONF_OPTS += \
 	-DLIBDVDCSS_URL=$(DL_DIR)/$(KODI_LIBDVDCSS_VERSION).tar.gz \
 	-DLIBDVDNAV_URL=$(DL_DIR)/$(KODI_LIBDVDNAV_VERSION).tar.gz \
 	-DLIBDVDREAD_URL=$(DL_DIR)/$(KODI_LIBDVDREAD_VERSION).tar.gz \
+	-DENABLE_AML=OFF \
 	-DENABLE_IMX=OFF
 
 ifeq ($(BR2_ENABLE_LOCALE),)
@@ -186,12 +187,6 @@ else
 # "linux" platforms. The "rpbi" platform has a different set of
 # options, defined in project/cmake/scripts/rbpi/
 KODI_CONF_OPTS += -DENABLE_LDGOLD=OFF
-ifeq ($(BR2_PACKAGE_LIBAMCODEC),y)
-KODI_CONF_OPTS += -DENABLE_AML=ON
-KODI_DEPENDENCIES += libamcodec
-else
-KODI_CONF_OPTS += -DENABLE_AML=OFF
-endif
 endif
 
 ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
Signature · 6 lines
2.14.2

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

I'm trying to understand this change, does this means libamlogic is missing something or kodi doesn't supports gles anymore?
also, can you explain how Libreelec provided pre-compiled OpenGL ES libraries for AML are related to this? the link you've added points to a systemd script

Quoted 6 lines

Dagg.
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

ok, I understood the second part, the OpenGL ES libraries are part of buildroot, see odroid-mali which uses version r6p1. do you mean that they need to be upgraded?

Dagg.

#6 lore raw

PATCH 1/4 package/kodi: remove libamcodec support

Am Sun, 01 Apr 2018 09:25:57 +0200 schrieb daggs:

Quoted 3 lines

ok, I understood the second part, the OpenGL ES libraries are part of buildroot, see odroid-mali which uses version r6p1.
do you mean that they need to be upgraded?

Hi daggs,

how are amlogic and odroid connected to each other? Please forgive me if I am asking stupid questions, but I never used hardware like this for Kodi.

Regards, Bernd

#7 lore raw

PATCH 1/4 package/kodi: remove libamcodec support

Greetings Bernd,

Quoted 17 lines

Sent: Sunday, April 01, 2018 at 10:33 AM
From: "Bernd Kuhls" <[email protected]>
To: buildroot at uclibc.org
Subject: Re: [Buildroot] [PATCH 1/4] package/kodi: remove libamcodec support

Am Sun, 01 Apr 2018 09:25:57 +0200 schrieb daggs:

Quoted 3 lines

ok, I understood the second part, the OpenGL ES libraries are part of buildroot, see odroid-mali which uses version r6p1.
do you mean that they need to be upgraded?

Hi daggs,

how are amlogic and odroid connected to each other? Please forgive me if I am asking stupid questions, but I never used hardware like this for Kodi.

Quoted 7 lines

Regards, Bernd

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

odroidc2 boards use amlogic libs, infact I'm the maintainer of the libamlogic pkg and I've added the support to kodi. if it isn't needed to get hw decoding for kodi, I see no point in having that pkg in buildroot.
afaik, it is needed, e,g, removing that pkg will result in no hw decoding support under kodi for the c2 boards (e.g. no x265) under kodi.

Dagg.

Dagg.

#8 lore raw

PATCH 1/4 package/kodi: remove libamcodec support

Am Sun, 01 Apr 2018 09:43:00 +0200 schrieb daggs:

Quoted 2 lines

odroidc2 boards use amlogic libs, infact I'm the maintainer of the libamlogic pkg and I've added the support to kodi.

Hi daggs,

should the buildroot package libamcodec depend on odroid-mali?

Regards, Bernd

#9 lore raw

PATCH 1/4 package/kodi: remove libamcodec support

Greetings Bernd,

Quoted 12 lines

Sent: Sunday, April 01, 2018 at 10:55 AM
From: "Bernd Kuhls" <[email protected]>
To: buildroot at uclibc.org
Subject: Re: [Buildroot] [PATCH 1/4] package/kodi: remove libamcodec support

Am Sun, 01 Apr 2018 09:43:00 +0200 schrieb daggs:

Quoted 2 lines

odroidc2 boards use amlogic libs, infact I'm the maintainer of the libamlogic pkg and I've added the support to kodi.

Hi daggs,

Quoted 9 lines

should the buildroot package libamcodec depend on odroid-mali?

Regards, Bernd

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

from what I understand, no.
I'll try to ask in the vendor's forums to get a clearer layout on the matter, I'd be happy if you can put this patch on hold until they answer me. maybe it lib isn't needed and all what is needed is the mali lib.

Dagg.

#10 lore raw

PATCH 1/4 package/kodi: remove libamcodec support

Am Sun, 01 Apr 2018 10:02:57 +0200 schrieb daggs:

Quoted 9 lines

Greetings Bernd,

Quoted 7 lines

Sent: Sunday, April 01, 2018 at 10:55 AM From: "Bernd Kuhls" <[email protected]> To:
buildroot at uclibc.org Subject: Re:
[Buildroot] [PATCH 1/4] package/kodi: remove libamcodec support

Am Sun, 01 Apr 2018 09:43:00 +0200 schrieb daggs:

Quoted 8 lines
Quoted 7 lines
Quoted 2 lines

odroidc2 boards use amlogic libs, infact I'm the maintainer of the libamlogic pkg and I've added the support to kodi.

Hi daggs,

should the buildroot package libamcodec depend on odroid-mali?

from what I understand, no.

Hi daggs,

so you think it is possible to use libamcodec support in Kodi with OpenGL ES provided by, let's say, mesa3d with the DRI swrast driver? And even if there is no direct dependency between the libamcodoc and odroid-mali packages what about extending the

	ifeq ($(BR2_PACKAGE_LIBAMCODEC),y)

check in kodi.mk to

	ifeq ($(BR2_PACKAGE_LIBAMCODEC)$(BR2_PACKAGE_ODROID_MALI),yy)

to fix the build error?

Regards, Bernd

#11 lore raw

PATCH 1/4 package/kodi: remove libamcodec support

Greetings Bernd,

Quoted 38 lines

Sent: Sunday, April 01, 2018 at 11:16 AM
From: "Bernd Kuhls" <[email protected]>
To: buildroot at uclibc.org
Subject: Re: [Buildroot] [PATCH 1/4] package/kodi: remove libamcodec support

Am Sun, 01 Apr 2018 10:02:57 +0200 schrieb daggs:

Quoted 9 lines

Greetings Bernd,

Quoted 7 lines

Sent: Sunday, April 01, 2018 at 10:55 AM From: "Bernd Kuhls" <[email protected]> To:
buildroot at uclibc.org Subject: Re:
[Buildroot] [PATCH 1/4] package/kodi: remove libamcodec support

Am Sun, 01 Apr 2018 09:43:00 +0200 schrieb daggs:

Quoted 8 lines
Quoted 7 lines
Quoted 2 lines

odroidc2 boards use amlogic libs, infact I'm the maintainer of the libamlogic pkg and I've added the support to kodi.

Hi daggs,

should the buildroot package libamcodec depend on odroid-mali?

from what I understand, no.

Hi daggs,

so you think it is possible to use libamcodec support in Kodi with OpenGL ES provided by, let's say, mesa3d with the DRI swrast driver? And even if there is no direct dependency between the libamcodoc and odroid-mali packages what about extending the

	ifeq ($(BR2_PACKAGE_LIBAMCODEC),y)

check in kodi.mk to

	ifeq ($(BR2_PACKAGE_LIBAMCODEC)$(BR2_PACKAGE_ODROID_MALI),yy)
Quoted 9 lines

to fix the build error?

Regards, Bernd

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

as said by Thomas in another mail, there shouldn't be any dependency, what is the exact issue? compilation failure? what kodi version are you using? the answers for the two questions above will give me a lead on where to start looking.

Thanks,

Dagg.

#12 lore raw

PATCH 1/4 package/kodi: remove libamcodec support

Hello,

Quoted 15 lines · daggs
Quoted 15 lines

so you think it is possible to use libamcodec support in Kodi with OpenGL ES provided by, let's say, mesa3d with the DRI swrast driver? And even if there is no direct dependency between the libamcodoc and odroid-mali packages what about extending the

	ifeq ($(BR2_PACKAGE_LIBAMCODEC),y)

check in kodi.mk to

	ifeq ($(BR2_PACKAGE_LIBAMCODEC)$(BR2_PACKAGE_ODROID_MALI),yy)

to fix the build error?

Regards, Bernd

Quoted 8 lines
Quoted 5 lines

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

as said by Thomas in another mail, there shouldn't be any dependency, what is the exact issue? compilation failure? what kodi version are you using? the answers for the two questions above will give me a lead on where to start looking.

Well, even though there is no dependency between libamcodec and odroid-mali, it is possible that Kodi needs both to enable the AML platform support.

But indeed, it would be easier if Bernd could provide a .config file that allows to reproduce the build failure.

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
#13 lore raw

PATCH 1/4 package/kodi: remove libamcodec support

In reply to daggs

Am Sun, 01 Apr 2018 10:27:22 +0200 schrieb daggs:

Quoted 3 lines

as said by Thomas in another mail, there shouldn't be any dependency, what is the exact issue? compilation failure? what kodi version are you using?

Hi daggs,

the following builds were all made with unpatched buildroot master branch.

The only successful kodi build including libamcodec was made with odroid- mali using this defconfig:

BR2_aarch64=y
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_KODI=y
BR2_PACKAGE_ODROID_MALI=y
BR2_PACKAGE_PYTHON=y
BR2_PACKAGE_PYTHON_PY_ONLY=y
BR2_PACKAGE_LIBAMCODEC=y

-- Found OpenGLES: /home/buildroot/br2/output/host/aarch64-buildroot- linux-gnu/sysroot/usr/lib/libGLESv2.so
-- Found EGL: /home/buildroot/br2/output/host/aarch64-buildroot-linux-gnu/ sysroot/usr/lib/libEGL.so (found version "r4p0")
-- Found AML: /home/buildroot/br2/output/host/aarch64-buildroot-linux-gnu/ sysroot/usr/include/amcodec

-- OPENGL enabled: No
-- OPENGLES enabled: Yes
-- X enabled: No
-- LIBDRM enabled: No
-- AML enabled: Yes

Then I tried two builds with mesa3d & libamcodec, one where mesa3d provides opengl, in the second build mesa3d provides opengles, both failed:

------------------------------------------------------------------

BR2_aarch64=y
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_KODI=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST=y
BR2_PACKAGE_MESA3D_OPENGL_EGL=y
BR2_PACKAGE_XORG7=y
BR2_PACKAGE_PYTHON=y
BR2_PACKAGE_PYTHON_PY_ONLY=y
BR2_PACKAGE_LIBAMCODEC=y

-- Found OpenGl: /home/buildroot/br2/output/host/aarch64-buildroot-linux- uclibc/sysroot/usr/lib/libGL.so
-- Found X: /home/buildroot/br2/output/host/aarch64-buildroot-linux- uclibc/sysroot/usr/lib/libX11.so (found version "1.6.5")
-- Found LibDRM: /home/buildroot/br2/output/host/aarch64-buildroot-linux- uclibc/sysroot/usr/lib/libdrm.so (found version "2.4.91")
-- Found XRandR: /home/buildroot/br2/output/host/aarch64-buildroot-linux- uclibc/sysroot/usr/lib/libXrandr.so (found version "1.5.1") -- Found EGL: /home/buildroot/br2/output/host/aarch64-buildroot-linux- uclibc/sysroot/usr/lib/libEGL.so (found version "18.0.0")
-- Found AML: /home/buildroot/br2/output/host/aarch64-buildroot-linux- uclibc/sysroot/usr/include/amcodec

-- OPENGL enabled: Yes
-- X enabled: Yes
-- LIBDRM enabled: Yes
-- XRANDR enabled: Yes
-- AML enabled: Yes

[ 94%] Building CXX object build/cores/VideoPlayer/videorenderers/ CMakeFiles/videorenderers.dir/RenderManager.cpp.o /home/bernd/buildroot/br2/output/build/kodi-17.6-Krypton/xbmc/cores/ VideoPlayer/VideoRenderers/RenderManager.cpp: In member function 'void CRenderManager::CreateRenderer()':
/home/bernd/buildroot/br2/output/build/kodi-17.6-Krypton/xbmc/cores/ VideoPlayer/VideoRenderers/RenderManager.cpp:582:25: error:
'CRendererAML' does not name a type

       m_pRenderer = new CRendererAML;
                         ^~~~~~~~~~~~

------------------------------------------------------------------

BR2_aarch64=y
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_KODI=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST=y
BR2_PACKAGE_MESA3D_OPENGL_EGL=y
BR2_PACKAGE_MESA3D_OPENGL_ES=y
BR2_PACKAGE_PYTHON=y
BR2_PACKAGE_PYTHON_PY_ONLY=y
BR2_PACKAGE_LIBAMCODEC=y

-- Found OpenGLES: /home/buildroot/br2/output/host/aarch64-buildroot- linux-uclibc/sysroot/usr/lib/libGLESv2.so
-- Found EGL: /home/buildroot/br2/output/host/aarch64-buildroot-linux- uclibc/sysroot/usr/lib/libEGL.so (found version "18.0.0") -- Found AML: /home/buildroot/br2/output/host/aarch64-buildroot-linux- uclibc/sysroot/usr/include/amcodec

-- OPENGL enabled: No
-- OPENGLES enabled: Yes
-- X enabled: No
-- LIBDRM enabled: No
-- AML enabled: Yes

/bin/grep: /usr/lib/libgbm.la: No such file or directory /bin/sed: can't read /usr/lib/libgbm.la: No such file or directory
libtool: error: '/usr/lib/libgbm.la' is not a valid libtool archive

------------------------------------------------------------------

Buildroot should not allow to use non-working combinations and here I think hardware-wise we should in some way connect libamcodec and odroid- mail to be used by Kodi. Besides the build errors it makes no sense to have software rendering provided by mesa3d when you have vendor-provided opengl libs.

What do you think?

Regards, Bernd

#14 lore raw

PATCH 1/4 package/kodi: remove libamcodec support

Quoted 13 lines · Bernd Kuhls

Am Sun, 01 Apr 2018 10:27:22 +0200 schrieb daggs:

Quoted 3 lines

as said by Thomas in another mail, there shouldn't be any dependency, what is the exact issue? compilation failure? what kodi version are you using?

Hi daggs,

the following builds were all made with unpatched buildroot master branch.

The only successful kodi build including libamcodec was made with odroid- mali using this defconfig:

Quoted 8 lines

BR2_aarch64=y
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_KODI=y
BR2_PACKAGE_ODROID_MALI=y
BR2_PACKAGE_PYTHON=y
BR2_PACKAGE_PYTHON_PY_ONLY=y
BR2_PACKAGE_LIBAMCODEC=y

So, maybe the condition in kodi.mk should just change to:

-ifeq ($(BR2_PACKAGE_LIBAMCODEC),y)
+ifeq ($(BR2_PACKAGE_LIBAMCODEC)$(BR2_PACKAGE_ODROID_MALI),yy)
KODI_CONF_OPTS += -DENABLE_AML=ON
KODI_DEPENDENCIES += libamcodec
else
KODI_CONF_OPTS += -DENABLE_AML=OFF
endif

?

I guess Kodi's AML just works with OPENGLES, not with OPENGL. So the condition
could maybe use BR2_PACKAGE_HAS_LIBGLES instead of BR2_PACKAGE_ODROID_MALI. But as you say in the end of this mail, Kodi still fails to build with mesa swrast and it doesn't make a lot of sense to combine swrast wit the binary mali driver.

Quoted 88 lines

-- Found OpenGLES: /home/buildroot/br2/output/host/aarch64-buildroot- linux-gnu/sysroot/usr/lib/libGLESv2.so
-- Found EGL: /home/buildroot/br2/output/host/aarch64-buildroot-linux-gnu/ sysroot/usr/lib/libEGL.so (found version "r4p0")
-- Found AML: /home/buildroot/br2/output/host/aarch64-buildroot-linux-gnu/ sysroot/usr/include/amcodec

-- OPENGL enabled: No
-- OPENGLES enabled: Yes
-- X enabled: No
-- LIBDRM enabled: No
-- AML enabled: Yes

Then I tried two builds with mesa3d & libamcodec, one where mesa3d provides opengl, in the second build mesa3d provides opengles, both failed:

------------------------------------------------------------------

BR2_aarch64=y
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_KODI=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST=y
BR2_PACKAGE_MESA3D_OPENGL_EGL=y
BR2_PACKAGE_XORG7=y
BR2_PACKAGE_PYTHON=y
BR2_PACKAGE_PYTHON_PY_ONLY=y
BR2_PACKAGE_LIBAMCODEC=y

-- Found OpenGl: /home/buildroot/br2/output/host/aarch64-buildroot-linux- uclibc/sysroot/usr/lib/libGL.so
-- Found X: /home/buildroot/br2/output/host/aarch64-buildroot-linux- uclibc/sysroot/usr/lib/libX11.so (found version "1.6.5")
-- Found LibDRM: /home/buildroot/br2/output/host/aarch64-buildroot-linux- uclibc/sysroot/usr/lib/libdrm.so (found version "2.4.91")
-- Found XRandR: /home/buildroot/br2/output/host/aarch64-buildroot-linux- uclibc/sysroot/usr/lib/libXrandr.so (found version "1.5.1") -- Found EGL: /home/buildroot/br2/output/host/aarch64-buildroot-linux- uclibc/sysroot/usr/lib/libEGL.so (found version "18.0.0")
-- Found AML: /home/buildroot/br2/output/host/aarch64-buildroot-linux- uclibc/sysroot/usr/include/amcodec

-- OPENGL enabled: Yes
-- X enabled: Yes
-- LIBDRM enabled: Yes
-- XRANDR enabled: Yes
-- AML enabled: Yes

[ 94%] Building CXX object build/cores/VideoPlayer/videorenderers/ CMakeFiles/videorenderers.dir/RenderManager.cpp.o /home/bernd/buildroot/br2/output/build/kodi-17.6-Krypton/xbmc/cores/ VideoPlayer/VideoRenderers/RenderManager.cpp: In member function 'void CRenderManager::CreateRenderer()':
/home/bernd/buildroot/br2/output/build/kodi-17.6-Krypton/xbmc/cores/ VideoPlayer/VideoRenderers/RenderManager.cpp:582:25: error:
'CRendererAML' does not name a type

       m_pRenderer = new CRendererAML;
                         ^~~~~~~~~~~~

------------------------------------------------------------------

BR2_aarch64=y
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_KODI=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST=y
BR2_PACKAGE_MESA3D_OPENGL_EGL=y
BR2_PACKAGE_MESA3D_OPENGL_ES=y
BR2_PACKAGE_PYTHON=y
BR2_PACKAGE_PYTHON_PY_ONLY=y
BR2_PACKAGE_LIBAMCODEC=y

-- Found OpenGLES: /home/buildroot/br2/output/host/aarch64-buildroot- linux-uclibc/sysroot/usr/lib/libGLESv2.so
-- Found EGL: /home/buildroot/br2/output/host/aarch64-buildroot-linux- uclibc/sysroot/usr/lib/libEGL.so (found version "18.0.0") -- Found AML: /home/buildroot/br2/output/host/aarch64-buildroot-linux- uclibc/sysroot/usr/include/amcodec

-- OPENGL enabled: No
-- OPENGLES enabled: Yes
-- X enabled: No
-- LIBDRM enabled: No
-- AML enabled: Yes

Quoted 3 lines

/bin/grep: /usr/lib/libgbm.la: No such file or directory /bin/sed: can't read /usr/lib/libgbm.la: No such file or directory
libtool: error: '/usr/lib/libgbm.la' is not a valid libtool archive

libgbm is enabled by BR2_PACKAGE_MESA3D_OPENGL_EGL, so it should be there. If
Kodi looks for it in /usr/lib, sounds like a bug in Kodi...

Quoted 7 lines

------------------------------------------------------------------

Buildroot should not allow to use non-working combinations and here I think hardware-wise we should in some way connect libamcodec and odroid- mail to be used by Kodi. Besides the build errors it makes no sense to have software rendering provided by mesa3d when you have vendor-provided opengl libs.

I agree with that.

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
#15 lore raw

PATCH 1/4 package/kodi: remove libamcodec support

In reply to Bernd Kuhls

Greetings Bernd,

Quoted 126 lines

Sent: Sunday, April 01, 2018 at 2:41 PM
From: "Bernd Kuhls" <[email protected]>
To: buildroot at uclibc.org
Subject: Re: [Buildroot] [PATCH 1/4] package/kodi: remove libamcodec support

Am Sun, 01 Apr 2018 10:27:22 +0200 schrieb daggs:

Quoted 3 lines

as said by Thomas in another mail, there shouldn't be any dependency, what is the exact issue? compilation failure? what kodi version are you using?

Hi daggs,

the following builds were all made with unpatched buildroot master branch.

The only successful kodi build including libamcodec was made with odroid- mali using this defconfig:

BR2_aarch64=y
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_KODI=y
BR2_PACKAGE_ODROID_MALI=y
BR2_PACKAGE_PYTHON=y
BR2_PACKAGE_PYTHON_PY_ONLY=y
BR2_PACKAGE_LIBAMCODEC=y

-- Found OpenGLES: /home/buildroot/br2/output/host/aarch64-buildroot- linux-gnu/sysroot/usr/lib/libGLESv2.so
-- Found EGL: /home/buildroot/br2/output/host/aarch64-buildroot-linux-gnu/ sysroot/usr/lib/libEGL.so (found version "r4p0")
-- Found AML: /home/buildroot/br2/output/host/aarch64-buildroot-linux-gnu/ sysroot/usr/include/amcodec

-- OPENGL enabled: No
-- OPENGLES enabled: Yes
-- X enabled: No
-- LIBDRM enabled: No
-- AML enabled: Yes

Then I tried two builds with mesa3d & libamcodec, one where mesa3d provides opengl, in the second build mesa3d provides opengles, both failed:

------------------------------------------------------------------

BR2_aarch64=y
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_KODI=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST=y
BR2_PACKAGE_MESA3D_OPENGL_EGL=y
BR2_PACKAGE_XORG7=y
BR2_PACKAGE_PYTHON=y
BR2_PACKAGE_PYTHON_PY_ONLY=y
BR2_PACKAGE_LIBAMCODEC=y

-- Found OpenGl: /home/buildroot/br2/output/host/aarch64-buildroot-linux- uclibc/sysroot/usr/lib/libGL.so
-- Found X: /home/buildroot/br2/output/host/aarch64-buildroot-linux- uclibc/sysroot/usr/lib/libX11.so (found version "1.6.5")
-- Found LibDRM: /home/buildroot/br2/output/host/aarch64-buildroot-linux- uclibc/sysroot/usr/lib/libdrm.so (found version "2.4.91")
-- Found XRandR: /home/buildroot/br2/output/host/aarch64-buildroot-linux- uclibc/sysroot/usr/lib/libXrandr.so (found version "1.5.1") -- Found EGL: /home/buildroot/br2/output/host/aarch64-buildroot-linux- uclibc/sysroot/usr/lib/libEGL.so (found version "18.0.0")
-- Found AML: /home/buildroot/br2/output/host/aarch64-buildroot-linux- uclibc/sysroot/usr/include/amcodec

-- OPENGL enabled: Yes
-- X enabled: Yes
-- LIBDRM enabled: Yes
-- XRANDR enabled: Yes
-- AML enabled: Yes

[ 94%] Building CXX object build/cores/VideoPlayer/videorenderers/ CMakeFiles/videorenderers.dir/RenderManager.cpp.o /home/bernd/buildroot/br2/output/build/kodi-17.6-Krypton/xbmc/cores/ VideoPlayer/VideoRenderers/RenderManager.cpp: In member function 'void CRenderManager::CreateRenderer()':
/home/bernd/buildroot/br2/output/build/kodi-17.6-Krypton/xbmc/cores/ VideoPlayer/VideoRenderers/RenderManager.cpp:582:25: error:
'CRendererAML' does not name a type

       m_pRenderer = new CRendererAML;
                         ^~~~~~~~~~~~

------------------------------------------------------------------

BR2_aarch64=y
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_KODI=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST=y
BR2_PACKAGE_MESA3D_OPENGL_EGL=y
BR2_PACKAGE_MESA3D_OPENGL_ES=y
BR2_PACKAGE_PYTHON=y
BR2_PACKAGE_PYTHON_PY_ONLY=y
BR2_PACKAGE_LIBAMCODEC=y

-- Found OpenGLES: /home/buildroot/br2/output/host/aarch64-buildroot- linux-uclibc/sysroot/usr/lib/libGLESv2.so
-- Found EGL: /home/buildroot/br2/output/host/aarch64-buildroot-linux- uclibc/sysroot/usr/lib/libEGL.so (found version "18.0.0") -- Found AML: /home/buildroot/br2/output/host/aarch64-buildroot-linux- uclibc/sysroot/usr/include/amcodec

-- OPENGL enabled: No
-- OPENGLES enabled: Yes
-- X enabled: No
-- LIBDRM enabled: No
-- AML enabled: Yes

/bin/grep: /usr/lib/libgbm.la: No such file or directory /bin/sed: can't read /usr/lib/libgbm.la: No such file or directory
libtool: error: '/usr/lib/libgbm.la' is not a valid libtool archive

------------------------------------------------------------------

Buildroot should not allow to use non-working combinations and here I think hardware-wise we should in some way connect libamcodec and odroid- mail to be used by Kodi. Besides the build errors it makes no sense to have software rendering provided by mesa3d when you have vendor-provided opengl libs.

Quoted 9 lines

What do you think?

Regards, Bernd

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

I have an idea that can address this issue but first I'd like to get confirmation from the vendor's support team especially since libreelec doesn't seems to libamlogic compiled, ok?

Dagg

#16 lore raw

PATCH 1/4 package/kodi: remove libamcodec support

Greetings Bernd,

Quoted 144 lines

Sent: Sunday, April 01, 2018 at 3:25 PM
From: daggs <[email protected]>
To: "Bernd Kuhls" <[email protected]>
Cc: buildroot at uclibc.org
Subject: Re: [Buildroot] [PATCH 1/4] package/kodi: remove libamcodec support

Greetings Bernd,

Quoted 126 lines

Sent: Sunday, April 01, 2018 at 2:41 PM
From: "Bernd Kuhls" <[email protected]>
To: buildroot at uclibc.org
Subject: Re: [Buildroot] [PATCH 1/4] package/kodi: remove libamcodec support

Am Sun, 01 Apr 2018 10:27:22 +0200 schrieb daggs:

Quoted 3 lines

as said by Thomas in another mail, there shouldn't be any dependency, what is the exact issue? compilation failure? what kodi version are you using?

Hi daggs,

the following builds were all made with unpatched buildroot master branch.

The only successful kodi build including libamcodec was made with odroid- mali using this defconfig:

BR2_aarch64=y
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_KODI=y
BR2_PACKAGE_ODROID_MALI=y
BR2_PACKAGE_PYTHON=y
BR2_PACKAGE_PYTHON_PY_ONLY=y
BR2_PACKAGE_LIBAMCODEC=y

-- Found OpenGLES: /home/buildroot/br2/output/host/aarch64-buildroot- linux-gnu/sysroot/usr/lib/libGLESv2.so
-- Found EGL: /home/buildroot/br2/output/host/aarch64-buildroot-linux-gnu/ sysroot/usr/lib/libEGL.so (found version "r4p0")
-- Found AML: /home/buildroot/br2/output/host/aarch64-buildroot-linux-gnu/ sysroot/usr/include/amcodec

-- OPENGL enabled: No
-- OPENGLES enabled: Yes
-- X enabled: No
-- LIBDRM enabled: No
-- AML enabled: Yes

Then I tried two builds with mesa3d & libamcodec, one where mesa3d provides opengl, in the second build mesa3d provides opengles, both failed:

------------------------------------------------------------------

BR2_aarch64=y
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_KODI=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST=y
BR2_PACKAGE_MESA3D_OPENGL_EGL=y
BR2_PACKAGE_XORG7=y
BR2_PACKAGE_PYTHON=y
BR2_PACKAGE_PYTHON_PY_ONLY=y
BR2_PACKAGE_LIBAMCODEC=y

-- Found OpenGl: /home/buildroot/br2/output/host/aarch64-buildroot-linux- uclibc/sysroot/usr/lib/libGL.so
-- Found X: /home/buildroot/br2/output/host/aarch64-buildroot-linux- uclibc/sysroot/usr/lib/libX11.so (found version "1.6.5")
-- Found LibDRM: /home/buildroot/br2/output/host/aarch64-buildroot-linux- uclibc/sysroot/usr/lib/libdrm.so (found version "2.4.91")
-- Found XRandR: /home/buildroot/br2/output/host/aarch64-buildroot-linux- uclibc/sysroot/usr/lib/libXrandr.so (found version "1.5.1") -- Found EGL: /home/buildroot/br2/output/host/aarch64-buildroot-linux- uclibc/sysroot/usr/lib/libEGL.so (found version "18.0.0")
-- Found AML: /home/buildroot/br2/output/host/aarch64-buildroot-linux- uclibc/sysroot/usr/include/amcodec

-- OPENGL enabled: Yes
-- X enabled: Yes
-- LIBDRM enabled: Yes
-- XRANDR enabled: Yes
-- AML enabled: Yes

[ 94%] Building CXX object build/cores/VideoPlayer/videorenderers/ CMakeFiles/videorenderers.dir/RenderManager.cpp.o /home/bernd/buildroot/br2/output/build/kodi-17.6-Krypton/xbmc/cores/ VideoPlayer/VideoRenderers/RenderManager.cpp: In member function 'void CRenderManager::CreateRenderer()':
/home/bernd/buildroot/br2/output/build/kodi-17.6-Krypton/xbmc/cores/ VideoPlayer/VideoRenderers/RenderManager.cpp:582:25: error:
'CRendererAML' does not name a type

       m_pRenderer = new CRendererAML;
                         ^~~~~~~~~~~~

------------------------------------------------------------------

BR2_aarch64=y
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_KODI=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST=y
BR2_PACKAGE_MESA3D_OPENGL_EGL=y
BR2_PACKAGE_MESA3D_OPENGL_ES=y
BR2_PACKAGE_PYTHON=y
BR2_PACKAGE_PYTHON_PY_ONLY=y
BR2_PACKAGE_LIBAMCODEC=y

-- Found OpenGLES: /home/buildroot/br2/output/host/aarch64-buildroot- linux-uclibc/sysroot/usr/lib/libGLESv2.so
-- Found EGL: /home/buildroot/br2/output/host/aarch64-buildroot-linux- uclibc/sysroot/usr/lib/libEGL.so (found version "18.0.0") -- Found AML: /home/buildroot/br2/output/host/aarch64-buildroot-linux- uclibc/sysroot/usr/include/amcodec

-- OPENGL enabled: No
-- OPENGLES enabled: Yes
-- X enabled: No
-- LIBDRM enabled: No
-- AML enabled: Yes

/bin/grep: /usr/lib/libgbm.la: No such file or directory /bin/sed: can't read /usr/lib/libgbm.la: No such file or directory
libtool: error: '/usr/lib/libgbm.la' is not a valid libtool archive

------------------------------------------------------------------

Buildroot should not allow to use non-working combinations and here I think hardware-wise we should in some way connect libamcodec and odroid- mail to be used by Kodi. Besides the build errors it makes no sense to have software rendering provided by mesa3d when you have vendor-provided opengl libs.

Quoted 9 lines

What do you think?

Regards, Bernd

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

Quoted 3 lines

I have an idea that can address this issue but first I'd like to get confirmation from the vendor's support team especially since libreelec doesn't seems to libamlogic compiled, ok?

Dagg

I have the answer, I'll submit a patch after your latest changes will be committed to the repo.

Dagg.

#17 lore raw

PATCH 1/4 package/kodi: remove libamcodec support

In reply to Bernd Kuhls

Hello,

Quoted 8 lines · Bernd Kuhls

Am Sun, 01 Apr 2018 09:43:00 +0200 schrieb daggs:

Quoted 2 lines

odroidc2 boards use amlogic libs, infact I'm the maintainer of the libamlogic pkg and I've added the support to kodi.

Hi daggs,

should the buildroot package libamcodec depend on odroid-mali?

libamcodec is for the video decoding, odroid-mali is for the GPU. I don't think there's a reason for libamcodec to depend on odroid-mali.

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
#18 lore raw

PATCH 1/4 package/kodi: remove libamcodec support

Greetings Thomas,

Quoted 16 lines

Sent: Sunday, April 01, 2018 at 11:11 AM
From: "Thomas Petazzoni" <[email protected]>
To: "Bernd Kuhls" <[email protected]>
Cc: buildroot at uclibc.org, daggs <[email protected]>
Subject: Re: [Buildroot] [PATCH 1/4] package/kodi: remove libamcodec support

Hello,

Quoted 7 lines · Bernd Kuhls

Am Sun, 01 Apr 2018 09:43:00 +0200 schrieb daggs:

Quoted 2 lines

odroidc2 boards use amlogic libs, infact I'm the maintainer of the libamlogic pkg and I've added the support to kodi.

Hi daggs,

Quoted 13 lines
Quoted 1 line

should the buildroot package libamcodec depend on odroid-mali?

libamcodec is for the video decoding, odroid-mali is for the GPU. I don't think there's a reason for libamcodec to depend on odroid-mali.

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

afaics, there is no such dependency. I agree, there shouldn't be one.

Dagg.

#19 lore raw

PATCH 1/4 package/kodi: remove libamcodec support

In reply to daggs

Hi daggs,

Am Sun, 01 Apr 2018 09:17:59 +0200 schrieb daggs:

Quoted 2 lines

I'm trying to understand this change, does this means libamlogic is missing something or kodi doesn't supports gles anymore?

it means that buildroot does not provide the OpenGL ES libraries needed for amlogic support in Kodi.

Quoted 3 lines

also, can you explain how Libreelec provided pre-compiled OpenGL ES libraries for AML are related to this? the link you've added points to a systemd script

Please have a look at https://github.com/LibreELEC/LibreELEC.tv/blob/
master/packages/graphics/opengl-meson/package.mk#L42, it states:

"opengl-meson: OpenGL ES pre-compiled libraries for Mali GPUs found in Amlogic Meson SoCs"

Atm these libraries are not provided by buildroot, so in the current state, buildroot can not build Kodi with amlogic support, this patch fixes the problem. If someone is interested in amlogic support in Kodi please send patches to provide the needed libraries.

Regards, Bernd

#20 lore raw

PATCH 1/4 package/kodi: remove libamcodec support

Greetings Bernd,

Quoted 30 lines

Sent: Sunday, April 01, 2018 at 10:30 AM
From: "Bernd Kuhls" <[email protected]>
To: buildroot at uclibc.org
Subject: Re: [Buildroot] [PATCH 1/4] package/kodi: remove libamcodec support

Hi daggs,

Am Sun, 01 Apr 2018 09:17:59 +0200 schrieb daggs:

Quoted 2 lines

I'm trying to understand this change, does this means libamlogic is missing something or kodi doesn't supports gles anymore?

it means that buildroot does not provide the OpenGL ES libraries needed for amlogic support in Kodi.

Quoted 3 lines

also, can you explain how Libreelec provided pre-compiled OpenGL ES libraries for AML are related to this? the link you've added points to a systemd script

Please have a look at https://github.com/LibreELEC/LibreELEC.tv/blob/
master/packages/graphics/opengl-meson/package.mk#L42, it states:

"opengl-meson: OpenGL ES pre-compiled libraries for Mali GPUs found in Amlogic Meson SoCs"

Atm these libraries are not provided by buildroot, so in the current state, buildroot can not build Kodi with amlogic support, this patch fixes the problem. If someone is interested in amlogic support in Kodi please send patches to provide the needed libraries.

Quoted 7 lines

Regards, Bernd

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

the OpenGL ES libraries are part of buildroot, see odroid-mali which uses version r6p1. do you mean that they need to be upgraded?

Dagg.