All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 01/19] mesa: Cleanup
@ 2018-06-27 12:30 Otavio Salvador
  2018-06-27 12:30 ` [PATCH v3 02/19] imx-gpu-viv: Add i.MX 8 support Otavio Salvador
                   ` (17 more replies)
  0 siblings, 18 replies; 19+ messages in thread
From: Otavio Salvador @ 2018-06-27 12:30 UTC (permalink / raw)
  To: meta-freescale Mailing List; +Cc: Otavio Salvador

From: Tom Hochstein <tom.hochstein@nxp.com>

Fix variable order and remove references to non-existent
packages.

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---

Changes in v3: None
Changes in v2:
- new patch

 recipes-graphics/mesa/mesa_%.bbappend | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/recipes-graphics/mesa/mesa_%.bbappend b/recipes-graphics/mesa/mesa_%.bbappend
index 34a647a5..742d2e1a 100644
--- a/recipes-graphics/mesa/mesa_%.bbappend
+++ b/recipes-graphics/mesa/mesa_%.bbappend
@@ -1,8 +1,8 @@
-PACKAGECONFIG_remove_imxgpu2d = "egl gles gbm"
-
-PROVIDES_remove_imxgpu2d = "virtual/libgles1 virtual/libgles2 virtual/libopenvg virtual/egl virtual/libgbm"
+PROVIDES_remove_imxgpu2d = "virtual/libgles1 virtual/libgles2 virtual/egl"
 PROVIDES_remove_imxgpu3d = "virtual/libgl"
 
