From 43a51725e2aef088f3f008a1cb9bd25721e6e572 Mon Sep 17 00:00:00 2001 From: Emil Velikov Date: Fri, 1 Dec 2017 13:08:08 +0000 Subject: [PATCH 1/5] mesa: document the workaround in pre_configure_target Add some information why we need the extra linking, and reference to a thread with possible solutions. Signed-off-by: Emil Velikov --- packages/graphics/mesa/package.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/graphics/mesa/package.mk b/packages/graphics/mesa/package.mk index 34dfa7c34c..7acbc1a684 100644 --- a/packages/graphics/mesa/package.mk +++ b/packages/graphics/mesa/package.mk @@ -111,6 +111,10 @@ PKG_CONFIGURE_OPTS_TARGET="CC_FOR_BUILD=$HOST_CC \ --with-vulkan-drivers=no \ --with-sysroot=$SYSROOT_PREFIX" +# Temporary workaround: +# Listed libraries are static, while mesa expects shared ones. This breaks the +# dependency tracking. The following has some ideas on how to address that. +# https://github.com/LibreELEC/LibreELEC.tv/pull/2163 pre_configure_target() { if [ "$DISPLAYSERVER" = "x11" ]; then export LIBS="-lxcb-dri3 -lxcb-dri2 -lxcb-xfixes -lxcb-present -lxcb-sync -lxshmfence -lz" From 41d5a8a7a1d771047d138e6cfc4168910fae2d5a Mon Sep 17 00:00:00 2001 From: Emil Velikov Date: Sun, 29 Oct 2017 12:20:08 +0000 Subject: [PATCH 2/5] mesa: toggle and document glx-tls You need the toggle even when building EGL. The glx in the name is due to historical reasons. --- packages/graphics/mesa/package.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/graphics/mesa/package.mk b/packages/graphics/mesa/package.mk index 7acbc1a684..babb4fe62b 100644 --- a/packages/graphics/mesa/package.mk +++ b/packages/graphics/mesa/package.mk @@ -39,7 +39,8 @@ if [ "$DISPLAYSERVER" = "x11" ]; then MESA_EGL_PLATFORMS="--with-platforms=x11,drm" else MESA_DRI="--enable-dri --disable-dri3" - MESA_GLX="--disable-glx --disable-driglx-direct --disable-glx-tls" + # The glx in glx-tls is a misnomer - there's nothing glx in it. + MESA_GLX="--disable-glx --disable-driglx-direct --enable-glx-tls" MESA_EGL_PLATFORMS="--with-platforms=drm" fi From 0fff45905513a628794bd47f7a0c2b7ab91c42f5 Mon Sep 17 00:00:00 2001 From: Emil Velikov Date: Sun, 29 Oct 2017 12:26:56 +0000 Subject: [PATCH 3/5] mesa: remove no longer available configure toggle --enable-shader-cache was removed a few releases ago --- packages/graphics/mesa/package.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/graphics/mesa/package.mk b/packages/graphics/mesa/package.mk index babb4fe62b..4066c247ce 100644 --- a/packages/graphics/mesa/package.mk +++ b/packages/graphics/mesa/package.mk @@ -102,7 +102,6 @@ PKG_CONFIGURE_OPTS_TARGET="CC_FOR_BUILD=$HOST_CC \ --enable-opencl-icd \ --disable-gallium-tests \ --enable-shared-glapi \ - --enable-shader-cache \ $MESA_GALLIUM_LLVM \ --disable-silent-rules \ --with-gl-lib-name=GL \ From e7e7f4d4b3db57878f227c03e4373fa4006c934f Mon Sep 17 00:00:00 2001 From: Emil Velikov Date: Sun, 29 Oct 2017 13:36:27 +0000 Subject: [PATCH 4/5] mesa: reference to GLVND wrt local libGL handling --- packages/graphics/mesa/package.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/graphics/mesa/package.mk b/packages/graphics/mesa/package.mk index 4066c247ce..fb0d508510 100644 --- a/packages/graphics/mesa/package.mk +++ b/packages/graphics/mesa/package.mk @@ -122,6 +122,7 @@ pre_configure_target() { } post_makeinstall_target() { + # Similar hack is needed on EGL, GLES* front. Might as well drop it and test the GLVND? if [ "$DISPLAYSERVER" = "x11" ]; then # rename and relink for cooperate with nvidia drivers rm -rf $INSTALL/usr/lib/libGL.so From fb391f927d2805716492e3fe2277336c5e6bb98b Mon Sep 17 00:00:00 2001 From: Emil Velikov Date: Sun, 29 Oct 2017 12:28:53 +0000 Subject: [PATCH 5/5] mesa: drop EGL drom MESA_EGL_PLATFORMS The toggle is used for more than EGL - EGL, Vulkan as well a the video codec drivers. --- packages/graphics/mesa/package.mk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/graphics/mesa/package.mk b/packages/graphics/mesa/package.mk index fb0d508510..7ae02011b3 100644 --- a/packages/graphics/mesa/package.mk +++ b/packages/graphics/mesa/package.mk @@ -36,12 +36,12 @@ if [ "$DISPLAYSERVER" = "x11" ]; then export X11_INCLUDES= MESA_DRI="--enable-dri --enable-dri3" MESA_GLX="--enable-glx --enable-driglx-direct --enable-glx-tls" - MESA_EGL_PLATFORMS="--with-platforms=x11,drm" + MESA_PLATFORMS="--with-platforms=x11,drm" else MESA_DRI="--enable-dri --disable-dri3" # The glx in glx-tls is a misnomer - there's nothing glx in it. MESA_GLX="--disable-glx --disable-driglx-direct --enable-glx-tls" - MESA_EGL_PLATFORMS="--with-platforms=drm" + MESA_PLATFORMS="--with-platforms=drm" fi # configure GPU drivers and dependencies: @@ -83,6 +83,7 @@ PKG_CONFIGURE_OPTS_TARGET="CC_FOR_BUILD=$HOST_CC \ --enable-texture-float \ --enable-asm \ --disable-selinux \ + $MESA_PLATFORMS \ --enable-opengl \ $MESA_GLES \ $MESA_DRI \ @@ -90,7 +91,6 @@ PKG_CONFIGURE_OPTS_TARGET="CC_FOR_BUILD=$HOST_CC \ --disable-osmesa \ --disable-gallium-osmesa \ --enable-egl \ - $MESA_EGL_PLATFORMS \ $XA_CONFIG \ --enable-gbm \ --disable-nine \