From d13e9990f0734d92c7d77faeeb6ab2db987cbe16 Mon Sep 17 00:00:00 2001 From: Tom Hochstein Date: Mon, 19 Sep 2022 13:27:05 -0500 Subject: imx-gpu-viv: Add support for i.MX 8 without Wayland This configuration is experimental and has never been fully tested. Signed-off-by: Tom Hochstein (cherry picked from commit 0afe904e6bb501816ffc6cf0a7c136d7d46b144e) --- recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc | 41 ++++++++++++++++---------- 1 file changed, 25 insertions(+), 16 deletions(-) (limited to 'recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc') diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc b/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc index 242ed758..055ce263 100644 --- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc +++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc @@ -61,9 +61,7 @@ RPROVIDES:${PN}:imxgpu3d += "imx-gpu-viv" PE = "1" -inherit fsl-eula-unpack features_check - -REQUIRED_DISTRO_FEATURES:mx8-nxp-bsp = "wayland" +inherit fsl-eula-unpack SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true" @@ -180,6 +178,7 @@ do_install () { # Use vulkan header from vulkan-headers recipe to support vkmark rm -rf ${D}${includedir}/vulkan/ + # Install SOC-specific drivers if [ -d ${S}/gpu-core/usr/lib/${IMX_SOC} ]; then cp -r ${S}/gpu-core/usr/lib/${IMX_SOC}/* ${D}${libdir} fi @@ -189,28 +188,38 @@ do_install () { install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/gbm.pc ${D}${libdir}/pkgconfig/gbm.pc fi + install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv1_cm.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc + install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv2.pc ${D}${libdir}/pkgconfig/glesv2.pc + install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/vg.pc ${D}${libdir}/pkgconfig/vg.pc + + # Install backend-specific drivers if [ "${BACKEND}" = "wayland" ]; then + # Wayland backend install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/egl_wayland.pc ${D}${libdir}/pkgconfig/egl.pc - install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv1_cm.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc - install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv2.pc ${D}${libdir}/pkgconfig/glesv2.pc - install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/vg.pc ${D}${libdir}/pkgconfig/vg.pc - else - install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv1_cm.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc - install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv2.pc ${D}${libdir}/pkgconfig/glesv2.pc - install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/vg.pc ${D}${libdir}/pkgconfig/vg.pc + cp -r ${S}/gpu-core/usr/lib/wayland/* ${D}${libdir} + elif [ "${IS_MX8}" != "1" ]; then + # Framebuffer backend for i.MX 6 and 7 install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/egl_linuxfb.pc ${D}${libdir}/pkgconfig/egl.pc + cp -r ${S}/gpu-core/usr/lib/fb/* ${D}${libdir} + else + # Framebuffer backend for i.MX 8 and beyond + install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/egl.pc ${D}${libdir}/pkgconfig/egl.pc + cp -r ${S}/gpu-core/usr/lib/wayland/* ${D}${libdir} + rm -rf \ + ${D}${libdir}/libVDK.so* \ + ${D}/opt/viv_samples/es20 \ + ${D}/opt/viv_samples/tiger \ + ${D}/opt/viv_samples/vdk + fi + if [ "${BACKEND}" = "wayland" ] && [ "${IS_MX8}" != "1" ]; then + # Special case for libVDK on Wayland backend, deliver fb library as well. + cp ${S}/gpu-core/usr/lib/fb/libVDK.so.1.2.0 ${D}${libdir}/libVDK-fb.so.1.2.0 fi # Install Vendor ICDs for OpenCL's installable client driver loader (ICDs Loader) install -d ${D}${sysconfdir}/OpenCL/vendors/ install -m 0644 ${S}/gpu-core/etc/Vivante.icd ${D}${sysconfdir}/OpenCL/vendors/Vivante.icd - # Handle backend specific drivers - cp -r ${S}/gpu-core/usr/lib/${BACKEND}/* ${D}${libdir} - if [ "${BACKEND}" = "wayland" ] && [ "${IS_MX8}" != "1" ]; then - # Special case for libVDK on Wayland backend, deliver fb library as well. - cp ${S}/gpu-core/usr/lib/fb/libVDK.so.1.2.0 ${D}${libdir}/libVDK-fb.so.1.2.0 - fi if [ "${IS_MX8}" = "1" ]; then if [ -n "${PACKAGES_VULKAN}" ]; then # Rename the vulkan implementation library which is wrapped by the vulkan-loader -- cgit v1.2.3-54-g00ecf