Patchwork [meta-fsl-arm,01/10] gpu-viv-bin-mx6q: Include sololite changes to remove 3D libraries.

login
register
mail settings
Submitter Neena Busireddy
Date July 30, 2014, 9:26 p.m.
Message ID <1406755584-1506-2-git-send-email-neena.busireddy@freescale.com>
Download mbox | patch
Permalink /patch/76947/
State Changes Requested
Delegated to: Otavio Salvador
Headers show

Comments

Neena Busireddy - July 30, 2014, 9:26 p.m.
Sololite does not support 3D GPU hardware acceleration.Hence, remove
all the 3D libraries from graphics package for this machine.

Signed-off-by: Neena Busireddy <neena.busireddy@freescale.com>
---
 .../gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc          |   28 +++++++++++++++++---
 1 file changed, 24 insertions(+), 4 deletions(-)
Otavio Salvador - Aug. 5, 2014, 8:50 p.m.
On Wed, Jul 30, 2014 at 6:26 PM, Neena Busireddy
<neena.busireddy@freescale.com> wrote:
> Sololite does not support 3D GPU hardware acceleration.Hence, remove
> all the 3D libraries from graphics package for this machine.
>
> Signed-off-by: Neena Busireddy <neena.busireddy@freescale.com>

I got, in autobuilder, following failure:

x11 fsl-image-machine-test@imx6slevk (4/5) Preparing...
    ######################################## [  0%]
x11 fsl-image-machine-test@imx6slevk (4/5) error: file
/usr/lib/libGL.so.1.2.0 conflicts between attempted installs of
libgl-mx6-3.10.17+1.0.0+hfp-r0.cortexa9hf_vfp_neon_mx6 and
libgl-mesa-10.1.3-r0.imx6slevk
x11 fsl-image-machine-test@imx6slevk (4/5) xdpyinfo

I think we have a corner case uncover here. Any clue?

Patch

diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc
index 2c383c4..eecb752 100644
--- a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc
+++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc
@@ -11,7 +11,9 @@  DEPENDS += "${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxdamag
                              base_contains('DISTRO_FEATURES', 'wayland', 'wayland', \
                                            '', d), d)}"
 
-PROVIDES += "virtual/wayland-egl virtual/libgl virtual/libgal-x11 virtual/egl virtual/libgles1 virtual/libgles2 virtual/libopenvg"
+PROVIDES += "virtual/wayland-egl virtual/libgal-x11 virtual/egl virtual/libopenvg"
+PROVIDES_append_mx6q  = " virtual/libgl virtual/libgles1 virtual/libgles2"
+PROVIDES_append_mx6dl  = " virtual/libgl virtual/libgles1 virtual/libgles2"
 
 PE = "1"
 
@@ -31,7 +33,6 @@  SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true \
            file://wayland-viv.pc \
            file://directfbrc \
           "
-
 PACKAGES =+ "libclc-mx6 libclc-mx6-dev libclc-mx6-dbg \
 	libgl-mx6 libgl-mx6-dev libgl-mx6-dbg \
 	libgles-mx6 libgles-mx6-dev libgles-mx6-dbg \
@@ -49,7 +50,6 @@  PACKAGES =+ "libclc-mx6 libclc-mx6-dev libclc-mx6-dbg \
 	libgc-wayland-protocol-mx6 libgc-wayland-protocol-mx6-dev libgc-wayland-protocol-mx6-dbg \
 	libwayland-egl-mx6-dev \
 "
-
 # Skip package if it does not match the machine float-point type in use
 python __anonymous () {
         is_machine_hardfp = base_contains("TUNE_FEATURES", "callconvention-hard", True, False, d)
@@ -104,6 +104,9 @@  python __anonymous() {
         d.appendVar("RCONFLICTS_" + fullp, pkgs)
 }
 
+IS_MX6SL = "0"
+IS_MX6SL_mx6sl = "1"
+
 do_install () {
     install -d ${D}${libdir}
     install -d ${D}${includedir}
@@ -184,7 +187,23 @@  do_install () {
     for backend in wl x11 fb dfb; do
         find ${D}${libdir} -name "*-$backend.so" -exec rm '{}' ';'
     done
-
+    # FIXME: MX6SL does not have 3D support; hack it for now
+    if [ "${IS_MX6SL}" = "1" ]; then
+        rm -rf ${D}${libdir}/libCLC* ${D}${includedir}/CL \
+               \
+               ${D}${libdir}/libGL* ${D}${includedir}/GL* \ 
+               \
+               ${D}${libdir}/libGLES* \
+               \
+               ${D}${libdir}/libOpenCL* \
+               \
+               ${D}${libdir}/libOpenVG.so ${D}${libdir}/libOpenVG_3D.so \
+               \
+               ${D}/opt/viv_samples/vdk \
+               ${D}/opt/viv_samples/es20 ${D}/opt/viv_samples/cl11
+
+        ln -sf ${D}${libdir}/libOpenVG_355.so ${D}${libdir}/libOpenVG.so
+    fi
     find ${D}${libdir} -type f -exec chmod 644 {} \;
     find ${D}${includedir} -type f -exec chmod 644 {} \;
 }
@@ -233,6 +252,7 @@  FILES_libopencl-mx6-dev = "${includedir}/CL ${libdir}/libOpenCL${SOLIBSDEV}"
 FILES_libopencl-mx6-dbg = "${libdir}/.debug/libOpenCL${SOLIBS}"
 RDEPENDS_libopencl-mx6 = "libclc-mx6"
 
+INSANE_SKIP_libopenvg-mx6 += "dev-so"
 FILES_libopenvg-mx6 = "${libdir}/libOpenVG*${SOLIBS}"
 FILES_libopenvg-mx6-dev = "${includedir}/VG ${libdir}/libOpenVG*${SOLIBSDEV} ${libdir}/pkgconfig/vg.pc"
 FILES_libopenvg-mx6-dbg = "${libdir}/.debug/libOpenVG*${SOLIBS}"