+PACKAGECONFIG_remove_imxgpu2d = "egl gles gbm"
+
 # FIXME: mesa should support 'x11-no-tls' option
 python () {
     overrides = d.getVar("OVERRIDES", True).split(":")
-- 
2.18.0



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

* [PATCH v3 02/19] imx-gpu-viv: Add i.MX 8 support
  2018-06-27 12:30 [PATCH v3 01/19] mesa: Cleanup Otavio Salvador
@ 2018-06-27 12:30 ` Otavio Salvador
  2018-06-27 12:30 ` [PATCH v3 03/19] xf86-video-imx-vivante: " Otavio Salvador
                   ` (16 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: Otavio Salvador @ 2018-06-27 12:30 UTC (permalink / raw)
  To: meta-freescale Mailing List; +Cc: Otavio Salvador

From: Tom Hochstein <tom.hochstein@nxp.com>

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---

Changes in v3:
- Fix GLES supported versions
- Remove features of unsuported SoCs

Changes in v2: None

 .../imx-gpu-viv/imx-gpu-viv-6.inc             | 35 ++++++++++++++-----
 .../imx-gpu-viv_6.2.4.p1.2-aarch64.bb         |  6 ++++
 2 files changed, 33 insertions(+), 8 deletions(-)
 create mode 100644 recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.4.p1.2-aarch64.bb

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 6cc8cbb1..da5bae46 100644
--- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc
+++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc
@@ -12,11 +12,11 @@ DEPENDS += " \
        bb.utils.contains('DISTRO_FEATURES',     'x11', 'virtual/libx11 libxdamage libxext libxfixes', \
                                                        '', d), d)} \
 "
-DEPENDS += "libdrm"
 DEPENDS += " \
     ${@bb.utils.contains('DISTRO_FEATURES',     'x11', 'libxcb libxshmfence libxxf86vm', \
                                                        '', d)} \
 "
+DEPENDS_append_mx8 = " libdrm wayland"
 
 # imx-gpu-viv does not provide everything it needs to for virtual/libgl
 # on x11 backend or on Wayland backend with XWayland support.
@@ -29,7 +29,6 @@ EXTRA_PROVIDES_append_imxgpu3d = " \
     virtual/libgles1 \
     virtual/libgles2 \
 "
-"
 PROVIDES += " \
     imx-gpu-viv \
     libgal-imx \
@@ -51,6 +50,8 @@ inherit fsl-eula-unpack
 SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true"
 
 # Note : If you add a package here, to prevent a naming conflict see the python_anonymous() futher below
+IMX_PACKAGES_GBM     = ""
+IMX_PACKAGES_GBM_mx8 = "libgbm-imx libgbm-imx-dev"
 PACKAGES =+ "libclc-imx libclc-imx-dev \
 	libgl-imx libgl-imx-dev \
 	libgles-imx libgles-imx-dev \
@@ -64,7 +65,7 @@ PACKAGES =+ "libclc-imx libclc-imx-dev \
 	libgal-imx libgal-imx-dev \
 	libvivante-dri-imx \
 	libvsc-imx \
-	libgbm-imx libgbm-imx-dev \
+	${IMX_PACKAGES_GBM} \
 	libwayland-viv-imx libwayland-viv-imx-dev \
 	libgc-wayland-protocol-imx libgc-wayland-protocol-imx-dev \
 	libwayland-egl-imx-dev \
@@ -122,9 +123,16 @@ python __anonymous() {
 IS_MX6SL = "0"
 IS_MX6SL_mx6sl = "1"
 
+IS_MX8 = "0"
+IS_MX8_mx8 = "1"
+
 PACKAGE_FP_TYPE = "hardfp"
 
-GLES3_HEADER_REMOVALS = "gl31.h gl32.h"
+HAS_GBM     = "false"
+HAS_GBM_mx8 = "true"
+
+GLES3_HEADER_REMOVALS       = "gl31.h gl32.h"
+GLES3_HEADER_REMOVALS_mx8mq = "gl32.h"
 
 do_install () {
     install -d ${D}${libdir}
@@ -140,6 +148,9 @@ do_install () {
     rm -rf ${D}${includedir}/vulkan/vulkan.h
 
     install -d ${D}${libdir}/pkgconfig
+    if ${HAS_GBM}; then
+        install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/gbm.pc ${D}${libdir}/pkgconfig/gbm.pc
+    fi
 
     # The preference order, based in DISTRO_FEATURES, is Wayland (with or without X11), X11 and fb
     if [ "${USE_WL}" = "yes" ]; then
@@ -212,6 +223,14 @@ do_install () {
     ln -sf libGLESv2.so.2.0.0 ${D}${libdir}/libGLESv2.so.2
     ln -sf libGLESv2.so.2.0.0 ${D}${libdir}/libGLESv2.so
 
+    if [ "${IS_MX8}" = "1" ]; then
+        # Install the vulkan driver in a sub-folder. When installed in the same
+        # folder as the vulkan loader layer library, an incorrect linkage is
+        # created from libvulkan.so.1 to our library instead of the loader
+        # layer library.
+        install -d ${D}${libdir}/vulkan
+        mv ${D}${libdir}/libvulkan-${backend}.so ${D}${libdir}/vulkan/libvulkan_VSI.so
+    fi
     for header in ${GLES3_HEADER_REMOVALS}; do
         rm -f ${D}${includedir}/GLES3/${header}
     done
@@ -276,9 +295,9 @@ INSANE_SKIP_libgal-imx += "build-deps"
 
 FILES_libvsc-imx = "${libdir}/libVSC${SOLIBS}"
 
-FILES_libgbm-imx = "${libdir}/libgbm${SOLIBS} ${libdir}/gbm_viv${SOLIBS}"
-FILES_libgbm-imx-dev = "${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h ${libdir}/libgbm${SOLIBSDEV}"
-RDEPENDS_libgbm-imx += "libdrm"
+FILES_libgbm-imx_mx8           = "${libdir}/libgbm${SOLIBS} ${libdir}/gbm_viv${SOLIBS}"
+FILES_libgbm-imx-dev_mx8       = "${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h ${libdir}/libgbm${SOLIBSDEV}"
+RDEPENDS_libgbm-imx_append_mx8 = " libdrm"
 
 FILES_libvulkan-imx = "${libdir}/vulkan/libvulkan_VSI${SOLIBS}"
 FILES_libvulkan-imx-dev = "${includedir}/vulkan ${libdir}/vulkan/libvulkan_VSI${SOLIBSDEV}"
@@ -344,4 +363,4 @@ FILES_imx-gpu-viv-tools = "${bindir}/gmem_info"
 FILES_imx-gpu-viv-demos = "/opt"
 INSANE_SKIP_imx-gpu-viv-demos += "rpaths dev-deps"
 
-# COMPATIBLE_MACHINE = "(mx6q|mx6dl|mx6sx|mx6sl)"
+# COMPATIBLE_MACHINE = "(mx6q|mx6dl|mx6sx|mx6sl|mx8)"
diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.4.p1.2-aarch64.bb b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.4.p1.2-aarch64.bb
new file mode 100644
index 00000000..4b1a72ca
--- /dev/null
+++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.4.p1.2-aarch64.bb
@@ -0,0 +1,6 @@
+require imx-gpu-viv-6.inc
+
+SRC_URI[md5sum] = "28ef177f53be40c738f46018cebf055c"
+SRC_URI[sha256sum] = "27ed3f58681cef18f87ea20946cc89b2cef4848006064303d20583e6ed7aeec7"
+
+COMPATIBLE_MACHINE = "(mx8)"
-- 
2.18.0



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

* [PATCH v3 03/19] xf86-video-imx-vivante: Add i.MX 8 support
  2018-06-27 12:30 [PATCH v3 01/19] mesa: Cleanup Otavio Salvador
  2018-06-27 12:30 ` [PATCH v3 02/19] imx-gpu-viv: Add i.MX 8 support Otavio Salvador
@ 2018-06-27 12:30 ` Otavio Salvador
  2018-06-27 12:30 ` [PATCH v3 04/19] imx-base.inc: Add i.MX8M and i.MX8M Mini support Otavio Salvador
                   ` (15 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: Otavio Salvador @ 2018-06-27 12:30 UTC (permalink / raw)
  To: meta-freescale Mailing List; +Cc: Otavio Salvador

From: Tom Hochstein <tom.hochstein@nxp.com>

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---

Changes in v3: None
Changes in v2: None

 .../xorg-driver/xf86-video-imx-vivante_6.2.4.p1.2.bb          | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/recipes-graphics/xorg-driver/xf86-video-imx-vivante_6.2.4.p1.2.bb b/recipes-graphics/xorg-driver/xf86-video-imx-vivante_6.2.4.p1.2.bb
index fa3a1a35..0bc0bab1 100644
--- a/recipes-graphics/xorg-driver/xf86-video-imx-vivante_6.2.4.p1.2.bb
+++ b/recipes-graphics/xorg-driver/xf86-video-imx-vivante_6.2.4.p1.2.bb
@@ -51,6 +51,8 @@ RDEPENDS_${PN} += "libvivante-dri-imx \
                    xserver-xorg-extension-dri \
                    xserver-xorg-extension-dri2 \
                    xserver-xorg-extension-glx"
+RDEPENDS_${PN}_remove_mx8mq = "xserver-xorg-extension-glx"
+RDEPENDS_${PN}_append_mx8 = " kernel-module-vivante"
 
 REALSOLIBS := "${SOLIBS}"
 SOLIBS = "${SOLIBSDEV}"
@@ -62,4 +64,4 @@ FILES_${PN}-dbg = "${libdir}/*/*/*/.debug ${libdir}/.debug/libfsl_x11_ext${SOLIB
 FILES_xserver-xorg-extension-viv-autohdmi = " ${libdir}/libfsl_x11_ext${SOLIBS} ${exec_prefix}/bin/autohdmi ${sysconfdir}/init.d/rc.autohdmi"
 
 PACKAGE_ARCH = "${MACHINE_SOCARCH}"
-COMPATIBLE_MACHINE = "(mx6|mx7ulp)"
+COMPATIBLE_MACHINE = "(mx6|mx7ulp|mx8)"
-- 
2.18.0



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

* [PATCH v3 04/19] imx-base.inc: Add i.MX8M and i.MX8M Mini support
  2018-06-27 12:30 [PATCH v3 01/19] mesa: Cleanup Otavio Salvador
  2018-06-27 12:30 ` [PATCH v3 02/19] imx-gpu-viv: Add i.MX 8 support Otavio Salvador
  2018-06-27 12:30 ` [PATCH v3 03/19] xf86-video-imx-vivante: " Otavio Salvador
@ 2018-06-27 12:30 ` Otavio Salvador
  2018-06-27 12:30 ` [PATCH v3 05/19] imx-base.inc: Add imxdpu and imxdpublit to MACHINEOVERRIDES_EXTENDER Otavio Salvador
                   ` (14 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: Otavio Salvador @ 2018-06-27 12:30 UTC (permalink / raw)
  To: meta-freescale Mailing List; +Cc: Otavio Salvador

From: Tom Hochstein <tom.hochstein@nxp.com>

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---

Changes in v3: None
Changes in v2: None

 conf/machine/include/imx-base.inc | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc
index 419ab1bc..2e8f03a6 100644
--- a/conf/machine/include/imx-base.inc
+++ b/conf/machine/include/imx-base.inc
@@ -30,9 +30,10 @@ UBOOT_ENTRYPOINT_mx7 = "0x80008000"
 UBOOT_ENTRYPOINT_vf = "0x80008000"
 
 PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
-XSERVER_DRIVER = "xf86-video-fbdev"
-XSERVER_DRIVER_imxgpu2d = "xf86-video-imx-vivante"
-XSERVER_DRIVER_vf = "xf86-video-modesetting"
+XSERVER_DRIVER                  = "xf86-video-fbdev"
+XSERVER_DRIVER_imxgpu2d         = "xf86-video-imx-vivante"
+XSERVER_DRIVER_vf               = "xf86-video-modesetting"
+XSERVER_DRIVER_append_mx8       = " xf86-video-modesetting"
 XSERVER_DRIVER_use-mainline-bsp = "xf86-video-armada"
 XSERVER = "xserver-xorg \
            xf86-input-evdev \
@@ -52,6 +53,7 @@ DEFAULTTUNE_mx6 ?= "cortexa9thf-neon"
 DEFAULTTUNE_mx6ul ?= "cortexa7thf-neon"
 DEFAULTTUNE_mx6ull ?= "cortexa7thf-neon"
 DEFAULTTUNE_mx7 ?= "cortexa7thf-neon"
+DEFAULTTUNE_mx8 ?= "aarch64"
 DEFAULTTUNE_vf ?= "cortexa5thf-neon"
 
 INHERIT += "machine-overrides-extender"
@@ -66,6 +68,8 @@ MACHINEOVERRIDES_EXTENDER_mx6ul  = "imxpxp"
 MACHINEOVERRIDES_EXTENDER_mx6ull = "imxpxp:imxepdc"
 MACHINEOVERRIDES_EXTENDER_mx7d   = "imxpxp:imxepdc"
 MACHINEOVERRIDES_EXTENDER_mx7ulp = "imxpxp:imxgpu2d:imxgpu3d"
+MACHINEOVERRIDES_EXTENDER_mx8mq  = "imxvpu:imxgpu3d"
+MACHINEOVERRIDES_EXTENDER_mx8mm  = "imxvpu:imxgpu2d:imxgpu3d"
 
 MACHINEOVERRIDES_EXTENDER_FILTER_OUT_use-mainline-bsp = " \
     mx6 \
@@ -97,6 +101,8 @@ MACHINE_SOCARCH_SUFFIX_vf60 = "-vf60"
 MACHINE_SOCARCH_SUFFIX_vf50 = "-vf50"
 MACHINE_SOCARCH_SUFFIX_mx6ul  = "-mx6ul"
 MACHINE_SOCARCH_SUFFIX_mx6ull = "-mx6ul"
+MACHINE_SOCARCH_SUFFIX_mx8mm  = "-mx8mm"
+MACHINE_SOCARCH_SUFFIX_mx8mq  = "-mx8m"
 MACHINE_SOCARCH_SUFFIX_use-mainline-bsp = "-imx"
 
 MACHINE_ARCH_FILTER = "virtual/kernel"
-- 
2.18.0



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

* [PATCH v3 05/19] imx-base.inc: Add imxdpu and imxdpublit to MACHINEOVERRIDES_EXTENDER
  2018-06-27 12:30 [PATCH v3 01/19] mesa: Cleanup Otavio Salvador
                   ` (2 preceding siblings ...)
  2018-06-27 12:30 ` [PATCH v3 04/19] imx-base.inc: Add i.MX8M and i.MX8M Mini support Otavio Salvador
@ 2018-06-27 12:30 ` Otavio Salvador
  2018-06-27 12:30 ` [PATCH v3 06/19] imx-base.inc: Add imxgpu " Otavio Salvador
                   ` (13 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: Otavio Salvador @ 2018-06-27 12:30 UTC (permalink / raw)
  To: meta-freescale Mailing List; +Cc: Otavio Salvador

From: Tom Hochstein <tom.hochstein@nxp.com>

- imx-gpu-g2d requires DPU-blit support
- imx-dpu-g2d requires DPU support

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---

Changes in v3: None
Changes in v2: None

 conf/machine/include/imx-base.inc                  | 14 +++++++-------
 recipes-graphics/imx-dpu-g2d/imx-dpu-g2d_1.4.2.bb  |  4 +++-
 .../imx-gpu-g2d/imx-gpu-g2d_6.2.4.p1.2.bb          |  4 +++-
 3 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc
index 2e8f03a6..2bf79541 100644
--- a/conf/machine/include/imx-base.inc
+++ b/conf/machine/include/imx-base.inc
@@ -59,17 +59,17 @@ DEFAULTTUNE_vf ?= "cortexa5thf-neon"
 INHERIT += "machine-overrides-extender"
 
 MACHINEOVERRIDES_EXTENDER_mx25   = "use-mainline-bsp"
-MACHINEOVERRIDES_EXTENDER_mx6q   = "imxipu:imxvpu:imxgpu2d:imxgpu3d"
-MACHINEOVERRIDES_EXTENDER_mx6dl  = "imxpxp:imxipu:imxvpu:imxgpu2d:imxgpu3d:imxepdc"
-MACHINEOVERRIDES_EXTENDER_mx6sx  = "imxpxp:imxgpu2d:imxgpu3d"
-MACHINEOVERRIDES_EXTENDER_mx6sl  = "imxpxp:imxgpu2d:imxepdc"
+MACHINEOVERRIDES_EXTENDER_mx6q   = "imxipu:imxvpu:imxgpu2d:imxdpublit:imxgpu3d"
+MACHINEOVERRIDES_EXTENDER_mx6dl  = "imxpxp:imxipu:imxvpu:imxgpu2d:imxdpublit:imxgpu3d:imxepdc"
+MACHINEOVERRIDES_EXTENDER_mx6sx  = "imxpxp:imxgpu2d:imxdpublit:imxgpu3d"
+MACHINEOVERRIDES_EXTENDER_mx6sl  = "imxpxp:imxgpu2d:imxdpublit:imxepdc"
 MACHINEOVERRIDES_EXTENDER_mx6sll = "imxpxp:imxepdc"
 MACHINEOVERRIDES_EXTENDER_mx6ul  = "imxpxp"
 MACHINEOVERRIDES_EXTENDER_mx6ull = "imxpxp:imxepdc"
 MACHINEOVERRIDES_EXTENDER_mx7d   = "imxpxp:imxepdc"
-MACHINEOVERRIDES_EXTENDER_mx7ulp = "imxpxp:imxgpu2d:imxgpu3d"
-MACHINEOVERRIDES_EXTENDER_mx8mq  = "imxvpu:imxgpu3d"
-MACHINEOVERRIDES_EXTENDER_mx8mm  = "imxvpu:imxgpu2d:imxgpu3d"
+MACHINEOVERRIDES_EXTENDER_mx7ulp = "imxpxp:imxgpu2d:imxdpublit:imxgpu3d"
+MACHINEOVERRIDES_EXTENDER_mx8mq  = "imxvpu:imxdpu:imxgpu3d"
+MACHINEOVERRIDES_EXTENDER_mx8mm  = "imxvpu:imxgpu2d:imxdpu:imxgpu3d"
 
 MACHINEOVERRIDES_EXTENDER_FILTER_OUT_use-mainline-bsp = " \
     mx6 \
diff --git a/recipes-graphics/imx-dpu-g2d/imx-dpu-g2d_1.4.2.bb b/recipes-graphics/imx-dpu-g2d/imx-dpu-g2d_1.4.2.bb
index dd3aa9dd..9a89fa66 100644
--- a/recipes-graphics/imx-dpu-g2d/imx-dpu-g2d_1.4.2.bb
+++ b/recipes-graphics/imx-dpu-g2d/imx-dpu-g2d_1.4.2.bb
@@ -34,4 +34,6 @@ INSANE_SKIP_${PN} += "ldflags"
 FILES_${PN} = "${libdir}/libg2d* /opt"
 FILES_${PN}-dev = "${libdir}/libg2d${SOLIBSDEV} ${includedir}"
 
-COMPATIBLE_MACHINE = "(mx8mm)"
+# Compatible only with i.MX DPU
+COMPATIBLE_MACHINE = "(^$)"
+COMPATIBLE_MACHINE_imxdpu = "${MACHINE}"
diff --git a/recipes-graphics/imx-gpu-g2d/imx-gpu-g2d_6.2.4.p1.2.bb b/recipes-graphics/imx-gpu-g2d/imx-gpu-g2d_6.2.4.p1.2.bb
index eab1d31b..a4dbe4e3 100644
--- a/recipes-graphics/imx-gpu-g2d/imx-gpu-g2d_6.2.4.p1.2.bb
+++ b/recipes-graphics/imx-gpu-g2d/imx-gpu-g2d_6.2.4.p1.2.bb
@@ -35,4 +35,6 @@ FILES_${PN} = "${libdir}/libg2d* /opt"
 FILES_${PN}-dev = "${includedir}"
 INSANE_SKIP_${PN} = "ldflags"
 
-COMPATIBLE_MACHINE = "(mx6|mx7ulp)"
+# Compatible only with i.MX DPU-blit
+COMPATIBLE_MACHINE = "(^$)"
+COMPATIBLE_MACHINE_imxdpublit = "${MACHINE}"
-- 
2.18.0



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

* [PATCH v3 06/19] imx-base.inc: Add imxgpu to MACHINEOVERRIDES_EXTENDER
  2018-06-27 12:30 [PATCH v3 01/19] mesa: Cleanup Otavio Salvador
                   ` (3 preceding siblings ...)
  2018-06-27 12:30 ` [PATCH v3 05/19] imx-base.inc: Add imxdpu and imxdpublit to MACHINEOVERRIDES_EXTENDER Otavio Salvador
@ 2018-06-27 12:30 ` Otavio Salvador
  2018-06-27 12:30 ` [PATCH v3 07/19] mesa-demos: Fix i.MX 8M configuration Otavio Salvador
                   ` (12 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: Otavio Salvador @ 2018-06-27 12:30 UTC (permalink / raw)
  To: meta-freescale Mailing List; +Cc: Otavio Salvador

From: Tom Hochstein <tom.hochstein@nxp.com>

Add imxgpu to simplify the conditional for imxgpu2d OR
imxgpu3d. Note that i.MX 8MQ has no 2D, so the previous
idiom of using imxgpu2d to mean any GPU is no longer correct.

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---

Changes in v3: None
Changes in v2: None

 conf/machine/include/imx-base.inc | 32 +++++++++++++++----------------
 1 file changed, 15 insertions(+), 17 deletions(-)

diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc
index 2bf79541..c6d3265f 100644
--- a/conf/machine/include/imx-base.inc
+++ b/conf/machine/include/imx-base.inc
@@ -59,17 +59,17 @@ DEFAULTTUNE_vf ?= "cortexa5thf-neon"
 INHERIT += "machine-overrides-extender"
 
 MACHINEOVERRIDES_EXTENDER_mx25   = "use-mainline-bsp"
-MACHINEOVERRIDES_EXTENDER_mx6q   = "imxipu:imxvpu:imxgpu2d:imxdpublit:imxgpu3d"
-MACHINEOVERRIDES_EXTENDER_mx6dl  = "imxpxp:imxipu:imxvpu:imxgpu2d:imxdpublit:imxgpu3d:imxepdc"
-MACHINEOVERRIDES_EXTENDER_mx6sx  = "imxpxp:imxgpu2d:imxdpublit:imxgpu3d"
-MACHINEOVERRIDES_EXTENDER_mx6sl  = "imxpxp:imxgpu2d:imxdpublit:imxepdc"
+MACHINEOVERRIDES_EXTENDER_mx6q   = "imxipu:imxvpu:imxgpu:imxgpu2d:imxdpublit:imxgpu3d"
+MACHINEOVERRIDES_EXTENDER_mx6dl  = "imxpxp:imxipu:imxvpu:imxgpu:imxgpu2d:imxdpublit:imxgpu3d:imxepdc"
+MACHINEOVERRIDES_EXTENDER_mx6sx  = "imxpxp:imxgpu:imxgpu2d:imxdpublit:imxgpu3d"
+MACHINEOVERRIDES_EXTENDER_mx6sl  = "imxpxp:imxgpu:imxgpu2d:imxdpublit:imxepdc"
 MACHINEOVERRIDES_EXTENDER_mx6sll = "imxpxp:imxepdc"
 MACHINEOVERRIDES_EXTENDER_mx6ul  = "imxpxp"
 MACHINEOVERRIDES_EXTENDER_mx6ull = "imxpxp:imxepdc"
 MACHINEOVERRIDES_EXTENDER_mx7d   = "imxpxp:imxepdc"
-MACHINEOVERRIDES_EXTENDER_mx7ulp = "imxpxp:imxgpu2d:imxdpublit:imxgpu3d"
-MACHINEOVERRIDES_EXTENDER_mx8mq  = "imxvpu:imxdpu:imxgpu3d"
-MACHINEOVERRIDES_EXTENDER_mx8mm  = "imxvpu:imxgpu2d:imxdpu:imxgpu3d"
+MACHINEOVERRIDES_EXTENDER_mx7ulp = "imxpxp:imxgpu:imxgpu2d:imxdpublit:imxgpu3d"
+MACHINEOVERRIDES_EXTENDER_mx8mq  = "imxvpu:imxgpu:imxdpu:imxgpu3d"
+MACHINEOVERRIDES_EXTENDER_mx8mm  = "imxvpu:imxgpu:imxgpu2d:imxdpu:imxgpu3d"
 
 MACHINEOVERRIDES_EXTENDER_FILTER_OUT_use-mainline-bsp = " \
     mx6 \
@@ -116,13 +116,10 @@ MACHINE_SOCARCH_FILTER_append_imxvpu = " \
     imx-vpuwrap \
     libimxvpuapi \
 "
-MACHINE_SOCARCH_FILTER_append_imxgpu2d = " \
+MACHINE_SOCARCH_FILTER_append_imxgpu = " \
     virtual/egl \
     virtual/mesa \
     virtual/libg2d \
-    virtual/libgl \
-    virtual/libgles1 \
-    virtual/libgles2 \
     virtual/libopenvg \
     cairo \
     gstreamer1.0-plugins-bad \
@@ -130,6 +127,11 @@ MACHINE_SOCARCH_FILTER_append_imxgpu2d = " \
     pango \
     weston \
 "
+MACHINE_SOCARCH_FILTER_append_imxgpu3d = " \
+    virtual/libgl \
+    virtual/libgles1 \
+    virtual/libgles2 \
+"
 MACHINE_SOCARCH_FILTER_append_use-mainline-bsp = " \
     virtual/egl \
     virtual/libopenvg \
@@ -197,12 +199,8 @@ MACHINE_GSTREAMER_1_0_PLUGIN_mx6ull ?= "gstreamer1.0-plugins-imx-meta"
 MACHINE_GSTREAMER_1_0_PLUGIN_mx7d ?= "gstreamer1.0-plugins-imx-meta"
 
 # Determines if the SoC has support for Vivante kernel driver
-SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT       = "0"
-SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT_mx6q  = "1"
-SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT_mx6dl = "1"
-SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT_mx6sx = "1"
-SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT_mx6sl = "1"
-SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT_mx7ulp = "1"
+SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT        = "0"
+SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT_imxgpu = "1"
 
 # Handle Vivante kernel driver setting:
 #   0 - machine does not have Vivante GPU driver support
-- 
2.18.0



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

* [PATCH v3 07/19] mesa-demos: Fix i.MX 8M configuration
  2018-06-27 12:30 [PATCH v3 01/19] mesa: Cleanup Otavio Salvador
                   ` (4 preceding siblings ...)
  2018-06-27 12:30 ` [PATCH v3 06/19] imx-base.inc: Add imxgpu " Otavio Salvador
@ 2018-06-27 12:30 ` Otavio Salvador
  2018-06-27 12:30 ` [PATCH v3 08/19] mesa-demos: Include glut for i.MX GPU Otavio Salvador
                   ` (11 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: Otavio Salvador @ 2018-06-27 12:30 UTC (permalink / raw)
  To: meta-freescale Mailing List; +Cc: Otavio Salvador

From: Tom Hochstein <tom.hochstein@nxp.com>

Use imxgpu override for GPU 2D or 3D condition

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---

Changes in v3: None
Changes in v2:
- new patch

 recipes-graphics/mesa/mesa-demos_%.bbappend | 20 +++++++-------------
 1 file changed, 7 insertions(+), 13 deletions(-)

diff --git a/recipes-graphics/mesa/mesa-demos_%.bbappend b/recipes-graphics/mesa/mesa-demos_%.bbappend
index a1c5b63d..90197424 100644
--- a/recipes-graphics/mesa/mesa-demos_%.bbappend
+++ b/recipes-graphics/mesa/mesa-demos_%.bbappend
@@ -1,24 +1,18 @@
 FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
 
-SRC_URI_append_imxgpu2d = " file://Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch \
+SRC_URI_append_imxgpu = " file://Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch \
                     file://fix-clear-build-break.patch \
                     file://Additional-eglSwapBuffer-calling-makes-wrong-throttl.patch \
                     file://Add-OpenVG-demos-to-support-wayland.patch"
 
-PACKAGECONFIG_IMX_TO_REMOVE = ""
-PACKAGECONFIG_IMX_TO_REMOVE_imxgpu2d = " \
-    ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'glu x11', '', d)} \
-    gles1 \
-    gles2 \
-"
-PACKAGECONFIG_IMX_TO_REMOVE_imxgpu3d = " \
+PACKAGECONFIG_IMX_TO_REMOVE          = ""
+PACKAGECONFIG_IMX_TO_REMOVE_imxgpu2d = "gles1 gles2"
+PACKAGECONFIG_IMX_TO_REMOVE_imxgpu3d = ""
+PACKAGECONFIG_remove        = " ${PACKAGECONFIG_IMX_TO_REMOVE}"
+PACKAGECONFIG_remove_imxgpu = " \
     ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'glu x11', '', d)} \
 "
 
-PACKAGECONFIG_IMX_TO_APPEND = ""
-PACKAGECONFIG_IMX_TO_APPEND_imxgpu2d = " \
+PACKAGECONFIG_append_imxgpu = " \
     ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland vg', '', d)} \
 "
-
-PACKAGECONFIG_remove = " ${PACKAGECONFIG_IMX_TO_REMOVE}"
-PACKAGECONFIG_append = " ${PACKAGECONFIG_IMX_TO_APPEND}"
-- 
2.18.0



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

* [PATCH v3 08/19] mesa-demos: Include glut for i.MX GPU
  2018-06-27 12:30 [PATCH v3 01/19] mesa: Cleanup Otavio Salvador
                   ` (5 preceding siblings ...)
  2018-06-27 12:30 ` [PATCH v3 07/19] mesa-demos: Fix i.MX 8M configuration Otavio Salvador
@ 2018-06-27 12:30 ` Otavio Salvador
  2018-06-27 12:30 ` [PATCH v3 09/19] weston: Set package arch for all i.MX Otavio Salvador
                   ` (10 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: Otavio Salvador @ 2018-06-27 12:30 UTC (permalink / raw)
  To: meta-freescale Mailing List; +Cc: Otavio Salvador

From: Tom Hochstein <tom.hochstein@nxp.com>

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---

Changes in v3: None
Changes in v2:
- new patch

 recipes-graphics/mesa/mesa-demos_%.bbappend | 1 +
 1 file changed, 1 insertion(+)

diff --git a/recipes-graphics/mesa/mesa-demos_%.bbappend b/recipes-graphics/mesa/mesa-demos_%.bbappend
index 90197424..843772ff 100644
--- a/recipes-graphics/mesa/mesa-demos_%.bbappend
+++ b/recipes-graphics/mesa/mesa-demos_%.bbappend
@@ -15,4 +15,5 @@ PACKAGECONFIG_remove_imxgpu = " \
 
 PACKAGECONFIG_append_imxgpu = " \
     ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland vg', '', d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES',     'x11',       'glut', '', d)} \
 "
-- 
2.18.0



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

* [PATCH v3 09/19] weston: Set package arch for all i.MX
  2018-06-27 12:30 [PATCH v3 01/19] mesa: Cleanup Otavio Salvador
                   ` (6 preceding siblings ...)
  2018-06-27 12:30 ` [PATCH v3 08/19] mesa-demos: Include glut for i.MX GPU Otavio Salvador
@ 2018-06-27 12:30 ` Otavio Salvador
  2018-06-27 12:30 ` [PATCH v3 10/19] weston: Remove 2.0 recipe Otavio Salvador
                   ` (9 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: Otavio Salvador @ 2018-06-27 12:30 UTC (permalink / raw)
  To: meta-freescale Mailing List; +Cc: Otavio Salvador

From: Tom Hochstein <tom.hochstein@nxp.com>

Weston is built from a fork for all i.MX, not just
those with GPU, so set the package arch accordingly.

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---

Changes in v3: None
Changes in v2: None

 conf/machine/include/imx-base.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc
index c6d3265f..39303e32 100644
--- a/conf/machine/include/imx-base.inc
+++ b/conf/machine/include/imx-base.inc
@@ -108,6 +108,7 @@ MACHINE_SOCARCH_SUFFIX_use-mainline-bsp = "-imx"
 MACHINE_ARCH_FILTER = "virtual/kernel"
 MACHINE_SOCARCH_FILTER_append_imx = " \
     alsa-lib \
+    weston \
 "
 MACHINE_SOCARCH_FILTER_append_imxvpu = " \
     imx-codec \
@@ -125,7 +126,6 @@ MACHINE_SOCARCH_FILTER_append_imxgpu = " \
     gstreamer1.0-plugins-bad \
     libgal-imx \
     pango \
-    weston \
 "
 MACHINE_SOCARCH_FILTER_append_imxgpu3d = " \
     virtual/libgl \
-- 
2.18.0



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

* [PATCH v3 10/19] weston: Remove 2.0 recipe
  2018-06-27 12:30 [PATCH v3 01/19] mesa: Cleanup Otavio Salvador
                   ` (7 preceding siblings ...)
  2018-06-27 12:30 ` [PATCH v3 09/19] weston: Set package arch for all i.MX Otavio Salvador
@ 2018-06-27 12:30 ` Otavio Salvador
  2018-06-27 12:30 ` [PATCH v3 11/19] weston: Copy upstream 4.0 recipe Otavio Salvador
                   ` (8 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: Otavio Salvador @ 2018-06-27 12:30 UTC (permalink / raw)
  To: meta-freescale Mailing List; +Cc: Otavio Salvador

From: Tom Hochstein <tom.hochstein@nxp.com>

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---

Changes in v3: None
Changes in v2: None

 ...figure.ac-Fix-wayland-protocols-path.patch |  29 ---
 .../weston/0001-make-error-portable.patch     |  70 -------
 ...ovide-a-default-version-that-doesn-t.patch | 174 ------------------
 .../wayland/weston/weston.desktop             |   9 -
 recipes-graphics/wayland/weston/weston.png    | Bin 2383 -> 0 bytes
 .../wayland/weston/xwayland.weston-start      |   7 -
 recipes-graphics/wayland/weston_2.0.0.bb      | 113 ------------
 .../wayland/weston_2.0.0.bbappend             |  36 ----
 8 files changed, 438 deletions(-)
 delete mode 100644 recipes-graphics/wayland/weston/0001-configure.ac-Fix-wayland-protocols-path.patch
 delete mode 100644 recipes-graphics/wayland/weston/0001-make-error-portable.patch
 delete mode 100644 recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch
 delete mode 100644 recipes-graphics/wayland/weston/weston.desktop
 delete mode 100644 recipes-graphics/wayland/weston/weston.png
 delete mode 100644 recipes-graphics/wayland/weston/xwayland.weston-start
 delete mode 100644 recipes-graphics/wayland/weston_2.0.0.bb
 delete mode 100644 recipes-graphics/wayland/weston_2.0.0.bbappend

diff --git a/recipes-graphics/wayland/weston/0001-configure.ac-Fix-wayland-protocols-path.patch b/recipes-graphics/wayland/weston/0001-configure.ac-Fix-wayland-protocols-path.patch
deleted file mode 100644
index 5f4d79c3..00000000
--- a/recipes-graphics/wayland/weston/0001-configure.ac-Fix-wayland-protocols-path.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 1cfc1434a5d385a74de593ec7601674dba39e2fe Mon Sep 17 00:00:00 2001
-From: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Date: Wed, 11 May 2016 16:16:30 +0300
-Subject: [PATCH] configure.ac: Fix wayland-protocols path
-
-The wayland-protocols directory is used during build: Fix the path
-to point to sysroot specified in recipe.
-
-Normally PKG_CONFIG_SYSROOT_DIR could be used in configure.ac but that
-breaks multilib weston as it would point to multilib sysroot when the
-(allarch) wayland-protocols is actually in the machine sysroot.
-
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Upstream-Status: Inappropriate [embedded specific]
----
- configure.ac |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -187,7 +187,7 @@ PKG_CHECK_MODULES(LIBINPUT_BACKEND, [lib
- PKG_CHECK_MODULES(COMPOSITOR, [$COMPOSITOR_MODULES])
- 
- PKG_CHECK_MODULES(WAYLAND_PROTOCOLS, [wayland-protocols >= 1.7],
--		  [ac_wayland_protocols_pkgdatadir=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`])
-+		  [ac_wayland_protocols_pkgdatadir=${WAYLAND_PROTOCOLS_SYSROOT_DIR}`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`])
- AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, $ac_wayland_protocols_pkgdatadir)
- 
- AC_ARG_ENABLE(wayland-compositor, [  --enable-wayland-compositor],,
diff --git a/recipes-graphics/wayland/weston/0001-make-error-portable.patch b/recipes-graphics/wayland/weston/0001-make-error-portable.patch
deleted file mode 100644
index e2213aca..00000000
--- a/recipes-graphics/wayland/weston/0001-make-error-portable.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From c22e90365d89346258394833cbcad03ff32b2e27 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 May 2015 20:56:00 -0700
-Subject: [PATCH weston] make error() portable
-
-error() is not posix but gnu extension so may not be available on all
-kind of systemsi e.g. musl.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Submitted
-
- configure.ac              |    2 ++
- libweston/weston-error.h  |   20 ++++++++++++++++++++
- libweston/weston-launch.c |    2 +-
- 3 files changed, 23 insertions(+), 1 deletion(-)
- create mode 100644 src/weston-error.h
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -60,6 +60,8 @@ AC_CHECK_DECL(CLOCK_MONOTONIC,[],
- 	      [[#include <time.h>]])
- AC_CHECK_HEADERS([execinfo.h])
- 
-+AC_CHECK_HEADERS([error.h])
-+
- AC_CHECK_FUNCS([mkostemp strchrnul initgroups posix_fallocate])
- 
- COMPOSITOR_MODULES="wayland-server >= $WAYLAND_PREREQ_VERSION pixman-1 >= 0.25.2"
---- /dev/null
-+++ b/libweston/weston-error.h
-@@ -0,0 +1,20 @@
-+#ifndef _WESTON_ERROR_H
-+#define _WESTON_ERROR_H
-+
-+#if defined(HAVE_ERROR_H)
-+#include <error.h>
-+#else
-+#include <err.h>
-+#include <string.h>
-+#define _weston_error(S, E, F, ...) do { \
-+	if (E) \
-+		err(S, F ": %s", ##__VA_ARGS__, strerror(E)); \
-+	else \
-+		err(S, F, ##__VA_ARGS__); \
-+} while(0)
-+
-+#define error _weston_error
-+#endif
-+
-+#endif
-+
---- a/libweston/weston-launch.c
-+++ b/libweston/weston-launch.c
-@@ -33,7 +33,6 @@
- #include <poll.h>
- #include <errno.h>
- 
--#include <error.h>
- #include <getopt.h>
- 
- #include <sys/types.h>
-@@ -59,6 +58,7 @@
- #endif
- 
- #include "weston-launch.h"
-+#include "weston-error.h"
- 
- #define DRM_MAJOR 226
- 
diff --git a/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch b/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch
deleted file mode 100644
index 70b98889..00000000
--- a/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch
+++ /dev/null
@@ -1,174 +0,0 @@
-From 8ff6ed03ec4079f32e9b34085414e57be4730e04 Mon Sep 17 00:00:00 2001
-From: Tom Hochstein <tom.hochstein@nxp.com>
-Date: Wed, 22 Feb 2017 15:53:30 +0200
-Subject: [PATCH] weston-launch: Provide a default version that doesn't require
- PAM
-
-weston-launch requires PAM for starting weston as a non-root user.
-
-Since starting weston as root is a valid use case by itself, if
-PAM is not available, provide a default version of weston-launch
-without non-root-user support.
-
-Upstream-Status: Pending
-
-Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
----
- configure.ac              |  9 +++++++--
- libweston/weston-launch.c | 20 ++++++++++++++++++++
- 2 files changed, 27 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 46cb2c7..bb45f46 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -435,13 +435,17 @@ AC_ARG_ENABLE(resize-optimization,
- AS_IF([test "x$enable_resize_optimization" = "xyes"],
-       [AC_DEFINE([USE_RESIZE_POOL], [1], [Use resize memory pool as a performance optimization])])
- 
-+AC_ARG_WITH(pam,
-+            AS_HELP_STRING([--with-pam], [Use PAM]),
-+            [use_pam=$withval], [use_pam=yes])
- AC_ARG_ENABLE(weston-launch, [  --enable-weston-launch],, enable_weston_launch=yes)
- AM_CONDITIONAL(BUILD_WESTON_LAUNCH, test x$enable_weston_launch = xyes)
--if test x$enable_weston_launch = xyes; then
-+if test x$enable_weston_launch = xyes -a x$use_pam = xyes; then
-   WESTON_SEARCH_LIBS([PAM], [pam], [pam_open_session], [have_pam=yes], [have_pam=no])
-   if test x$have_pam = xno; then
--    AC_ERROR([weston-launch requires pam])
-+    AC_ERROR([PAM support is explicitly requested, but libpam couldn't be found])
-   fi
-+  AC_DEFINE([HAVE_PAM], [1], [Define if PAM is available])
- fi
- 
- AM_CONDITIONAL(HAVE_PANGO, test "x$have_pango" = "xyes")
-@@ -701,6 +705,7 @@ AC_MSG_RESULT([
- 	Enable developer documentation	${enable_devdocs}
- 
- 	weston-launch utility		${enable_weston_launch}
-+	PAM support			${use_pam}
- 	systemd-login support		${have_systemd_login}
- 	systemd notify support		${enable_systemd_notify}
- 
-diff --git a/libweston/weston-launch.c b/libweston/weston-launch.c
-index 0491896..07e7469 100644
---- a/libweston/weston-launch.c
-+++ b/libweston/weston-launch.c
-@@ -51,7 +51,9 @@
- 
- #include <pwd.h>
- #include <grp.h>
-+#ifdef HAVE_PAM
- #include <security/pam_appl.h>
-+#endif
- 
- #ifdef HAVE_SYSTEMD_LOGIN
- #include <systemd/sd-login.h>
-@@ -93,8 +95,10 @@ drmSetMaster(int drm_fd)
- #endif
- 
- struct weston_launch {
-+#ifdef HAVE_PAM
- 	struct pam_conv pc;
- 	pam_handle_t *ph;
-+#endif
- 	int tty;
- 	int ttynr;
- 	int sock[2];
-@@ -181,6 +185,7 @@ weston_launch_allowed(struct weston_launch *wl)
- 	return false;
- }
- 
-+#ifdef HAVE_PAM
- static int
- pam_conversation_fn(int msg_count,
- 		    const struct pam_message **messages,
-@@ -221,6 +226,7 @@ setup_pam(struct weston_launch *wl)
- 
- 	return 0;
- }
-+#endif
- 
- static int
- setup_launcher_socket(struct weston_launch *wl)
-@@ -414,6 +420,7 @@ quit(struct weston_launch *wl, int status)
- 	close(wl->signalfd);
- 	close(wl->sock[0]);
- 
-+#ifdef HAVE_PAM
- 	if (wl->new_user) {
- 		err = pam_close_session(wl->ph, 0);
- 		if (err)
-@@ -421,6 +428,7 @@ quit(struct weston_launch *wl, int status)
- 				err, pam_strerror(wl->ph, err));
- 		pam_end(wl->ph, err);
- 	}
-+#endif
- 
- 	if (ioctl(wl->tty, KDSKBMUTE, 0) &&
- 	    ioctl(wl->tty, KDSKBMODE, wl->kb_mode))
-@@ -600,6 +608,7 @@ setup_session(struct weston_launch *wl, char **child_argv)
- 	setenv("HOME", wl->pw->pw_dir, 1);
- 	setenv("SHELL", wl->pw->pw_shell, 1);
- 
-+#ifdef HAVE_PAM
- 	env = pam_getenvlist(wl->ph);
- 	if (env) {
- 		for (i = 0; env[i]; ++i) {
-@@ -608,6 +617,7 @@ setup_session(struct weston_launch *wl, char **child_argv)
- 		}
- 		free(env);
- 	}
-+#endif
- 
- 	/*
- 	 * We open a new session, so it makes sense
-@@ -675,7 +685,9 @@ static void
- help(const char *name)
- {
- 	fprintf(stderr, "Usage: %s [args...] [-- [weston args..]]\n", name);
-+#ifdef HAVE_PAM
- 	fprintf(stderr, "  -u, --user      Start session as specified username\n");
-+#endif
- 	fprintf(stderr, "  -t, --tty       Start session on alternative tty\n");
- 	fprintf(stderr, "  -v, --verbose   Be verbose\n");
- 	fprintf(stderr, "  -h, --help      Display this help message\n");
-@@ -688,7 +700,9 @@ main(int argc, char *argv[])
- 	int i, c;
- 	char *tty = NULL;
- 	struct option opts[] = {
-+#ifdef HAVE_PAM
- 		{ "user",    required_argument, NULL, 'u' },
-+#endif
- 		{ "tty",     required_argument, NULL, 't' },
- 		{ "verbose", no_argument,       NULL, 'v' },
- 		{ "help",    no_argument,       NULL, 'h' },
-@@ -700,9 +714,13 @@ main(int argc, char *argv[])
- 	while ((c = getopt_long(argc, argv, "u:t::vh", opts, &i)) != -1) {
- 		switch (c) {
- 		case 'u':
-+#ifdef HAVE_PAM
- 			wl.new_user = optarg;
- 			if (getuid() != 0)
- 				error(1, 0, "Permission denied. -u allowed for root only");
-+#else
-+			error(1, 0, "-u is unsupported in this weston-launch build");
-+#endif
- 			break;
- 		case 't':
- 			tty = optarg;
-@@ -740,8 +758,10 @@ main(int argc, char *argv[])
- 	if (setup_tty(&wl, tty) < 0)
- 		exit(EXIT_FAILURE);
- 
-+#ifdef HAVE_PAM
- 	if (wl.new_user && setup_pam(&wl) < 0)
- 		exit(EXIT_FAILURE);
-+#endif
- 
- 	if (setup_launcher_socket(&wl) < 0)
- 		exit(EXIT_FAILURE);
--- 
-2.1.4
-
diff --git a/recipes-graphics/wayland/weston/weston.desktop b/recipes-graphics/wayland/weston/weston.desktop
deleted file mode 100644
index 1086ae8b..00000000
--- a/recipes-graphics/wayland/weston/weston.desktop
+++ /dev/null
@@ -1,9 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Type=Application
-Name=Weston
-Comment=Wayland Compostitor
-Exec=weston
-Icon=weston
-Terminal=false
-Categories=Utility;
diff --git a/recipes-graphics/wayland/weston/weston.png b/recipes-graphics/wayland/weston/weston.png
deleted file mode 100644
index ea8b7e0e233c86301a88e5bc925f09b3de2f9dec..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2383
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
BD_j5o

diff --git a/recipes-graphics/wayland/weston/xwayland.weston-start b/recipes-graphics/wayland/weston/xwayland.weston-start
deleted file mode 100644
index b483c97c..00000000
--- a/recipes-graphics/wayland/weston/xwayland.weston-start
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-if type Xwayland  >/dev/null 2>/dev/null; then
-	mkdir -p /tmp/.X11-unix
-
-	add_weston_argument "--modules=xwayland.so"
-fi
diff --git a/recipes-graphics/wayland/weston_2.0.0.bb b/recipes-graphics/wayland/weston_2.0.0.bb
deleted file mode 100644
index 8160f555..00000000
--- a/recipes-graphics/wayland/weston_2.0.0.bb
+++ /dev/null
@@ -1,113 +0,0 @@
-SUMMARY = "Weston, a Wayland compositor"
-DESCRIPTION = "Weston is the reference implementation of a Wayland compositor"
-HOMEPAGE = "http://wayland.freedesktop.org"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d79ee9e66bb0f95d3386a7acae780b70 \
-                    file://libweston/compositor.c;endline=26;md5=e342df749174a8ee11065583157c7a38"
-
-SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
-           file://weston.png \
-           file://weston.desktop \
-           file://0001-make-error-portable.patch \
-           file://0001-configure.ac-Fix-wayland-protocols-path.patch \
-           file://xwayland.weston-start \
-           file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \
-"
-SRC_URI[md5sum] = "15f38945942bf2a91fe2687145fb4c7d"
-SRC_URI[sha256sum] = "b4e446ac27f118196f1609dab89bb3cb3e81652d981414ad860e733b355365d8"
-
-inherit autotools pkgconfig useradd distro_features_check
-# depends on virtual/egl
-REQUIRED_DISTRO_FEATURES = "opengl"
-
-DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0 jpeg"
-DEPENDS += "wayland wayland-protocols libinput virtual/egl pango wayland-native"
-
-EXTRA_OECONF = "--enable-setuid-install \
-                --disable-rdp-compositor \
-                "
-EXTRA_OECONF_append_qemux86 = "\
-		WESTON_NATIVE_BACKEND=fbdev-backend.so \
-		"
-EXTRA_OECONF_append_qemux86-64 = "\
-		WESTON_NATIVE_BACKEND=fbdev-backend.so \
-		"
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev wayland egl', '', d)} \
-                   ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \
-                   ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd x11', d)} \
-                   clients launch"
-#
-# Compositor choices
-#
-# Weston on KMS
-PACKAGECONFIG[kms] = "--enable-drm-compositor,--disable-drm-compositor,drm udev virtual/mesa mtdev"
-# Weston on Wayland (nested Weston)
-PACKAGECONFIG[wayland] = "--enable-wayland-compositor,--disable-wayland-compositor,virtual/mesa"
-# Weston on X11
-PACKAGECONFIG[x11] = "--enable-x11-compositor,--disable-x11-compositor,virtual/libx11 libxcb libxcb libxcursor cairo"
-# Headless Weston
-PACKAGECONFIG[headless] = "--enable-headless-compositor,--disable-headless-compositor"
-# Weston on framebuffer
-PACKAGECONFIG[fbdev] = "--enable-fbdev-compositor,--disable-fbdev-compositor,udev mtdev"
-# weston-launch
-PACKAGECONFIG[launch] = "--enable-weston-launch,--disable-weston-launch,drm"
-# VA-API desktop recorder
-PACKAGECONFIG[vaapi] = "--enable-vaapi-recorder,--disable-vaapi-recorder,libva"
-# Weston with EGL support
-PACKAGECONFIG[egl] = "--enable-egl --enable-simple-egl-clients,--disable-egl --disable-simple-egl-clients,virtual/egl"
-# Weston with cairo glesv2 support
-PACKAGECONFIG[cairo-glesv2] = "--with-cairo-glesv2,--with-cairo=image,cairo"
-# Weston with lcms support
-PACKAGECONFIG[lcms] = "--enable-lcms,--disable-lcms,lcms"
-# Weston with webp support
-PACKAGECONFIG[webp] = "--with-webp,--without-webp,libwebp"
-# Weston with unwinding support
-PACKAGECONFIG[libunwind] = "--enable-libunwind,--disable-libunwind,libunwind"
-# Weston with systemd-login support
-PACKAGECONFIG[systemd] = "--enable-systemd-login,--disable-systemd-login,systemd dbus"
-# Weston with Xwayland support (requires X11 and Wayland)
-PACKAGECONFIG[xwayland] = "--enable-xwayland,--disable-xwayland"
-# colord CMS support
-PACKAGECONFIG[colord] = "--enable-colord,--disable-colord,colord"
-# Clients support
-PACKAGECONFIG[clients] = "--enable-clients --enable-simple-clients --enable-demo-clients-install,--disable-clients --disable-simple-clients"
-# Weston with PAM support
-PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam"
-
-do_install_append() {
-	# Weston doesn't need the .la files to load modules, so wipe them
-	rm -f ${D}/${libdir}/libweston-2/*.la
-
-	# If X11, ship a desktop file to launch it
-	if [ "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" ]; then
-		install -d ${D}${datadir}/applications
-		install ${WORKDIR}/weston.desktop ${D}${datadir}/applications
-
-		install -d ${D}${datadir}/icons/hicolor/48x48/apps
-		install ${WORKDIR}/weston.png ${D}${datadir}/icons/hicolor/48x48/apps
-	fi
-
-	if [ "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'yes', 'no', d)}" = "yes" ]; then
-		install -Dm 644 ${WORKDIR}/xwayland.weston-start ${D}${datadir}/weston-start/xwayland
-	fi
-}
-
-PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', '${PN}-xwayland', '', d)} \
-             libweston-2 ${PN}-examples"
-
-FILES_${PN} = "${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${libdir}/${BPN}/*.so ${datadir}"
-
-FILES_libweston-2 = "${libdir}/lib*${SOLIBS} ${libdir}/libweston-2/*.so"
-SUMMARY_libweston-2 = "Helper library for implementing 'wayland window managers'."
-
-FILES_${PN}-examples = "${bindir}/*"
-
-FILES_${PN}-xwayland = "${libdir}/libweston-2/xwayland.so"
-RDEPENDS_${PN}-xwayland += "xserver-xorg-xwayland"
-
-RDEPENDS_${PN} += "xkeyboard-config"
-RRECOMMENDS_${PN} = "liberation-fonts"
-RRECOMMENDS_${PN}-dev += "wayland-protocols"
-
-USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "--system weston-launch"
diff --git a/recipes-graphics/wayland/weston_2.0.0.bbappend b/recipes-graphics/wayland/weston_2.0.0.bbappend
deleted file mode 100644
index 7d0e589d..00000000
--- a/recipes-graphics/wayland/weston_2.0.0.bbappend
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY_append = " (with i.MX support)"
-
-DEPENDS_append_imxgpu2d = " virtual/libg2d"
-
-# Use i.MX fork of weston for customizations.
-SRC_URI_remove_imxgpu2d = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz"
-SRC_URI_prepend_imxgpu2d = "git://source.codeaurora.org/external/imx/weston-imx.git;protocol=https;branch=weston-imx-2.0 "
-SRCREV_imxgpu2d = "506dc2d69b7cf7b7e7d1ea94ce29c8203215a67e"
-S_imxgpu2d = "${WORKDIR}/git"
-
-# Define RECIPE_SYSROOT since it doesn't exist in morty
-# for this backported recipe
-RECIPE_SYSROOT = "${STAGING_DIR}/${MACHINE}"
-
-EXTRA_OECONF_IMX_COMMON = "WESTON_NATIVE_BACKEND=fbdev-backend.so"
-EXTRA_OECONF_IMX          = ""
-EXTRA_OECONF_IMX_imxpxp   = "${EXTRA_OECONF_IMX_COMMON}"
-EXTRA_OECONF_IMX_imxgpu2d = "${EXTRA_OECONF_IMX_COMMON}"
-EXTRA_OECONF_append = " ${EXTRA_OECONF_IMX}"
-
-# Disable OpenGL for parts with GPU support for 2D but not 3D
-IMX_REQUIRED_DISTRO_FEATURES_REMOVE          = ""
-IMX_REQUIRED_DISTRO_FEATURES_REMOVE_imxgpu2d = "opengl"
-IMX_REQUIRED_DISTRO_FEATURES_REMOVE_imxgpu3d = ""
-REQUIRED_DISTRO_FEATURES_remove = "${IMX_REQUIRED_DISTRO_FEATURES_REMOVE}"
-IMX_EXTRA_OECONF_OPENGL          = ""
-IMX_EXTRA_OECONF_OPENGL_imxgpu2d = " --disable-opengl"
-IMX_EXTRA_OECONF_OPENGL_imxgpu3d = ""
-EXTRA_OECONF_append = "${IMX_EXTRA_OECONF_OPENGL}"
-
-PACKAGECONFIG_append_imxgpu3d = " cairo-glesv2"
-
-# Append EGL_CFLAGS to CFLAGS for imxgpu2d
-CFLAGS_append_imxgpu2d = "-DLINUX -DEGL_API_FB -DWL_EGL_PLATFORM"
-
-RDEPENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-loginuid', '', d)}"
-- 
2.18.0



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

* [PATCH v3 11/19] weston: Copy upstream 4.0 recipe
  2018-06-27 12:30 [PATCH v3 01/19] mesa: Cleanup Otavio Salvador
                   ` (8 preceding siblings ...)
  2018-06-27 12:30 ` [PATCH v3 10/19] weston: Remove 2.0 recipe Otavio Salvador
@ 2018-06-27 12:30 ` Otavio Salvador
  2018-06-27 12:30 ` [PATCH v3 12/19] weston: Use a fork for i.MX Otavio Salvador
                   ` (7 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: Otavio Salvador @ 2018-06-27 12:30 UTC (permalink / raw)
  To: meta-freescale Mailing List; +Cc: Otavio Salvador

From: Tom Hochstein <tom.hochstein@nxp.com>

http://git.yoctoproject.org/cgit.cgi/poky/tree/?h=master-next&id=d05a268c5069c3fb47ceed47862ba36b5f49ebd3

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---

Changes in v3: None
Changes in v2: None

 conf/machine/include/imx-base.inc             |   5 +-
 .../weston/0001-make-error-portable.patch     |  78 ++++++++
 ...ovide-a-default-version-that-doesn-t.patch | 173 ++++++++++++++++++
 .../wayland/weston/weston.desktop             |   9 +
 recipes-graphics/wayland/weston/weston.png    | Bin 0 -> 2383 bytes
 .../wayland/weston/xwayland.weston-start      |   7 +
 recipes-graphics/wayland/weston_4.0.0.imx.bb  | 114 ++++++++++++
 7 files changed, 384 insertions(+), 2 deletions(-)
 create mode 100644 recipes-graphics/wayland/weston/0001-make-error-portable.patch
 create mode 100644 recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch
 create mode 100644 recipes-graphics/wayland/weston/weston.desktop
 create mode 100644 recipes-graphics/wayland/weston/weston.png
 create mode 100644 recipes-graphics/wayland/weston/xwayland.weston-start
 create mode 100644 recipes-graphics/wayland/weston_4.0.0.imx.bb

diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc
index 39303e32..617ab943 100644
--- a/conf/machine/include/imx-base.inc
+++ b/conf/machine/include/imx-base.inc
@@ -250,8 +250,9 @@ PREFERRED_PROVIDER_virtual/libg2d_mx6ul = ""
 PREFERRED_PROVIDER_virtual/libg2d_mx6ull = ""
 PREFERRED_PROVIDER_virtual/libg2d_mx7ulp ?= "imx-gpu-viv"
 
-PREFERRED_VERSION_weston_mx6 ?= "2.0.0"
-PREFERRED_VERSION_weston_mx7 ?= "2.0.0"
+PREFERRED_VERSION_weston_mx6 ?= "4.0.0.imx"
+PREFERRED_VERSION_weston_mx7 ?= "4.0.0.imx"
+PREFERRED_VERSION_weston_mx8 ?= "4.0.0.imx"
 
 # Handle default kernel
 IMX_DEFAULT_KERNEL = "linux-imx"
diff --git a/recipes-graphics/wayland/weston/0001-make-error-portable.patch b/recipes-graphics/wayland/weston/0001-make-error-portable.patch
new file mode 100644
index 00000000..09ec1559
--- /dev/null
+++ b/recipes-graphics/wayland/weston/0001-make-error-portable.patch
@@ -0,0 +1,78 @@
+From ad1d2161c811cff25d1684c33611f300adb753bc Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 May 2015 20:56:00 -0700
+Subject: [PATCH] make error() portable
+
+error() is not posix but gnu extension so may not be available on all
+kind of systemsi e.g. musl.
+
+Upstream-Status: Submitted
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ configure.ac              |  2 ++
+ libweston/weston-error.h  | 20 ++++++++++++++++++++
+ libweston/weston-launch.c |  2 +-
+ 3 files changed, 23 insertions(+), 1 deletion(-)
+ create mode 100644 libweston/weston-error.h
+
+diff --git a/configure.ac b/configure.ac
+index 7aebbdb..dc9c802 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -109,6 +109,8 @@ AC_CHECK_DECL(CLOCK_MONOTONIC,[],
+ 	      [[#include <time.h>]])
+ AC_CHECK_HEADERS([execinfo.h])
+ 
++AC_CHECK_HEADERS([error.h])
++
+ AC_CHECK_FUNCS([mkostemp strchrnul initgroups posix_fallocate])
+ 
+ # check for libdrm as a build-time dependency only
+diff --git a/libweston/weston-error.h b/libweston/weston-error.h
+new file mode 100644
+index 0000000..2089d02
+--- /dev/null
++++ b/libweston/weston-error.h
+@@ -0,0 +1,20 @@
++#ifndef _WESTON_ERROR_H
++#define _WESTON_ERROR_H
++
++#if defined(HAVE_ERROR_H)
++#include <error.h>
++#else
++#include <err.h>
++#include <string.h>
++#define _weston_error(S, E, F, ...) do { \
++	if (E) \
++		err(S, F ": %s", ##__VA_ARGS__, strerror(E)); \
++	else \
++		err(S, F, ##__VA_ARGS__); \
++} while(0)
++
++#define error _weston_error
++#endif
++
++#endif
++
+diff --git a/libweston/weston-launch.c b/libweston/weston-launch.c
+index 1adcf21..166bf3b 100644
+--- a/libweston/weston-launch.c
++++ b/libweston/weston-launch.c
+@@ -33,7 +33,6 @@
+ #include <poll.h>
+ #include <errno.h>
+ 
+-#include <error.h>
+ #include <getopt.h>
+ 
+ #include <sys/types.h>
+@@ -59,6 +58,7 @@
+ #endif
+ 
+ #include "weston-launch.h"
++#include "weston-error.h"
+ 
+ #define DRM_MAJOR 226
+ 
diff --git a/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch b/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch
new file mode 100644
index 00000000..d648538b
--- /dev/null
+++ b/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch
@@ -0,0 +1,173 @@
+From b98b9dbda902225cdd972b5bff6a641c36cc7e90 Mon Sep 17 00:00:00 2001
+From: Tom Hochstein <tom.hochstein@nxp.com>
+Date: Wed, 22 Feb 2017 15:53:30 +0200
+Subject: [PATCH] weston-launch: Provide a default version that doesn't require PAM
+
+weston-launch requires PAM for starting weston as a non-root user.
+
+Since starting weston as root is a valid use case by itself, if
+PAM is not available, provide a default version of weston-launch
+without non-root-user support.
+
+Upstream-Status: Pending
+
+Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
+Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
+Signed-off-by: Denys Dmytriyenko <denys@ti.com>
+
+---
+ configure.ac              |  9 +++++++--
+ libweston/weston-launch.c | 20 ++++++++++++++++++++
+ 2 files changed, 27 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index dc9c802..48cf5cb 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -451,13 +451,17 @@ AC_ARG_ENABLE(resize-optimization,
+ AS_IF([test "x$enable_resize_optimization" = "xyes"],
+       [AC_DEFINE([USE_RESIZE_POOL], [1], [Use resize memory pool as a performance optimization])])
+ 
++AC_ARG_WITH(pam,
++            AS_HELP_STRING([--with-pam], [Use PAM]),
++            [use_pam=$withval], [use_pam=yes])
+ AC_ARG_ENABLE(weston-launch, [  --enable-weston-launch],, enable_weston_launch=yes)
+ AM_CONDITIONAL(BUILD_WESTON_LAUNCH, test x$enable_weston_launch = xyes)
+-if test x$enable_weston_launch = xyes; then
++if test x$enable_weston_launch = xyes -a x$use_pam = xyes; then
+   WESTON_SEARCH_LIBS([PAM], [pam], [pam_open_session], [have_pam=yes], [have_pam=no])
+   if test x$have_pam = xno; then
+-    AC_ERROR([weston-launch requires pam])
++    AC_ERROR([PAM support is explicitly requested, but libpam couldn't be found])
+   fi
++  AC_DEFINE([HAVE_PAM], [1], [Define if PAM is available])
+ fi
+ 
+ AM_CONDITIONAL(HAVE_PANGO, test "x$have_pango" = "xyes")
+@@ -702,6 +706,7 @@ AC_MSG_RESULT([
+ 	Enable developer documentation	${enable_devdocs}
+ 
+ 	weston-launch utility		${enable_weston_launch}
++	PAM support			${use_pam}
+ 	systemd-login support		${have_systemd_login}
+ 	systemd notify support		${enable_systemd_notify}
+ 
+diff --git a/libweston/weston-launch.c b/libweston/weston-launch.c
+index 166bf3b..6fb9232 100644
+--- a/libweston/weston-launch.c
++++ b/libweston/weston-launch.c
+@@ -51,7 +51,9 @@
+ 
+ #include <pwd.h>
+ #include <grp.h>
++#ifdef HAVE_PAM
+ #include <security/pam_appl.h>
++#endif
+ 
+ #ifdef HAVE_SYSTEMD_LOGIN
+ #include <systemd/sd-login.h>
+@@ -101,8 +103,10 @@ drmSetMaster(int drm_fd)
+ #endif
+ 
+ struct weston_launch {
++#ifdef HAVE_PAM
+ 	struct pam_conv pc;
+ 	pam_handle_t *ph;
++#endif
+ 	int tty;
+ 	int ttynr;
+ 	int sock[2];
+@@ -189,6 +193,7 @@ weston_launch_allowed(struct weston_launch *wl)
+ 	return false;
+ }
+ 
++#ifdef HAVE_PAM
+ static int
+ pam_conversation_fn(int msg_count,
+ 		    const struct pam_message **messages,
+@@ -229,6 +234,7 @@ setup_pam(struct weston_launch *wl)
+ 
+ 	return 0;
+ }
++#endif
+ 
+ static int
+ setup_launcher_socket(struct weston_launch *wl)
+@@ -422,6 +428,7 @@ quit(struct weston_launch *wl, int status)
+ 	close(wl->signalfd);
+ 	close(wl->sock[0]);
+ 
++#ifdef HAVE_PAM
+ 	if (wl->new_user) {
+ 		err = pam_close_session(wl->ph, 0);
+ 		if (err)
+@@ -429,6 +436,7 @@ quit(struct weston_launch *wl, int status)
+ 				err, pam_strerror(wl->ph, err));
+ 		pam_end(wl->ph, err);
+ 	}
++#endif
+ 
+ 	if (ioctl(wl->tty, KDSKBMUTE, 0) &&
+ 	    ioctl(wl->tty, KDSKBMODE, wl->kb_mode))
+@@ -608,6 +616,7 @@ setup_session(struct weston_launch *wl, char **child_argv)
+ 	setenv("HOME", wl->pw->pw_dir, 1);
+ 	setenv("SHELL", wl->pw->pw_shell, 1);
+ 
++#ifdef HAVE_PAM
+ 	env = pam_getenvlist(wl->ph);
+ 	if (env) {
+ 		for (i = 0; env[i]; ++i) {
+@@ -616,6 +625,7 @@ setup_session(struct weston_launch *wl, char **child_argv)
+ 		}
+ 		free(env);
+ 	}
++#endif
+ 
+ 	/*
+ 	 * We open a new session, so it makes sense
+@@ -683,8 +693,10 @@ static void
+ help(const char *name)
+ {
+ 	fprintf(stderr, "Usage: %s [args...] [-- [weston args..]]\n", name);
++#ifdef HAVE_PAM
+ 	fprintf(stderr, "  -u, --user      Start session as specified username,\n"
+ 			"                  e.g. -u joe, requires root.\n");
++#endif
+ 	fprintf(stderr, "  -t, --tty       Start session on alternative tty,\n"
+ 			"                  e.g. -t /dev/tty4, requires -u option.\n");
+ 	fprintf(stderr, "  -v, --verbose   Be verbose\n");
+@@ -698,7 +710,9 @@ main(int argc, char *argv[])
+ 	int i, c;
+ 	char *tty = NULL;
+ 	struct option opts[] = {
++#ifdef HAVE_PAM
+ 		{ "user",    required_argument, NULL, 'u' },
++#endif
+ 		{ "tty",     required_argument, NULL, 't' },
+ 		{ "verbose", no_argument,       NULL, 'v' },
+ 		{ "help",    no_argument,       NULL, 'h' },
+@@ -710,9 +724,13 @@ main(int argc, char *argv[])
+ 	while ((c = getopt_long(argc, argv, "u:t:vh", opts, &i)) != -1) {
+ 		switch (c) {
+ 		case 'u':
++#ifdef HAVE_PAM
+ 			wl.new_user = optarg;
+ 			if (getuid() != 0)
+ 				error(1, 0, "Permission denied. -u allowed for root only");
++#else
++			error(1, 0, "-u is unsupported in this weston-launch build");
++#endif
+ 			break;
+ 		case 't':
+ 			tty = optarg;
+@@ -753,8 +771,10 @@ main(int argc, char *argv[])
+ 	if (setup_tty(&wl, tty) < 0)
+ 		exit(EXIT_FAILURE);
+ 
++#ifdef HAVE_PAM
+ 	if (wl.new_user && setup_pam(&wl) < 0)
+ 		exit(EXIT_FAILURE);
++#endif
+ 
+ 	if (setup_launcher_socket(&wl) < 0)
+ 		exit(EXIT_FAILURE);
diff --git a/recipes-graphics/wayland/weston/weston.desktop b/recipes-graphics/wayland/weston/weston.desktop
new file mode 100644
index 00000000..1086ae8b
--- /dev/null
+++ b/recipes-graphics/wayland/weston/weston.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=Weston
+Comment=Wayland Compostitor
+Exec=weston
+Icon=weston
+Terminal=false
+Categories=Utility;
diff --git a/recipes-graphics/wayland/weston/weston.png b/recipes-graphics/wayland/weston/weston.png
new file mode 100644
index 0000000000000000000000000000000000000000..ea8b7e0e233c86301a88e5bc925f09b3de2f9dec
GIT binary patch
literal 2383
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
BD_j5o

literal 0
HcmV?d00001

diff --git a/recipes-graphics/wayland/weston/xwayland.weston-start b/recipes-graphics/wayland/weston/xwayland.weston-start
new file mode 100644
index 00000000..b483c97c
--- /dev/null
+++ b/recipes-graphics/wayland/weston/xwayland.weston-start
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+if type Xwayland  >/dev/null 2>/dev/null; then
+	mkdir -p /tmp/.X11-unix
+
+	add_weston_argument "--modules=xwayland.so"
+fi
diff --git a/recipes-graphics/wayland/weston_4.0.0.imx.bb b/recipes-graphics/wayland/weston_4.0.0.imx.bb
new file mode 100644
index 00000000..e78b0d91
--- /dev/null
+++ b/recipes-graphics/wayland/weston_4.0.0.imx.bb
@@ -0,0 +1,114 @@
+SUMMARY = "Weston, a Wayland compositor"
+DESCRIPTION = "Weston is the reference implementation of a Wayland compositor"
+HOMEPAGE = "http://wayland.freedesktop.org"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d79ee9e66bb0f95d3386a7acae780b70 \
+                    file://libweston/compositor.c;endline=26;md5=e342df749174a8ee11065583157c7a38"
+
+SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
+           file://weston.png \
+           file://weston.desktop \
+           file://0001-make-error-portable.patch \
+           file://xwayland.weston-start \
+           file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \
+"
+SRC_URI[md5sum] = "33709aa4d5916f89643fca0fc0064b39"
+SRC_URI[sha256sum] = "a0fc0ae7ef83dfbed12abfe9b8096a24a7dd00705e86fa0db1e619ded18b4b58"
+
+UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
+
+inherit autotools pkgconfig useradd distro_features_check
+# depends on virtual/egl
+REQUIRED_DISTRO_FEATURES = "opengl"
+
+DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0 jpeg"
+DEPENDS += "wayland wayland-protocols libinput virtual/egl pango wayland-native"
+
+WESTON_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:1])}"
+
+EXTRA_OECONF = "--enable-setuid-install \
+                --disable-rdp-compositor \
+                "
+EXTRA_OECONF_append_qemux86 = "\
+		WESTON_NATIVE_BACKEND=fbdev-backend.so \
+		"
+EXTRA_OECONF_append_qemux86-64 = "\
+		WESTON_NATIVE_BACKEND=fbdev-backend.so \
+		"
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev wayland egl', '', d)} \
+                   ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \
+                   ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd x11', d)} \
+                   clients launch"
+#
+# Compositor choices
+#
+# Weston on KMS
+PACKAGECONFIG[kms] = "--enable-drm-compositor,--disable-drm-compositor,drm udev virtual/mesa mtdev"
+# Weston on Wayland (nested Weston)
+PACKAGECONFIG[wayland] = "--enable-wayland-compositor,--disable-wayland-compositor,virtual/mesa"
+# Weston on X11
+PACKAGECONFIG[x11] = "--enable-x11-compositor,--disable-x11-compositor,virtual/libx11 libxcb libxcb libxcursor cairo"
+# Headless Weston
+PACKAGECONFIG[headless] = "--enable-headless-compositor,--disable-headless-compositor"
+# Weston on framebuffer
+PACKAGECONFIG[fbdev] = "--enable-fbdev-compositor,--disable-fbdev-compositor,udev mtdev"
+# weston-launch
+PACKAGECONFIG[launch] = "--enable-weston-launch,--disable-weston-launch,drm"
+# VA-API desktop recorder
+PACKAGECONFIG[vaapi] = "--enable-vaapi-recorder,--disable-vaapi-recorder,libva"
+# Weston with EGL support
+PACKAGECONFIG[egl] = "--enable-egl --enable-simple-egl-clients,--disable-egl --disable-simple-egl-clients,virtual/egl"
+# Weston with cairo glesv2 support
+PACKAGECONFIG[cairo-glesv2] = "--with-cairo-glesv2,--with-cairo=image,cairo"
+# Weston with lcms support
+PACKAGECONFIG[lcms] = "--enable-lcms,--disable-lcms,lcms"
+# Weston with webp support
+PACKAGECONFIG[webp] = "--with-webp,--without-webp,libwebp"
+# Weston with systemd-login support
+PACKAGECONFIG[systemd] = "--enable-systemd-login,--disable-systemd-login,systemd dbus"
+# Weston with Xwayland support (requires X11 and Wayland)
+PACKAGECONFIG[xwayland] = "--enable-xwayland,--disable-xwayland"
+# colord CMS support
+PACKAGECONFIG[colord] = "--enable-colord,--disable-colord,colord"
+# Clients support
+PACKAGECONFIG[clients] = "--enable-clients --enable-simple-clients --enable-demo-clients-install,--disable-clients --disable-simple-clients"
+# Weston with PAM support
+PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam"
+
+do_install_append() {
+	# Weston doesn't need the .la files to load modules, so wipe them
+	rm -f ${D}/${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.la
+
+	# If X11, ship a desktop file to launch it
+	if [ "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" ]; then
+		install -d ${D}${datadir}/applications
+		install ${WORKDIR}/weston.desktop ${D}${datadir}/applications
+
+		install -d ${D}${datadir}/icons/hicolor/48x48/apps
+		install ${WORKDIR}/weston.png ${D}${datadir}/icons/hicolor/48x48/apps
+	fi
+
+	if [ "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'yes', 'no', d)}" = "yes" ]; then
+		install -Dm 644 ${WORKDIR}/xwayland.weston-start ${D}${datadir}/weston-start/xwayland
+	fi
+}
+
+PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', '${PN}-xwayland', '', d)} \
+             libweston-${WESTON_MAJOR_VERSION} ${PN}-examples"
+
+FILES_${PN} = "${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${libdir}/${BPN}/*.so ${datadir}"
+
+FILES_libweston-${WESTON_MAJOR_VERSION} = "${libdir}/lib*${SOLIBS} ${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.so"
+SUMMARY_libweston-${WESTON_MAJOR_VERSION} = "Helper library for implementing 'wayland window managers'."
+
+FILES_${PN}-examples = "${bindir}/*"
+
+FILES_${PN}-xwayland = "${libdir}/libweston-${WESTON_MAJOR_VERSION}/xwayland.so"
+RDEPENDS_${PN}-xwayland += "xserver-xorg-xwayland"
+
+RDEPENDS_${PN} += "xkeyboard-config"
+RRECOMMENDS_${PN} = "liberation-fonts"
+RRECOMMENDS_${PN}-dev += "wayland-protocols"
+
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM_${PN} = "--system weston-launch"
-- 
2.18.0



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

* [PATCH v3 12/19] weston: Use a fork for i.MX
  2018-06-27 12:30 [PATCH v3 01/19] mesa: Cleanup Otavio Salvador
                   ` (9 preceding siblings ...)
  2018-06-27 12:30 ` [PATCH v3 11/19] weston: Copy upstream 4.0 recipe Otavio Salvador
@ 2018-06-27 12:30 ` Otavio Salvador
  2018-06-27 12:30 ` [PATCH v3 13/19] weston: Set configuration for non-DRM parts Otavio Salvador
                   ` (6 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: Otavio Salvador @ 2018-06-27 12:30 UTC (permalink / raw)
  To: meta-freescale Mailing List; +Cc: Otavio Salvador

From: Tom Hochstein <tom.hochstein@nxp.com>

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---

Changes in v3: None
Changes in v2: None

 recipes-graphics/wayland/weston_4.0.0.imx.bb | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/recipes-graphics/wayland/weston_4.0.0.imx.bb b/recipes-graphics/wayland/weston_4.0.0.imx.bb
index e78b0d91..9b15b596 100644
--- a/recipes-graphics/wayland/weston_4.0.0.imx.bb
+++ b/recipes-graphics/wayland/weston_4.0.0.imx.bb
@@ -1,19 +1,20 @@
-SUMMARY = "Weston, a Wayland compositor"
+SUMMARY = "Weston, a Wayland compositor, i.MX fork"
 DESCRIPTION = "Weston is the reference implementation of a Wayland compositor"
 HOMEPAGE = "http://wayland.freedesktop.org"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d79ee9e66bb0f95d3386a7acae780b70 \
                     file://libweston/compositor.c;endline=26;md5=e342df749174a8ee11065583157c7a38"
 
-SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
+SRCBRANCH = "weston-imx-4.0"
+SRC_URI = "git://source.codeaurora.org/external/imx/weston-imx.git;protocol=https;branch=${SRCBRANCH} \
            file://weston.png \
            file://weston.desktop \
            file://0001-make-error-portable.patch \
            file://xwayland.weston-start \
            file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \
 "
-SRC_URI[md5sum] = "33709aa4d5916f89643fca0fc0064b39"
-SRC_URI[sha256sum] = "a0fc0ae7ef83dfbed12abfe9b8096a24a7dd00705e86fa0db1e619ded18b4b58"
+SRCREV = "bf74309dd16d86537ff07eabf8b499cb2d25277d"
+S = "${WORKDIR}/git"
 
 UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
 
-- 
2.18.0



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

* [PATCH v3 13/19] weston: Set configuration for non-DRM parts
  2018-06-27 12:30 [PATCH v3 01/19] mesa: Cleanup Otavio Salvador
                   ` (10 preceding siblings ...)
  2018-06-27 12:30 ` [PATCH v3 12/19] weston: Use a fork for i.MX Otavio Salvador
@ 2018-06-27 12:30 ` Otavio Salvador
  2018-06-27 12:30 ` [PATCH v3 14/19] weston: Add G2D rendering support Otavio Salvador
                   ` (5 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: Otavio Salvador @ 2018-06-27 12:30 UTC (permalink / raw)
  To: meta-freescale Mailing List; +Cc: Otavio Salvador

From: Tom Hochstein <tom.hochstein@nxp.com>

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---

Changes in v3: None
Changes in v2: None

 recipes-graphics/wayland/weston_4.0.0.imx.bb | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/recipes-graphics/wayland/weston_4.0.0.imx.bb b/recipes-graphics/wayland/weston_4.0.0.imx.bb
index 9b15b596..a752cbb4 100644
--- a/recipes-graphics/wayland/weston_4.0.0.imx.bb
+++ b/recipes-graphics/wayland/weston_4.0.0.imx.bb
@@ -36,10 +36,19 @@ EXTRA_OECONF_append_qemux86 = "\
 EXTRA_OECONF_append_qemux86-64 = "\
 		WESTON_NATIVE_BACKEND=fbdev-backend.so \
 		"
+EXTRA_OECONF_append_mx6 = "\
+		WESTON_NATIVE_BACKEND=fbdev-backend.so \
+		"
+EXTRA_OECONF_append_mx7 = "\
+		WESTON_NATIVE_BACKEND=fbdev-backend.so \
+		"
 PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev wayland egl', '', d)} \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \
                    ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd x11', d)} \
                    clients launch"
+# drm is not supported on mx6/mx7
+PACKAGECONFIG_remove_mx6 = "kms"
+PACKAGECONFIG_remove_mx7 = "kms"
 #
 # Compositor choices
 #
-- 
2.18.0



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

* [PATCH v3 14/19] weston: Add G2D rendering support
  2018-06-27 12:30 [PATCH v3 01/19] mesa: Cleanup Otavio Salvador
                   ` (11 preceding siblings ...)
  2018-06-27 12:30 ` [PATCH v3 13/19] weston: Set configuration for non-DRM parts Otavio Salvador
@ 2018-06-27 12:30 ` Otavio Salvador
  2018-06-27 12:30 ` [PATCH v3 15/19] weston: Use cairo for parts with 3D GPU Otavio Salvador
                   ` (4 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: Otavio Salvador @ 2018-06-27 12:30 UTC (permalink / raw)
  To: meta-freescale Mailing List; +Cc: Otavio Salvador

From: Tom Hochstein <tom.hochstein@nxp.com>

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---

Changes in v3: None
Changes in v2: None

 recipes-graphics/wayland/weston_4.0.0.imx.bb | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/recipes-graphics/wayland/weston_4.0.0.imx.bb b/recipes-graphics/wayland/weston_4.0.0.imx.bb
index a752cbb4..4d366ce9 100644
--- a/recipes-graphics/wayland/weston_4.0.0.imx.bb
+++ b/recipes-graphics/wayland/weston_4.0.0.imx.bb
@@ -49,6 +49,7 @@ PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev
 # drm is not supported on mx6/mx7
 PACKAGECONFIG_remove_mx6 = "kms"
 PACKAGECONFIG_remove_mx7 = "kms"
+PACKAGECONFIG_append_imxgpu2d = " imxg2d"
 #
 # Compositor choices
 #
@@ -84,6 +85,8 @@ PACKAGECONFIG[colord] = "--enable-colord,--disable-colord,colord"
 PACKAGECONFIG[clients] = "--enable-clients --enable-simple-clients --enable-demo-clients-install,--disable-clients --disable-simple-clients"
 # Weston with PAM support
 PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam"
+# Weston with i.MX G2D renderer
+PACKAGECONFIG[imxg2d] = "--enable-imxg2d,--disable-imxg2d,virtual/libg2d"
 
 do_install_append() {
 	# Weston doesn't need the .la files to load modules, so wipe them
-- 
2.18.0



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

* [PATCH v3 15/19] weston: Use cairo for parts with 3D GPU
  2018-06-27 12:30 [PATCH v3 01/19] mesa: Cleanup Otavio Salvador
                   ` (12 preceding siblings ...)
  2018-06-27 12:30 ` [PATCH v3 14/19] weston: Add G2D rendering support Otavio Salvador
@ 2018-06-27 12:30 ` Otavio Salvador
  2018-06-27 12:30 ` [PATCH v3 16/19] weston: Remove OpenGL requirement for i.MX 6SL Otavio Salvador
                   ` (3 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: Otavio Salvador @ 2018-06-27 12:30 UTC (permalink / raw)
  To: meta-freescale Mailing List; +Cc: Otavio Salvador

From: Tom Hochstein <tom.hochstein@nxp.com>

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---

Changes in v3: None
Changes in v2: None

 recipes-graphics/wayland/weston_4.0.0.imx.bb | 1 +
 1 file changed, 1 insertion(+)

diff --git a/recipes-graphics/wayland/weston_4.0.0.imx.bb b/recipes-graphics/wayland/weston_4.0.0.imx.bb
index 4d366ce9..5028cc11 100644
--- a/recipes-graphics/wayland/weston_4.0.0.imx.bb
+++ b/recipes-graphics/wayland/weston_4.0.0.imx.bb
@@ -50,6 +50,7 @@ PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev
 PACKAGECONFIG_remove_mx6 = "kms"
 PACKAGECONFIG_remove_mx7 = "kms"
 PACKAGECONFIG_append_imxgpu2d = " imxg2d"
+PACKAGECONFIG_append_imxgpu3d = " cairo-glesv2"
 #
 # Compositor choices
 #
-- 
2.18.0



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

* [PATCH v3 16/19] weston: Remove OpenGL requirement for i.MX 6SL
  2018-06-27 12:30 [PATCH v3 01/19] mesa: Cleanup Otavio Salvador
                   ` (13 preceding siblings ...)
  2018-06-27 12:30 ` [PATCH v3 15/19] weston: Use cairo for parts with 3D GPU Otavio Salvador
@ 2018-06-27 12:30 ` Otavio Salvador
  2018-06-27 12:30 ` [PATCH v3 17/19] weston-init: " Otavio Salvador
                   ` (2 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: Otavio Salvador @ 2018-06-27 12:30 UTC (permalink / raw)
  To: meta-freescale Mailing List; +Cc: Otavio Salvador

From: Tom Hochstein <tom.hochstein@nxp.com>

OpenGL is not required for parts with 2D GPU
but no 3D GPU.

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---

Changes in v3: None
Changes in v2: None

 recipes-graphics/wayland/weston_4.0.0.imx.bb | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/recipes-graphics/wayland/weston_4.0.0.imx.bb b/recipes-graphics/wayland/weston_4.0.0.imx.bb
index 5028cc11..d656aa25 100644
--- a/recipes-graphics/wayland/weston_4.0.0.imx.bb
+++ b/recipes-graphics/wayland/weston_4.0.0.imx.bb
@@ -19,8 +19,10 @@ S = "${WORKDIR}/git"
 UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
 
 inherit autotools pkgconfig useradd distro_features_check
-# depends on virtual/egl
-REQUIRED_DISTRO_FEATURES = "opengl"
+# Disable OpenGL for parts with GPU support for 2D but not 3D
+REQUIRED_DISTRO_FEATURES          = "opengl"
+REQUIRED_DISTRO_FEATURES_imxgpu2d = ""
+REQUIRED_DISTRO_FEATURES_imxgpu3d = "opengl"
 
 DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0 jpeg"
 DEPENDS += "wayland wayland-protocols libinput virtual/egl pango wayland-native"
@@ -44,7 +46,7 @@ EXTRA_OECONF_append_mx7 = "\
 		"
 PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev wayland egl', '', d)} \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \
-                   ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd x11', d)} \
+                   ${@bb.utils.filter('DISTRO_FEATURES', 'opengl pam systemd x11', d)} \
                    clients launch"
 # drm is not supported on mx6/mx7
 PACKAGECONFIG_remove_mx6 = "kms"
@@ -88,6 +90,8 @@ PACKAGECONFIG[clients] = "--enable-clients --enable-simple-clients --enable-demo
 PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam"
 # Weston with i.MX G2D renderer
 PACKAGECONFIG[imxg2d] = "--enable-imxg2d,--disable-imxg2d,virtual/libg2d"
+# Weston with OpenGL support
+PACKAGECONFIG[opengl] = "--enable-opengl,--disable-opengl"
 
 do_install_append() {
 	# Weston doesn't need the .la files to load modules, so wipe them
-- 
2.18.0



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

* [PATCH v3 17/19] weston-init: Remove OpenGL requirement for i.MX 6SL
  2018-06-27 12:30 [PATCH v3 01/19] mesa: Cleanup Otavio Salvador
                   ` (14 preceding siblings ...)
  2018-06-27 12:30 ` [PATCH v3 16/19] weston: Remove OpenGL requirement for i.MX 6SL Otavio Salvador
@ 2018-06-27 12:30 ` Otavio Salvador
  2018-06-27 12:31 ` [PATCH v3 18/19] weston-init: Fix inoperable Weston desktop Otavio Salvador
  2018-06-27 12:31 ` [PATCH v3 19/19] imx-base.inc: Add imxfbdev and imxdrm to MACHINEOVERRIDES_EXTENDER Otavio Salvador
  17 siblings, 0 replies; 19+ messages in thread
From: Otavio Salvador @ 2018-06-27 12:30 UTC (permalink / raw)
  To: meta-freescale Mailing List; +Cc: Otavio Salvador

From: Tom Hochstein <tom.hochstein@nxp.com>

For parts with 2D GPU but not 3D GPU, OpenGL is not required.

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---

Changes in v3: None
Changes in v2: None

 recipes-graphics/wayland/weston-init.bbappend | 5 +++++
 1 file changed, 5 insertions(+)
 create mode 100644 recipes-graphics/wayland/weston-init.bbappend

diff --git a/recipes-graphics/wayland/weston-init.bbappend b/recipes-graphics/wayland/weston-init.bbappend
new file mode 100644
index 00000000..ce1482d9
--- /dev/null
+++ b/recipes-graphics/wayland/weston-init.bbappend
@@ -0,0 +1,5 @@
+# OpenGL is not required for parts with GPU support for 2D but not 3D
+IMX_REQUIRED_DISTRO_FEATURES_REMOVE          = ""
+IMX_REQUIRED_DISTRO_FEATURES_REMOVE_imxgpu2d = "opengl"
+IMX_REQUIRED_DISTRO_FEATURES_REMOVE_imxgpu3d = ""
+REQUIRED_DISTRO_FEATURES_remove = "${IMX_REQUIRED_DISTRO_FEATURES_REMOVE}"
-- 
2.18.0



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

* [PATCH v3 18/19] weston-init: Fix inoperable Weston desktop
  2018-06-27 12:30 [PATCH v3 01/19] mesa: Cleanup Otavio Salvador
                   ` (15 preceding siblings ...)
  2018-06-27 12:30 ` [PATCH v3 17/19] weston-init: " Otavio Salvador
@ 2018-06-27 12:31 ` Otavio Salvador
  2018-06-27 12:31 ` [PATCH v3 19/19] imx-base.inc: Add imxfbdev and imxdrm to MACHINEOVERRIDES_EXTENDER Otavio Salvador
  17 siblings, 0 replies; 19+ messages in thread
From: Otavio Salvador @ 2018-06-27 12:31 UTC (permalink / raw)
  To: meta-freescale Mailing List; +Cc: Otavio Salvador

From: Tom Hochstein <tom.hochstein@nxp.com>

For an image configured with pam and systemd, Weston apps
would fail to run. For example:

$ weston-terminal
failed to connect to Wayland display: No such file or directory
failed to create display: No such file or directory

This fix is based on a proposal by Daniel Diaz to OE-core. The
main part of the fix is the use of a new, manually created tty.

The original proposal called weston directly, but that didn't
seem to work where weston-launch did.

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---

Changes in v3: None
Changes in v2: None

 recipes-graphics/wayland/weston-init.bbappend | 20 ++++++++++
 .../wayland/weston-init/imxdrm/weston.config  |  3 ++
 .../wayland/weston-init/mx8mm/weston.config   |  3 ++
 .../wayland/weston-init/weston.config         |  2 +
 .../wayland/weston-init/weston.service        | 38 +++++++++++++++++++
 5 files changed, 66 insertions(+)
 create mode 100644 recipes-graphics/wayland/weston-init/imxdrm/weston.config
 create mode 100644 recipes-graphics/wayland/weston-init/mx8mm/weston.config
 create mode 100644 recipes-graphics/wayland/weston-init/weston.config
 create mode 100644 recipes-graphics/wayland/weston-init/weston.service

diff --git a/recipes-graphics/wayland/weston-init.bbappend b/recipes-graphics/wayland/weston-init.bbappend
index ce1482d9..76aadf94 100644
--- a/recipes-graphics/wayland/weston-init.bbappend
+++ b/recipes-graphics/wayland/weston-init.bbappend
@@ -1,5 +1,25 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
 # OpenGL is not required for parts with GPU support for 2D but not 3D
 IMX_REQUIRED_DISTRO_FEATURES_REMOVE          = ""
 IMX_REQUIRED_DISTRO_FEATURES_REMOVE_imxgpu2d = "opengl"
 IMX_REQUIRED_DISTRO_FEATURES_REMOVE_imxgpu3d = ""
 REQUIRED_DISTRO_FEATURES_remove = "${IMX_REQUIRED_DISTRO_FEATURES_REMOVE}"
+
+SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd wayland x11', 'file://weston.config', '', d)}"
+
+HAS_SYSTEMD = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}"
+HAS_XWAYLAND = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland x11', 'true', 'false', d)}"
+
+do_install_append() {
+    if ${HAS_SYSTEMD}; then
+        sed -i \
+            -e 's,/usr/bin,${bindir},g' \
+            -e 's,/etc,${sysconfdir},g' \
+            -e 's,/var,${localstatedir},g' \
+            ${D}${systemd_system_unitdir}/weston.service
+        if ${HAS_XWAYLAND}; then
+            install -Dm0755 ${WORKDIR}/weston.config ${D}${sysconfdir}/default/weston
+        fi
+    fi
+}
diff --git a/recipes-graphics/wayland/weston-init/imxdrm/weston.config b/recipes-graphics/wayland/weston-init/imxdrm/weston.config
new file mode 100644
index 00000000..5693d6cb
--- /dev/null
+++ b/recipes-graphics/wayland/weston-init/imxdrm/weston.config
@@ -0,0 +1,3 @@
+#!/bin/sh
+OPTARGS="--xwayland"
+DESKTOP_SHELL_WINDOW=1920x1080
diff --git a/recipes-graphics/wayland/weston-init/mx8mm/weston.config b/recipes-graphics/wayland/weston-init/mx8mm/weston.config
new file mode 100644
index 00000000..eb990e40
--- /dev/null
+++ b/recipes-graphics/wayland/weston-init/mx8mm/weston.config
@@ -0,0 +1,3 @@
+#!/bin/sh
+OPTARGS="--xwayland --use-g2d=1"
+DESKTOP_SHELL_WINDOW=1920x1080
diff --git a/recipes-graphics/wayland/weston-init/weston.config b/recipes-graphics/wayland/weston-init/weston.config
new file mode 100644
index 00000000..7c92cf11
--- /dev/null
+++ b/recipes-graphics/wayland/weston-init/weston.config
@@ -0,0 +1,2 @@
+#!/bin/sh
+OPTARGS="--xwayland"
diff --git a/recipes-graphics/wayland/weston-init/weston.service b/recipes-graphics/wayland/weston-init/weston.service
new file mode 100644
index 00000000..44c5a82f
--- /dev/null
+++ b/recipes-graphics/wayland/weston-init/weston.service
@@ -0,0 +1,38 @@
+[Unit]
+Description=Weston Wayland Compositor (on tty7)
+RequiresMountsFor=/run
+Conflicts=getty@tty7.service plymouth-quit.service
+After=systemd-user-sessions.service getty@tty7.service plymouth-quit-wait.service
+
+[Service]
+User=root
+PermissionsStartOnly=true
+
+# Log us in via PAM so we get our XDG & co. environment and
+# are treated as logged in so we can use the tty:
+PAMName=login
+
+# Grab tty7
+UtmpIdentifier=tty7
+TTYPath=/dev/tty7
+TTYReset=yes
+TTYVHangup=yes
+TTYVTDisallocate=yes
+
+# stderr to journal so our logging doesn't get thrown into /dev/null
+StandardOutput=tty
+StandardInput=tty
+StandardError=journal
+
+EnvironmentFile=-/etc/default/weston
+
+# Weston does not successfully change VT, nor does systemd place us on
+# the VT it just activated for us. Switch manually:
+ExecStartPre=/usr/bin/chvt 7
+ExecStart=/usr/bin/weston-launch -- --log=/var/log/weston.log $OPTARGS
+
+IgnoreSIGPIPE=no
+
+[Install]
+WantedBy=multi-user.target
+
-- 
2.18.0



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

* [PATCH v3 19/19] imx-base.inc: Add imxfbdev and imxdrm to MACHINEOVERRIDES_EXTENDER
  2018-06-27 12:30 [PATCH v3 01/19] mesa: Cleanup Otavio Salvador
                   ` (16 preceding siblings ...)
  2018-06-27 12:31 ` [PATCH v3 18/19] weston-init: Fix inoperable Weston desktop Otavio Salvador
@ 2018-06-27 12:31 ` Otavio Salvador
  17 siblings, 0 replies; 19+ messages in thread
From: Otavio Salvador @ 2018-06-27 12:31 UTC (permalink / raw)
  To: meta-freescale Mailing List; +Cc: Otavio Salvador

From: Tom Hochstein <tom.hochstein@nxp.com>

- weston uses the imxfbdev override for backend configuration
- imx-gpu-viv uses the imxdrm override for dependency configuration

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---

Changes in v3: None
Changes in v2: None

 conf/machine/include/imx-base.inc             | 22 +++++++++----------
 .../imx-gpu-viv/imx-gpu-viv-6.inc             |  2 +-
 recipes-graphics/wayland/weston_4.0.0.imx.bb  |  9 ++------
 3 files changed, 14 insertions(+), 19 deletions(-)

diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc
index 617ab943..b47dc3a2 100644
--- a/conf/machine/include/imx-base.inc
+++ b/conf/machine/include/imx-base.inc
@@ -59,17 +59,17 @@ DEFAULTTUNE_vf ?= "cortexa5thf-neon"
 INHERIT += "machine-overrides-extender"
 
 MACHINEOVERRIDES_EXTENDER_mx25   = "use-mainline-bsp"
-MACHINEOVERRIDES_EXTENDER_mx6q   = "imxipu:imxvpu:imxgpu:imxgpu2d:imxdpublit:imxgpu3d"
-MACHINEOVERRIDES_EXTENDER_mx6dl  = "imxpxp:imxipu:imxvpu:imxgpu:imxgpu2d:imxdpublit:imxgpu3d:imxepdc"
-MACHINEOVERRIDES_EXTENDER_mx6sx  = "imxpxp:imxgpu:imxgpu2d:imxdpublit:imxgpu3d"
-MACHINEOVERRIDES_EXTENDER_mx6sl  = "imxpxp:imxgpu:imxgpu2d:imxdpublit:imxepdc"
-MACHINEOVERRIDES_EXTENDER_mx6sll = "imxpxp:imxepdc"
-MACHINEOVERRIDES_EXTENDER_mx6ul  = "imxpxp"
-MACHINEOVERRIDES_EXTENDER_mx6ull = "imxpxp:imxepdc"
-MACHINEOVERRIDES_EXTENDER_mx7d   = "imxpxp:imxepdc"
-MACHINEOVERRIDES_EXTENDER_mx7ulp = "imxpxp:imxgpu:imxgpu2d:imxdpublit:imxgpu3d"
-MACHINEOVERRIDES_EXTENDER_mx8mq  = "imxvpu:imxgpu:imxdpu:imxgpu3d"
-MACHINEOVERRIDES_EXTENDER_mx8mm  = "imxvpu:imxgpu:imxgpu2d:imxdpu:imxgpu3d"
+MACHINEOVERRIDES_EXTENDER_mx6q   = "imxfbdev:imxipu:imxvpu:imxgpu:imxgpu2d:imxdpublit:imxgpu3d"
+MACHINEOVERRIDES_EXTENDER_mx6dl  = "imxfbdev:imxpxp:imxipu:imxvpu:imxgpu:imxgpu2d:imxdpublit:imxgpu3d:imxepdc"
+MACHINEOVERRIDES_EXTENDER_mx6sx  = "imxfbdev:imxpxp:imxgpu:imxgpu2d:imxdpublit:imxgpu3d"
+MACHINEOVERRIDES_EXTENDER_mx6sl  = "imxfbdev:imxpxp:imxgpu:imxgpu2d:imxdpublit:imxepdc"
+MACHINEOVERRIDES_EXTENDER_mx6sll = "imxfbdev:imxpxp:imxepdc"
+MACHINEOVERRIDES_EXTENDER_mx6ul  = "imxfbdev:imxpxp"
+MACHINEOVERRIDES_EXTENDER_mx6ull = "imxfbdev:imxpxp:imxepdc"
+MACHINEOVERRIDES_EXTENDER_mx7d   = "imxfbdev:imxpxp:imxepdc"
+MACHINEOVERRIDES_EXTENDER_mx7ulp = "imxfbdev:imxpxp:imxgpu:imxgpu2d:imxdpublit:imxgpu3d"
+MACHINEOVERRIDES_EXTENDER_mx8mq  = "imxdrm:imxvpu:imxgpu:imxdpu:imxgpu3d"
+MACHINEOVERRIDES_EXTENDER_mx8mm  = "imxdrm:imxvpu:imxgpu:imxgpu2d:imxdpu:imxgpu3d"
 
 MACHINEOVERRIDES_EXTENDER_FILTER_OUT_use-mainline-bsp = " \
     mx6 \
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 da5bae46..f23763d3 100644
--- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc
+++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc
@@ -16,7 +16,7 @@ DEPENDS += " \
     ${@bb.utils.contains('DISTRO_FEATURES',     'x11', 'libxcb libxshmfence libxxf86vm', \
                                                        '', d)} \
 "
-DEPENDS_append_mx8 = " libdrm wayland"
+DEPENDS_append_imxdrm = " libdrm wayland"
 
 # imx-gpu-viv does not provide everything it needs to for virtual/libgl
 # on x11 backend or on Wayland backend with XWayland support.
diff --git a/recipes-graphics/wayland/weston_4.0.0.imx.bb b/recipes-graphics/wayland/weston_4.0.0.imx.bb
index d656aa25..85a73b3e 100644
--- a/recipes-graphics/wayland/weston_4.0.0.imx.bb
+++ b/recipes-graphics/wayland/weston_4.0.0.imx.bb
@@ -38,19 +38,14 @@ EXTRA_OECONF_append_qemux86 = "\
 EXTRA_OECONF_append_qemux86-64 = "\
 		WESTON_NATIVE_BACKEND=fbdev-backend.so \
 		"
-EXTRA_OECONF_append_mx6 = "\
-		WESTON_NATIVE_BACKEND=fbdev-backend.so \
-		"
-EXTRA_OECONF_append_mx7 = "\
+EXTRA_OECONF_append_imxfbdev = "\
 		WESTON_NATIVE_BACKEND=fbdev-backend.so \
 		"
 PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev wayland egl', '', d)} \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \
                    ${@bb.utils.filter('DISTRO_FEATURES', 'opengl pam systemd x11', d)} \
                    clients launch"
-# drm is not supported on mx6/mx7
-PACKAGECONFIG_remove_mx6 = "kms"
-PACKAGECONFIG_remove_mx7 = "kms"
+PACKAGECONFIG_remove_imxfbdev = "kms"
 PACKAGECONFIG_append_imxgpu2d = " imxg2d"
 PACKAGECONFIG_append_imxgpu3d = " cairo-glesv2"
 #
-- 
2.18.0



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

end of thread, other threads:[~2018-06-27 12:33 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-27 12:30 [PATCH v3 01/19] mesa: Cleanup Otavio Salvador
2018-06-27 12:30 ` [PATCH v3 02/19] imx-gpu-viv: Add i.MX 8 support Otavio Salvador
2018-06-27 12:30 ` [PATCH v3 03/19] xf86-video-imx-vivante: " Otavio Salvador
2018-06-27 12:30 ` [PATCH v3 04/19] imx-base.inc: Add i.MX8M and i.MX8M Mini support Otavio Salvador
2018-06-27 12:30 ` [PATCH v3 05/19] imx-base.inc: Add imxdpu and imxdpublit to MACHINEOVERRIDES_EXTENDER Otavio Salvador
2018-06-27 12:30 ` [PATCH v3 06/19] imx-base.inc: Add imxgpu " Otavio Salvador
2018-06-27 12:30 ` [PATCH v3 07/19] mesa-demos: Fix i.MX 8M configuration Otavio Salvador
2018-06-27 12:30 ` [PATCH v3 08/19] mesa-demos: Include glut for i.MX GPU Otavio Salvador
2018-06-27 12:30 ` [PATCH v3 09/19] weston: Set package arch for all i.MX Otavio Salvador
2018-06-27 12:30 ` [PATCH v3 10/19] weston: Remove 2.0 recipe Otavio Salvador
2018-06-27 12:30 ` [PATCH v3 11/19] weston: Copy upstream 4.0 recipe Otavio Salvador
2018-06-27 12:30 ` [PATCH v3 12/19] weston: Use a fork for i.MX Otavio Salvador
2018-06-27 12:30 ` [PATCH v3 13/19] weston: Set configuration for non-DRM parts Otavio Salvador
2018-06-27 12:30 ` [PATCH v3 14/19] weston: Add G2D rendering support Otavio Salvador
2018-06-27 12:30 ` [PATCH v3 15/19] weston: Use cairo for parts with 3D GPU Otavio Salvador
2018-06-27 12:30 ` [PATCH v3 16/19] weston: Remove OpenGL requirement for i.MX 6SL Otavio Salvador
2018-06-27 12:30 ` [PATCH v3 17/19] weston-init: " Otavio Salvador
2018-06-27 12:31 ` [PATCH v3 18/19] weston-init: Fix inoperable Weston desktop Otavio Salvador
2018-06-27 12:31 ` [PATCH v3 19/19] imx-base.inc: Add imxfbdev and imxdrm to MACHINEOVERRIDES_EXTENDER Otavio Salvador

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.