Skip to contentSkip to conversation

Add Xorg support for iMX6

PATCH Superseded Jérôme Pouiller 5 participants 37 messages Jan 16, 2015 – Apr 30, 2015 Arm i.MX and Layerscape

v6 of 7 Superseded Latest is v7 →

lore
Share & tools
lore
#0 lore raw

v6 cover Add Xorg support for iMX6

Hello,

Main purpose of this serie is to add support of Vivante GPU (found on imx6) to Xorg. This work is mainly adapted from Yocto.

v6:
- Rebase on master
- Add license for xdriver_xf86-video-imx-viv. Notice this package does not provide any license file.
- Fix typos suggested by Thomas P.
- Fix dependency on libdrm (gpu-viv-bin-mx6q does not depends on libdrm, but xdriver_xf86-video-imx-viv does depend)
- Add a note about runtime dependencies in gpu-viv-bin-mx6q
- Splited patch 6/15 in 3 parts
- Splited patch 10/15 in 2 parts
- Make 0001-Force_egl_visual_ID_33.patch contionnal

v5:
- Add references in commit log of xdriver_xf86-video-imx-viv
- Split qmx6_defconfig in two defconfig: a minimal one and a demo one

v4:
- Fix example config in commit log of xdriver_xf86-video-imx-viv
- Add a note about OpenGL API in xdriver_xf86-video-imx-viv help

v3:
- Respin on next
- Add patch to use self-extractible helper function
- Remove 'See freescale-imx.mk' comment
- Reword patch "gpu-viv-bin-mx6q: change output selection mecanisms"
- libdrm: Apply new patch naming policy
- xdriver_xf86-video-imx-viv: Apply new patch naming policy
- xdriver_xf86-video-imx-viv: Does not depends directly on glibc
- qt5base: Apply new patch naming policy
- qmx6_defconfig: Use internal toochain

v2:
- Rebase on new version of mesa3d
- Reorder some patches (in order to make examples I provide in commit message functional)
- Do not bump version of all freescale packages
- Bump kernel version of imx6 boards

J?r?me Pouiller (15):
mesa3d: Give possibility to external backends to enable DRI/Gallium
gpu-viv-bin-mx6q: fix compiling issues with EGL_API_FB
gpu-viv-bin-mx6q: make fb/x11 choice explicit
gpu-viv-bin-mx6q: remove useless build time deps
gpu-viv-bin-mx6q: add version in libraries symlinks
gpu-viv-bin-mx6q: change output selection mechanism xdriver_xf86-video-imx-viv: new package
qt5base: apply new patch naming policy
qt5base: fix compilation with Vivante headers.
qt5base: fix "Unable to find an X11 visual" error Vivante drivers: bump to version 3.10.17-1.0.1
nitrogen6x_defconfig: bump kernel to 3.10.17_1.0.1_ga freescale_imx6*_defconfig: bump kernel to 3.10.17_1.0.1_ga
qmx6_defconfig: update
qmx6_qt5_demo_defconfig: new defconfig

 board/congatec/qmx6/6q_bootscript.txt              |  2 -
 board/congatec/qmx6/post-build.sh                  |  7 ---
 configs/freescale_imx6dlsabresd_defconfig          |  3 +-
 configs/freescale_imx6qsabresd_defconfig           |  3 +-
 configs/freescale_imx6sololiteevk_defconfig        |  3 +-
 configs/nitrogen6x_defconfig                       |  3 +-
 configs/qmx6_defconfig                             | 25 +++++++--
 configs/qmx6_qt5_demo_defconfig                    | 57 ++++++++++++++++++++
 package/freescale-imx/gpu-viv-bin-mx6q/Config.in   | 28 +++++++++-
 package/freescale-imx/gpu-viv-bin-mx6q/egl.pc      |  2 +-
 package/freescale-imx/gpu-viv-bin-mx6q/glesv2.pc   |  2 +-
 .../gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk           | 36 ++++++-------
 package/freescale-imx/gpu-viv-bin-mx6q/vg.pc       |  2 +-
 package/mesa3d/mesa3d.mk                           |  4 +-
 .../qt5/qt5base/0001-Force_egl_visual_ID_33.patch  | 26 +++++++++
 ...kspecs-files.patch => 0002-mkspecs-files.patch} |  0
 ...clibc-no-lfs.patch => 0003-uclibc-no-lfs.patch} |  0
 package/qt5/qt5base/0004-xcb-egl-fixes.patch       | 63 ++++++++++++++++++++++
 package/qt5/qt5base/qt5base.mk                     |  6 ++-
 package/x11r7/Config.in                            |  1 +
 .../0001-Fix-LoadExtenions.patch                   | 15 ++++++
 package/x11r7/xdriver_xf86-video-imx-viv/Config.in | 31 +++++++++++
 .../xdriver_xf86-video-imx-viv.mk                  | 33 ++++++++++++
 23 files changed, 308 insertions(+), 44 deletions(-)
 delete mode 100644 board/congatec/qmx6/6q_bootscript.txt
 delete mode 100755 board/congatec/qmx6/post-build.sh
 create mode 100644 configs/qmx6_qt5_demo_defconfig
 create mode 100644 package/qt5/qt5base/0001-Force_egl_visual_ID_33.patch
 rename package/qt5/qt5base/{qt5base-0002-mkspecs-files.patch => 0002-mkspecs-files.patch} (100%)
 rename package/qt5/qt5base/{qt5base-0003-uclibc-no-lfs.patch => 0003-uclibc-no-lfs.patch} (100%)
 create mode 100644 package/qt5/qt5base/0004-xcb-egl-fixes.patch
 create mode 100644 package/x11r7/xdriver_xf86-video-imx-viv/0001-Fix-LoadExtenions.patch
 create mode 100644 package/x11r7/xdriver_xf86-video-imx-viv/Config.in
 create mode 100644 package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk
Signature · 1 line
1.9.1
#1 lore raw

PATCH v6 1/15 mesa3d: Give possibility to external backends to enable DRI/Gallium

---
 package/mesa3d/mesa3d.mk | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
package/mesa3d/mesa3d.mk +2 -2
index f6f6b0f..e96bba6 100644
@@ -64,7 +64,7 @@ MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_I915)   += i915
 MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_I965)   += i965
 MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON) += radeon
 
-ifeq ($(MESA3D_GALLIUM_DRIVERS-y),)
+ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER),)
 MESA3D_CONF_OPTS += \
 	--without-gallium-drivers
 else
@@ -73,7 +73,7 @@ MESA3D_CONF_OPTS += \
 	--with-gallium-drivers=$(subst $(space),$(comma),$(MESA3D_GALLIUM_DRIVERS-y))
 endif
 
-ifeq ($(MESA3D_DRI_DRIVERS-y),)
+ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),)
 MESA3D_CONF_OPTS += \
 	--without-dri-drivers --without-dri --disable-dri3
 else
Signature · 1 line
1.9.1
#2 lore raw

PATCH v6 1/15 mesa3d: Give possibility to external backends to enable DRI/Gallium

=?UTF-8?q?J=C3=A9r=C3=B4me=20Pouiller?= <jezz- [email protected]> wrote in news:1421451251-23366-2- git-send-email-jezz at sysmic.org:

package/mesa3d/mesa3d.mk MESA3D_DRI_DRIVERS-$(BR2

Quoted 9 lines
---
 package/mesa3d/mesa3d.mk | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
package/mesa3d/mesa3d.mk +0 -0
index f6f6b0f..e96bba6 100644
@@ -64,7 +64,7 @@ MESA3D_DRI_DRIVERS-$(BR2

_PACKAGE_MESA3D_DRI_DRIVER_I915) += i915

package/mesa3d/mesa3d.mk MESA3D_CONF_OPTS += \ · line 73

Quoted 10 lines
package/mesa3d/mesa3d.mk +1 -1
 MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_I965)   += i965
 MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON) += radeon
 
-ifeq ($(MESA3D_GALLIUM_DRIVERS-y),)
+ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER),)
 MESA3D_CONF_OPTS += \
      --without-gallium-drivers
 else
@@ -73,7 +73,7 @@ MESA3D_CONF_OPTS += \
      --with-gallium-drivers=$(subst $(space),$(comma),

$(MESA3D_GALLIUM_DRIVERS-y))

Quoted 15 lines
package/mesa3d/mesa3d.mk +1 -1
 endif
 
-ifeq ($(MESA3D_DRI_DRIVERS-y),)
+ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),)
 MESA3D_CONF_OPTS += \
      --without-dri-drivers --without-dri --disable-dri3
 else
Signature · 6 lines
1.9.1
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Attachment decoded: untitled-1.txt

Hi,

I only looked at this patch alone since I have no freescale hardware to test with. Compiling mesa3d with this patch included using this defconfig

BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER=y
BR2_PACKAGE_MESA3D_DRI_DRIVER=y
BR2_PACKAGE_MESA3D_DRIVER=y

does not break despite providing empty values in these configure options

--with-gallium-drivers=
--with-dri-drivers=

so

Regards, Bernd

#3 lore raw

PATCH v6 1/15 mesa3d: Give possibility to external backends to enable DRI/Gallium

In reply to Jérôme Pouiller

Hi all,

Quoted 20 lines · J?r?me Pouiller
---
 package/mesa3d/mesa3d.mk | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
package/mesa3d/mesa3d.mk +1 -1
index f6f6b0f..e96bba6 100644
@@ -64,7 +64,7 @@ MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_I915)   += i915
 MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_I965)   += i965
 MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON) += radeon
 
-ifeq ($(MESA3D_GALLIUM_DRIVERS-y),)
+ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER),)
 MESA3D_CONF_OPTS += \
 	--without-gallium-drivers
 else

package/mesa3d/mesa3d.mk MESA3D_CONF_OPTS += \ · line 79

Quoted 8 lines
package/mesa3d/mesa3d.mk +1 -1
@@ -73,7 +73,7 @@ MESA3D_CONF_OPTS += \
 	--with-gallium-drivers=$(subst $(space),$(comma),$(MESA3D_GALLIUM_DRIVERS-y))
 endif
 
-ifeq ($(MESA3D_DRI_DRIVERS-y),)
+ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),)
 MESA3D_CONF_OPTS += \
 	--without-dri-drivers --without-dri --disable-dri3
 else

As explained in my answer to the cover letter, this series of patch has been successfully tested on a Nitrogen6x board.
http://lists.busybox.net/pipermail/buildroot/2015-April/124739.html

Regards,
Gary

#4 lore raw

PATCH v6 1/15 mesa3d: Give possibility to external backends to enable DRI/Gallium

Dear Gary Bisson,

Quoted 5 lines · Gary Bisson

As explained in my answer to the cover letter, this series of patch has been successfully tested on a Nitrogen6x board.
http://lists.busybox.net/pipermail/buildroot/2015-April/124739.html

Thanks. Could you, or J?r?me provide a more detailed (i.e non-empty) commit log for this commit? What's happening is not that trivial, but the commit log is empty.

No need to resend the patch, just provide in a mail a better commit log, and Peter or I will integrate the new commit log when applying the patch.

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#5 lore raw

PATCH v6 2/15 gpu-viv-bin-mx6q: fix compiling issues with EGL_API_FB

In reply to Jérôme Pouiller

To compile with Vivante header and use framebuffer, it is necessary to pass option -DEGL_API_FB. This option is declared in pkg-config file of Vivante library. But many packages (especialy qt5 components) does not consider these flags.

So instead of patching every packages that use EGL, it is more convenient to patch Vivante headers.

This commit add #define EGL_API_FB on top of eglvivante.h when necessary.

---
 package/freescale-imx/gpu-viv-bin-mx6q/egl.pc              |  2 +-
 package/freescale-imx/gpu-viv-bin-mx6q/glesv2.pc           |  2 +-
 package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk | 10 ++++++----
 package/freescale-imx/gpu-viv-bin-mx6q/vg.pc               |  2 +-
 4 files changed, 9 insertions(+), 7 deletions(-)
package/freescale-imx/gpu-viv-bin-mx6q/egl.pc +1 -1
index c984247..d1d09a0 100644
@@ -7,4 +7,4 @@ Name: egl
 Description: Freescale gpu-viv-bin-mx6q implementation of EGL
 Version: 1.0
 Libs: -L${libdir} -lGAL -lEGL
-Cflags: -I${includedir}/ -DEGL_API_FB=1
+Cflags: -I${includedir}/
package/freescale-imx/gpu-viv-bin-mx6q/glesv2.pc +1 -1
index 7cfb5e7..74ce792 100644
@@ -7,4 +7,4 @@ Name: glesv2
 Description: Freescale gpu-viv-bin-mx6q implementation of OpenGL ESv2
 Version: 2.0
 Libs: -L${libdir} -lGAL -lEGL -lGLESv2
-Cflags: -I${includedir}/ -DEGL_API_FB=1
+Cflags: -I${includedir}/
package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk +6 -4
index 79c7a92..eb54b80 100644
@@ -48,14 +48,16 @@ endef
 
 define GPU_VIV_BIN_MX6Q_INSTALL_STAGING_CMDS
 	cp -r $(@D)/usr/* $(STAGING_DIR)/usr
+	if [ $(GPU_VIV_BIN_MX6Q_LIB_TARGET) == fb ]; then \
+		$(SED) '/#define EGLAPIENTRY/ a \
+			#if !defined(EGL_API_X11) && !defined(EGL_API_DFB) && !defined(EGL_API_FB) \n\
+			#define EGL_API_FB \n\
+			#endif' $(STAGING_DIR)/usr/include/EGL/eglvivante.h; \
+	fi
 	for lib in egl glesv2 vg; do \
 		$(INSTALL) -m 0644 -D \
 			package/freescale-imx/gpu-viv-bin-mx6q/$${lib}.pc \
 			$(STAGING_DIR)/usr/lib/pkgconfig/$${lib}.pc; \
-		if [ "$(GPU_VIV_BIN_MX6Q_LIB_TARGET)" != "fb" ]; then \
-			$(SED) "s/-DEGL_API_FB=1//" \
-				$(STAGING_DIR)/usr/lib/pkgconfig/$${lib}.pc; \
-		fi; \
 	done
 endef
 
package/freescale-imx/gpu-viv-bin-mx6q/vg.pc +1 -1
index fb14005..677a7ee 100644
@@ -7,4 +7,4 @@ Name: vg
 Description: Freescale gpu-viv-bin-mx6q implementation of OpenVG
 Version: 1.1
 Libs: -L${libdir} -lGAL -lEGL -lOpenVG
-Cflags: -I${includedir}/ -DEGL_API_FB=1
+Cflags: -I${includedir}/
Signature · 1 line
1.9.1
#6 lore raw

PATCH v6 2/15 gpu-viv-bin-mx6q: fix compiling issues with EGL_API_FB

Hi all,

Quoted 69 lines · J?r?me Pouiller

To compile with Vivante header and use framebuffer, it is necessary to pass option -DEGL_API_FB. This option is declared in pkg-config file of Vivante library. But many packages (especialy qt5 components) does not consider these flags.

So instead of patching every packages that use EGL, it is more convenient to patch Vivante headers.

This commit add #define EGL_API_FB on top of eglvivante.h when necessary.

---
 package/freescale-imx/gpu-viv-bin-mx6q/egl.pc              |  2 +-
 package/freescale-imx/gpu-viv-bin-mx6q/glesv2.pc           |  2 +-
 package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk | 10 ++++++----
 package/freescale-imx/gpu-viv-bin-mx6q/vg.pc               |  2 +-
 4 files changed, 9 insertions(+), 7 deletions(-)
package/freescale-imx/gpu-viv-bin-mx6q/egl.pc +1 -1
index c984247..d1d09a0 100644
@@ -7,4 +7,4 @@ Name: egl
 Description: Freescale gpu-viv-bin-mx6q implementation of EGL
 Version: 1.0
 Libs: -L${libdir} -lGAL -lEGL
-Cflags: -I${includedir}/ -DEGL_API_FB=1
+Cflags: -I${includedir}/
package/freescale-imx/gpu-viv-bin-mx6q/glesv2.pc +1 -1
index 7cfb5e7..74ce792 100644
@@ -7,4 +7,4 @@ Name: glesv2
 Description: Freescale gpu-viv-bin-mx6q implementation of OpenGL ESv2
 Version: 2.0
 Libs: -L${libdir} -lGAL -lEGL -lGLESv2
-Cflags: -I${includedir}/ -DEGL_API_FB=1
+Cflags: -I${includedir}/
package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk +6 -4
index 79c7a92..eb54b80 100644
@@ -48,14 +48,16 @@ endef
 
 define GPU_VIV_BIN_MX6Q_INSTALL_STAGING_CMDS
 	cp -r $(@D)/usr/* $(STAGING_DIR)/usr
+	if [ $(GPU_VIV_BIN_MX6Q_LIB_TARGET) == fb ]; then \
+		$(SED) '/#define EGLAPIENTRY/ a \
+			#if !defined(EGL_API_X11) && !defined(EGL_API_DFB) && !defined(EGL_API_FB) \n\
+			#define EGL_API_FB \n\
+			#endif' $(STAGING_DIR)/usr/include/EGL/eglvivante.h; \
+	fi
 	for lib in egl glesv2 vg; do \
 		$(INSTALL) -m 0644 -D \
 			package/freescale-imx/gpu-viv-bin-mx6q/$${lib}.pc \
 			$(STAGING_DIR)/usr/lib/pkgconfig/$${lib}.pc; \
-		if [ "$(GPU_VIV_BIN_MX6Q_LIB_TARGET)" != "fb" ]; then \
-			$(SED) "s/-DEGL_API_FB=1//" \
-				$(STAGING_DIR)/usr/lib/pkgconfig/$${lib}.pc; \
-		fi; \
 	done
 endef
 
package/freescale-imx/gpu-viv-bin-mx6q/vg.pc +0 -0
index fb14005..677a7ee 100644

package/freescale-imx/gpu-viv-bin-mx6q/vg.pc Name: vg · line 10

Quoted 5 lines
package/freescale-imx/gpu-viv-bin-mx6q/vg.pc +1 -1
@@ -7,4 +7,4 @@ Name: vg
 Description: Freescale gpu-viv-bin-mx6q implementation of OpenVG
 Version: 1.1
 Libs: -L${libdir} -lGAL -lEGL -lOpenVG
-Cflags: -I${includedir}/ -DEGL_API_FB=1
+Cflags: -I${includedir}/

As explained in my answer to the cover letter, this series of patch has been successfully tested on a Nitrogen6x board.
http://lists.busybox.net/pipermail/buildroot/2015-April/124739.html

Regards,
Gary

#7 lore raw

PATCH v6 2/15 gpu-viv-bin-mx6q: fix compiling issues with EGL_API_FB

In reply to Jérôme Pouiller

Dear J?r?me Pouiller,

package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk endef · line 56

Quoted 8 lines · J?r?me Pouiller

define GPU_VIV_BIN_MX6Q_INSTALL_STAGING_CMDS

package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk +6 -0
 	cp -r $(@D)/usr/* $(STAGING_DIR)/usr
+	if [ $(GPU_VIV_BIN_MX6Q_LIB_TARGET) == fb ]; then \
+		$(SED) '/#define EGLAPIENTRY/ a \
+			#if !defined(EGL_API_X11) && !defined(EGL_API_DFB) && !defined(EGL_API_FB) \n\
+			#define EGL_API_FB \n\
+			#endif' $(STAGING_DIR)/usr/include/EGL/eglvivante.h; \
+	fi

This should have used a make test instead of a shell test, i.e:

ifeq ($(GPU_VIV_BIN_MX6Q_LIB_TARGET),fb)
define GPU_VIV_BIN_MX6Q_FIXUP_FB_HEADERS

	$(SED) '/#define EGLAPIENTRY/ a \
		#if !defined(EGL_API_X11) && !defined(EGL_API_DFB) && !defined(EGL_API_FB) \n\
		#define EGL_API_FB \n\
		#endif' $(STAGING_DIR)/usr/include/EGL/eglvivante.h; \

endef
endif

define GPU_VIV_BIN_MX6Q_INSTALL_STAGING_CMDS

	cp -r $(@D)/usr/* $(STAGING_DIR)/usr
	$(GPU_VIV_BIN_MX6Q_FIXUP_FB_HEADERS)

endef

Can be fixed up when applying the patch.

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#8 lore raw

PATCH v6 3/15 gpu-viv-bin-mx6q: make fb/x11 choice explicit

In reply to Jérôme Pouiller
---
 package/freescale-imx/gpu-viv-bin-mx6q/Config.in   | 23 ++++++++++++++++++++--
 .../gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk           |  2 +-
 2 files changed, 22 insertions(+), 3 deletions(-)
package/freescale-imx/gpu-viv-bin-mx6q/Config.in +21 -2
index 4e83dd3..0947f17 100644
@@ -7,8 +7,6 @@ config BR2_PACKAGE_GPU_VIV_BIN_MX6Q
 	select BR2_PACKAGE_HAS_LIBEGL
 	select BR2_PACKAGE_HAS_LIBGLES
 	select BR2_PACKAGE_HAS_LIBOPENVG
-	select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_XORG7
-	select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7
 	depends on BR2_arm # Only relevant for i.MX6
 	# Library binaries are linked against libc.so.6
 	depends on BR2_TOOLCHAIN_USES_GLIBC
@@ -25,6 +23,27 @@ config BR2_PACKAGE_GPU_VIV_BIN_MX6Q
 
 if BR2_PACKAGE_GPU_VIV_BIN_MX6Q
 
+choice
+	prompt "Output option"
+	help
+	  There are two versions of this library: one for
+	  direct framebuffer access, one for X11 rendering.
+	  Choose here which version to install.
+
+config BR2_PACKAGE_GPU_VIV_BIN_MX6Q_OUTPUT_X11
+	depends on BR2_PACKAGE_XORG7
+	select BR2_PACKAGE_XLIB_LIBXDAMAGE
+	select BR2_PACKAGE_XLIB_LIBXEXT
+	bool "X11"
+
+comment "X11 backend needs Xorg package"
+	depends on !BR2_PACKAGE_XORG7
+
+config BR2_PACKAGE_GPU_VIV_BIN_MX6Q_OUTPUT_FB
+	bool "Framebuffer"
+
+endchoice
+
 config BR2_PACKAGE_PROVIDES_LIBEGL
 	default "gpu-viv-bin-mx6q"
 
package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk +1 -1
index eb54b80..7895023 100644
@@ -21,7 +21,7 @@ GPU_VIV_BIN_MX6Q_REDISTRIBUTE = NO
 GPU_VIV_BIN_MX6Q_PROVIDES = libegl libgles libopenvg
 
 # DirectFB is not supported (wrong version)
-ifeq ($(BR2_PACKAGE_XORG7),y)
+ifeq ($(BR2_PACKAGE_GPU_VIV_BIN_MX6Q_OUTPUT_X11),y)
 GPU_VIV_BIN_MX6Q_DEPENDENCIES = xlib_libXdamage xlib_libXext
 GPU_VIV_BIN_MX6Q_LIB_TARGET = x11
 else
Signature · 1 line
1.9.1
#9 lore raw

PATCH v6 3/15 gpu-viv-bin-mx6q: make fb/x11 choice explicit

Hi all,

Quoted 52 lines · J?r?me Pouiller
---
 package/freescale-imx/gpu-viv-bin-mx6q/Config.in   | 23 ++++++++++++++++++++--
 .../gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk           |  2 +-
 2 files changed, 22 insertions(+), 3 deletions(-)
package/freescale-imx/gpu-viv-bin-mx6q/Config.in +21 -2
index 4e83dd3..0947f17 100644
@@ -7,8 +7,6 @@ config BR2_PACKAGE_GPU_VIV_BIN_MX6Q
 	select BR2_PACKAGE_HAS_LIBEGL
 	select BR2_PACKAGE_HAS_LIBGLES
 	select BR2_PACKAGE_HAS_LIBOPENVG
-	select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_XORG7
-	select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7
 	depends on BR2_arm # Only relevant for i.MX6
 	# Library binaries are linked against libc.so.6
 	depends on BR2_TOOLCHAIN_USES_GLIBC
@@ -25,6 +23,27 @@ config BR2_PACKAGE_GPU_VIV_BIN_MX6Q
 
 if BR2_PACKAGE_GPU_VIV_BIN_MX6Q
 
+choice
+	prompt "Output option"
+	help
+	  There are two versions of this library: one for
+	  direct framebuffer access, one for X11 rendering.
+	  Choose here which version to install.
+
+config BR2_PACKAGE_GPU_VIV_BIN_MX6Q_OUTPUT_X11
+	depends on BR2_PACKAGE_XORG7
+	select BR2_PACKAGE_XLIB_LIBXDAMAGE
+	select BR2_PACKAGE_XLIB_LIBXEXT
+	bool "X11"
+
+comment "X11 backend needs Xorg package"
+	depends on !BR2_PACKAGE_XORG7
+
+config BR2_PACKAGE_GPU_VIV_BIN_MX6Q_OUTPUT_FB
+	bool "Framebuffer"
+
+endchoice
+
 config BR2_PACKAGE_PROVIDES_LIBEGL
 	default "gpu-viv-bin-mx6q"
 
package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk +0 -0
index eb54b80..7895023 100644

package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk GPU_VIV_BIN_MX6Q_REDISTRIBUTE = NO · line 27

Quoted 8 lines
package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk +1 -1
@@ -21,7 +21,7 @@ GPU_VIV_BIN_MX6Q_REDISTRIBUTE = NO
 GPU_VIV_BIN_MX6Q_PROVIDES = libegl libgles libopenvg
 
 # DirectFB is not supported (wrong version)
-ifeq ($(BR2_PACKAGE_XORG7),y)
+ifeq ($(BR2_PACKAGE_GPU_VIV_BIN_MX6Q_OUTPUT_X11),y)
 GPU_VIV_BIN_MX6Q_DEPENDENCIES = xlib_libXdamage xlib_libXext
 GPU_VIV_BIN_MX6Q_LIB_TARGET = x11
 else

As explained in my answer to the cover letter, this series of patch has been successfully tested on a Nitrogen6x board.
http://lists.busybox.net/pipermail/buildroot/2015-April/124739.html

Also, this change has been discussed earlier as for the reason to be able to have fb libs in a X-based system and people seemed interested. Therefore this approach is more flexible than what was present before.

Regards,
Gary

#10 lore raw

PATCH v6 3/15 gpu-viv-bin-mx6q: make fb/x11 choice explicit

In reply to Jérôme Pouiller

Dear J?r?me Pouiller,

package/freescale-imx/gpu-viv-bin-mx6q/Config.in config BR2_PACKAGE_GPU_VIV_BIN_MX6Q · line 37

Quoted 12 lines · J?r?me Pouiller
package/freescale-imx/gpu-viv-bin-mx6q/Config.in +12 -0
+choice
+	prompt "Output option"
+	help
+	  There are two versions of this library: one for
+	  direct framebuffer access, one for X11 rendering.
+	  Choose here which version to install.
+
+config BR2_PACKAGE_GPU_VIV_BIN_MX6Q_OUTPUT_X11
+	depends on BR2_PACKAGE_XORG7
+	select BR2_PACKAGE_XLIB_LIBXDAMAGE
+	select BR2_PACKAGE_XLIB_LIBXEXT
+	bool "X11"

The bool should have been the first property, before depends on and select properties.

I guess we'll fix up when applying since it is a minor thing.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#11 lore raw

PATCH v6 4/15 gpu-viv-bin-mx6q: remove useless build time deps

In reply to Jérôme Pouiller

Since gpu-viv-bin-mx6q is provided as binary package, there is no build time dependencies.

---
 package/freescale-imx/gpu-viv-bin-mx6q/Config.in           | 4 ++--
 package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk | 1 -
 2 files changed, 2 insertions(+), 3 deletions(-)
package/freescale-imx/gpu-viv-bin-mx6q/Config.in +2 -2
index 0947f17..7fbddbf 100644
@@ -32,8 +32,8 @@ choice
 
 config BR2_PACKAGE_GPU_VIV_BIN_MX6Q_OUTPUT_X11
 	depends on BR2_PACKAGE_XORG7
-	select BR2_PACKAGE_XLIB_LIBXDAMAGE
-	select BR2_PACKAGE_XLIB_LIBXEXT
+	select BR2_PACKAGE_XLIB_LIBXDAMAGE # Runtime dependency
+	select BR2_PACKAGE_XLIB_LIBXEXT # Runtime dependency
 	bool "X11"
 
 comment "X11 backend needs Xorg package"
package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk +0 -1
index 7895023..35ba1c6 100644
@@ -22,7 +22,6 @@ GPU_VIV_BIN_MX6Q_PROVIDES = libegl libgles libopenvg
 
 # DirectFB is not supported (wrong version)
 ifeq ($(BR2_PACKAGE_GPU_VIV_BIN_MX6Q_OUTPUT_X11),y)
-GPU_VIV_BIN_MX6Q_DEPENDENCIES = xlib_libXdamage xlib_libXext
 GPU_VIV_BIN_MX6Q_LIB_TARGET = x11
 else
 GPU_VIV_BIN_MX6Q_LIB_TARGET = fb
Signature · 1 line
1.9.1
#12 lore raw

PATCH v6 4/15 gpu-viv-bin-mx6q: remove useless build time deps

Hi all,

Quoted 29 lines · J?r?me Pouiller

Since gpu-viv-bin-mx6q is provided as binary package, there is no build time dependencies.

---
 package/freescale-imx/gpu-viv-bin-mx6q/Config.in           | 4 ++--
 package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk | 1 -
 2 files changed, 2 insertions(+), 3 deletions(-)
package/freescale-imx/gpu-viv-bin-mx6q/Config.in +2 -2
index 0947f17..7fbddbf 100644
@@ -32,8 +32,8 @@ choice
 
 config BR2_PACKAGE_GPU_VIV_BIN_MX6Q_OUTPUT_X11
 	depends on BR2_PACKAGE_XORG7
-	select BR2_PACKAGE_XLIB_LIBXDAMAGE
-	select BR2_PACKAGE_XLIB_LIBXEXT
+	select BR2_PACKAGE_XLIB_LIBXDAMAGE # Runtime dependency
+	select BR2_PACKAGE_XLIB_LIBXEXT # Runtime dependency
 	bool "X11"
 
 comment "X11 backend needs Xorg package"
package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk +0 -0
index 7895023..35ba1c6 100644

package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk GPU_VIV_BIN_MX6Q_PROVIDES = libegl libgles libopenvg · line 27

Quoted 7 lines
package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk +0 -1
@@ -22,7 +22,6 @@ GPU_VIV_BIN_MX6Q_PROVIDES = libegl libgles libopenvg
 
 # DirectFB is not supported (wrong version)
 ifeq ($(BR2_PACKAGE_GPU_VIV_BIN_MX6Q_OUTPUT_X11),y)
-GPU_VIV_BIN_MX6Q_DEPENDENCIES = xlib_libXdamage xlib_libXext
 GPU_VIV_BIN_MX6Q_LIB_TARGET = x11
 else
 GPU_VIV_BIN_MX6Q_LIB_TARGET = fb

As explained in my answer to the cover letter, this series of patch has been successfully tested on a Nitrogen6x board.
http://lists.busybox.net/pipermail/buildroot/2015-April/124739.html

Also, those dependencies clearly shouldn't exist.

Regards,
Gary

#13 lore raw

PATCH v6 5/15 gpu-viv-bin-mx6q: add version in libraries symlinks

In reply to Jérôme Pouiller

Create libraries symbolic links with version numbers.

---
 package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)
package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk +8 -4
index 35ba1c6..7845a25 100644
@@ -36,13 +36,17 @@ endef
 # Make sure these commands are idempotent.
 define GPU_VIV_BIN_MX6Q_BUILD_CMDS
 	$(SED) 's/defined(LINUX)/defined(__linux__)/g' $(@D)/usr/include/*/*.h
-	for lib in EGL GAL VIVANTE GLESv2; do \
-		ln -sf lib$${lib}-$(GPU_VIV_BIN_MX6Q_LIB_TARGET).so \
-			$(@D)/usr/lib/lib$${lib}.so; \
-	done
 	ln -sf libGL.so.1.2 $(@D)/usr/lib/libGL.so
 	ln -sf libGL.so.1.2 $(@D)/usr/lib/libGL.so.1
 	ln -sf libGL.so.1.2 $(@D)/usr/lib/libGL.so.1.2.0
+	ln -sf libEGL-$(GPU_VIV_BIN_MX6Q_LIB_TARGET).so $(@D)/usr/lib/libEGL.so
+	ln -sf libEGL-$(GPU_VIV_BIN_MX6Q_LIB_TARGET).so $(@D)/usr/lib/libEGL.so.1
+	ln -sf libEGL-$(GPU_VIV_BIN_MX6Q_LIB_TARGET).so $(@D)/usr/lib/libEGL.so.1.0
+	ln -sf libGLESv2-$(GPU_VIV_BIN_MX6Q_LIB_TARGET).so $(@D)/usr/lib/libGLESv2.so
+	ln -sf libGLESv2-$(GPU_VIV_BIN_MX6Q_LIB_TARGET).so $(@D)/usr/lib/libGLESv2.so.2
+	ln -sf libGLESv2-$(GPU_VIV_BIN_MX6Q_LIB_TARGET).so $(@D)/usr/lib/libGLESv2.so.2.0.0
+	ln -sf libVIVANTE-$(GPU_VIV_BIN_MX6Q_LIB_TARGET).so $(@D)/usr/lib/libVIVANTE.so
+	ln -sf libGAL-$(GPU_VIV_BIN_MX6Q_LIB_TARGET).so $(@D)/usr/lib/libGAL.so
 endef
 
 define GPU_VIV_BIN_MX6Q_INSTALL_STAGING_CMDS
Signature · 1 line
1.9.1
#14 lore raw

PATCH v6 5/15 gpu-viv-bin-mx6q: add version in libraries symlinks

Hi all,

Quoted 23 lines · J?r?me Pouiller

Create libraries symbolic links with version numbers.

---
 package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)
package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk +1 -4
index 35ba1c6..7845a25 100644
@@ -36,13 +36,17 @@ endef
 # Make sure these commands are idempotent.
 define GPU_VIV_BIN_MX6Q_BUILD_CMDS
 	$(SED) 's/defined(LINUX)/defined(__linux__)/g' $(@D)/usr/include/*/*.h
-	for lib in EGL GAL VIVANTE GLESv2; do \
-		ln -sf lib$${lib}-$(GPU_VIV_BIN_MX6Q_LIB_TARGET).so \
-			$(@D)/usr/lib/lib$${lib}.so; \
-	done
 	ln -sf libGL.so.1.2 $(@D)/usr/lib/libGL.so
 	ln -sf libGL.so.1.2 $(@D)/usr/lib/libGL.so.1
 	ln -sf libGL.so.1.2 $(@D)/usr/lib/libGL.so.1.2.0
+	ln -sf libEGL-$(GPU_VIV_BIN_MX6Q_LIB_TARGET).so $(@D)/usr/lib/libEGL.so

package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk endef · line 52

Quoted 10 lines
package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk +7 -0
+	ln -sf libEGL-$(GPU_VIV_BIN_MX6Q_LIB_TARGET).so $(@D)/usr/lib/libEGL.so.1
+	ln -sf libEGL-$(GPU_VIV_BIN_MX6Q_LIB_TARGET).so $(@D)/usr/lib/libEGL.so.1.0
+	ln -sf libGLESv2-$(GPU_VIV_BIN_MX6Q_LIB_TARGET).so $(@D)/usr/lib/libGLESv2.so
+	ln -sf libGLESv2-$(GPU_VIV_BIN_MX6Q_LIB_TARGET).so $(@D)/usr/lib/libGLESv2.so.2
+	ln -sf libGLESv2-$(GPU_VIV_BIN_MX6Q_LIB_TARGET).so $(@D)/usr/lib/libGLESv2.so.2.0.0
+	ln -sf libVIVANTE-$(GPU_VIV_BIN_MX6Q_LIB_TARGET).so $(@D)/usr/lib/libVIVANTE.so
+	ln -sf libGAL-$(GPU_VIV_BIN_MX6Q_LIB_TARGET).so $(@D)/usr/lib/libGAL.so
 endef
 
 define GPU_VIV_BIN_MX6Q_INSTALL_STAGING_CMDS

As explained in my answer to the cover letter, this series of patch has been successfully tested on a Nitrogen6x board.
http://lists.busybox.net/pipermail/buildroot/2015-April/124739.html

This now matches what is done in Yocto:
https://github.com/Freescale/meta-fsl-arm/blob/dizzy/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc#L165

Regards,
Gary

#15 lore raw

PATCH v6 6/15 gpu-viv-bin-mx6q: change output selection mechanism

In reply to Jérôme Pouiller

Move output selection to Config.in. It easier to add new backends selection (wayland, directfb, ...).

---
 package/freescale-imx/gpu-viv-bin-mx6q/Config.in           | 5 +++++
 package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk | 8 +-------
 2 files changed, 6 insertions(+), 7 deletions(-)
package/freescale-imx/gpu-viv-bin-mx6q/Config.in +5 -0
index 7fbddbf..2392d9a 100644
@@ -44,6 +44,11 @@ config BR2_PACKAGE_GPU_VIV_BIN_MX6Q_OUTPUT_FB
 
 endchoice
 
+config BR2_PACKAGE_GPU_VIV_BIN_MX6Q_OUTPUT
+	string
+	default "x11" if BR2_PACKAGE_GPU_VIV_BIN_MX6Q_OUTPUT_X11
+	default "fb" if BR2_PACKAGE_GPU_VIV_BIN_MX6Q_OUTPUT_FB
+
 config BR2_PACKAGE_PROVIDES_LIBEGL
 	default "gpu-viv-bin-mx6q"
 
package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk +1 -7
index 7845a25..501b124 100644
@@ -19,13 +19,7 @@ GPU_VIV_BIN_MX6Q_LICENSE_FILES = EULA
 GPU_VIV_BIN_MX6Q_REDISTRIBUTE = NO
 
 GPU_VIV_BIN_MX6Q_PROVIDES = libegl libgles libopenvg
-
-# DirectFB is not supported (wrong version)
-ifeq ($(BR2_PACKAGE_GPU_VIV_BIN_MX6Q_OUTPUT_X11),y)
-GPU_VIV_BIN_MX6Q_LIB_TARGET = x11
-else
-GPU_VIV_BIN_MX6Q_LIB_TARGET = fb
-endif
+GPU_VIV_BIN_MX6Q_LIB_TARGET = $(call qstrip,$(BR2_PACKAGE_GPU_VIV_BIN_MX6Q_OUTPUT))
 
 define GPU_VIV_BIN_MX6Q_EXTRACT_CMDS
 	$(call FREESCALE_IMX_EXTRACT_HELPER,$(DL_DIR)/$(GPU_VIV_BIN_MX6Q_SOURCE))
Signature · 1 line
1.9.1
#16 lore raw

PATCH v6 6/15 gpu-viv-bin-mx6q: change output selection mechanism

Hi all,

Quoted 34 lines · J?r?me Pouiller

Move output selection to Config.in. It easier to add new backends selection (wayland, directfb, ...).

---
 package/freescale-imx/gpu-viv-bin-mx6q/Config.in           | 5 +++++
 package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk | 8 +-------
 2 files changed, 6 insertions(+), 7 deletions(-)
package/freescale-imx/gpu-viv-bin-mx6q/Config.in +5 -0
index 7fbddbf..2392d9a 100644
@@ -44,6 +44,11 @@ config BR2_PACKAGE_GPU_VIV_BIN_MX6Q_OUTPUT_FB
 
 endchoice
 
+config BR2_PACKAGE_GPU_VIV_BIN_MX6Q_OUTPUT
+	string
+	default "x11" if BR2_PACKAGE_GPU_VIV_BIN_MX6Q_OUTPUT_X11
+	default "fb" if BR2_PACKAGE_GPU_VIV_BIN_MX6Q_OUTPUT_FB
+
 config BR2_PACKAGE_PROVIDES_LIBEGL
 	default "gpu-viv-bin-mx6q"
 
package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk +0 -1
index 7845a25..501b124 100644
@@ -19,13 +19,7 @@ GPU_VIV_BIN_MX6Q_LICENSE_FILES = EULA
 GPU_VIV_BIN_MX6Q_REDISTRIBUTE = NO
 
 GPU_VIV_BIN_MX6Q_PROVIDES = libegl libgles libopenvg
-

package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk GPU_VIV_BIN_MX6Q_LICENSE_FILES = EULA · line 25

Quoted 10 lines
package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk +1 -6
-# DirectFB is not supported (wrong version)
-ifeq ($(BR2_PACKAGE_GPU_VIV_BIN_MX6Q_OUTPUT_X11),y)
-GPU_VIV_BIN_MX6Q_LIB_TARGET = x11
-else
-GPU_VIV_BIN_MX6Q_LIB_TARGET = fb
-endif
+GPU_VIV_BIN_MX6Q_LIB_TARGET = $(call qstrip,$(BR2_PACKAGE_GPU_VIV_BIN_MX6Q_OUTPUT))
 
 define GPU_VIV_BIN_MX6Q_EXTRACT_CMDS
 	$(call FREESCALE_IMX_EXTRACT_HELPER,$(DL_DIR)/$(GPU_VIV_BIN_MX6Q_SOURCE))

As explained in my answer to the cover letter, this series of patch has been successfully tested on a Nitrogen6x board.
http://lists.busybox.net/pipermail/buildroot/2015-April/124739.html

Regards,
Gary

#17 lore raw

PATCH v6 7/15 xdriver_xf86-video-imx-viv: new package

In reply to Jérôme Pouiller

Xorg driver for imx6. Inspired from Yocto project.

I did not find any problem, but notice Yocto project force Xorg xserver 1.14.4 while we use 1.16.

Notice Vivante driver should be able to provide Desktop OpenGL implementation. However, this feature seems broken for a while[1]. Yocto use Mesa3D/swraster to provide Desktop OpenGL API[2].

[1] http://comments.gmane.org/gmane.linux.embedded.yocto.meta-freescale/8253
[2] See recipes-graphics/xorg-driver/xf86-video-imxfb-vivante_3.10.17-1.0.1.bb in meta-fsl-arm layer

Tested with:

    subsequent qt5base and libdrm fixes +
    QMX6 board +
    BR2_ARM_EABIHF= both tested
    BR2_ARM_ENABLE_NEON=y
    BR2_ARM_FPU_NEON=y
    BR2_TOOLCHAIN_EXTERNAL=y
    BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
    BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1"
    BR2_LINUX_KERNEL=y
    BR2_LINUX_KERNEL_CUSTOM_GIT=y
    BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://git.congatec.com/arm/qmx6_kernel.git"
    BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="9bafbcba67f7bb2a48a5e05998cecb1165aa444f"
    BR2_LINUX_KERNEL_DEFCONFIG="qmx6"
    BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x10008000"
    BR2_LINUX_KERNEL_DTS_SUPPORT=y
    BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-qmx6"
    BR2_PACKAGE_QT5=y
    BR2_PACKAGE_QT5BASE_LICENSE_APPROVED=y
    BR2_PACKAGE_QT5BASE_EXAMPLES=y
    BR2_PACKAGE_QT5BASE_OPENGL_ES2=y
    BR2_PACKAGE_QT5BASE_OPENGL_LIB=y
    BR2_PACKAGE_QT5BASE_XCB=y
    BR2_PACKAGE_QT5BASE_DEFAULT_QPA="xcb"
    BR2_PACKAGE_QT5BASE_GIF=y
    BR2_PACKAGE_QT5BASE_JPEG=y
    BR2_PACKAGE_QT5BASE_PNG=y
    BR2_PACKAGE_QT5QUICKCONTROLS=y
    BR2_PACKAGE_XORG7=y
    BR2_PACKAGE_XSERVER_XORG_SERVER=y
    BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR=y
    BR2_PACKAGE_XDRIVER_XF86_INPUT_EVDEV=y
    BR2_PACKAGE_XDRIVER_XF86_VIDEO_IMX_VIV=y
    BR2_PACKAGE_FREESCALE_IMX=y
    BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q=y
    BR2_PACKAGE_GPU_VIV_BIN_MX6Q=y
    BR2_PACKAGE_GPU_VIV_BIN_MX6Q_EXAMPLES=y
---
 package/x11r7/Config.in                            |  1 +
 .../0001-Fix-LoadExtenions.patch                   | 15 ++++++++++
 package/x11r7/xdriver_xf86-video-imx-viv/Config.in | 31 ++++++++++++++++++++
 .../xdriver_xf86-video-imx-viv.mk                  | 33 ++++++++++++++++++++++
 4 files changed, 80 insertions(+)
 create mode 100644 package/x11r7/xdriver_xf86-video-imx-viv/0001-Fix-LoadExtenions.patch
 create mode 100644 package/x11r7/xdriver_xf86-video-imx-viv/Config.in
 create mode 100644 package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk
package/x11r7/Config.in +1 -0
index 2fd1ff0..5480d9a 100644
@@ -160,6 +160,7 @@ if BR2_PACKAGE_XORG7
 		source package/x11r7/xdriver_xf86-video-glide/Config.in
 		source package/x11r7/xdriver_xf86-video-glint/Config.in
 		source package/x11r7/xdriver_xf86-video-i128/Config.in
+		source package/x11r7/xdriver_xf86-video-imx-viv/Config.in
 		source package/x11r7/xdriver_xf86-video-intel/Config.in
 		source package/x11r7/xdriver_xf86-video-mach64/Config.in
 		source package/x11r7/xdriver_xf86-video-mga/Config.in
package/x11r7/xdriver_xf86-video-imx-viv/0001-Fix-LoadExtenions.patch new file +15 -0
new file mode 100644
index 0000000..3e2d47c
@@ -0,0 +1,15 @@
+Fix compilation with Xorg xserver 1.16.
+
+Signed-off-by: J?r?me Pouiller <[email protected]>
+
+--- a/EXA/src/vivante_fbdev/vivante_fbdev_driver.c	2014-07-25 15:38:24.000000000 +0200
++++ b/EXA/src/vivante_fbdev/vivante_fbdev_driver.c	2014-10-02 21:00:58.755409342 +0200
+@@ -261,7 +261,7 @@
+         setupDone = TRUE;
+         xf86AddDriver(&FBDEV, module, HaveDriverFuncs);
+         if(gVivFb)
+-            LoadExtension(&VIVExt, FALSE);
++            LoadExtensionList(&VIVExt, 1, FALSE);
+ 		return (pointer)1;
+     } else {
+         if (errmaj) *errmaj = LDR_ONCEONLY;
package/x11r7/xdriver_xf86-video-imx-viv/Config.in new file +31 -0
new file mode 100644
index 0000000..8926a50
@@ -0,0 +1,31 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_IMX_VIV
+	bool "xf86-video-imx-viv"
+	depends on BR2_PACKAGE_GPU_VIV_BIN_MX6Q_OUTPUT_X11
+	select BR2_PACKAGE_MESA3D # Needed in order to compile xorg with glx/dri
+	select BR2_PACKAGE_MESA3D_DRI_DRIVER
+	select BR2_PACKAGE_LIBDRM
+	select BR2_PACKAGE_XPROTO_XPROTO
+	select BR2_PACKAGE_XPROTO_XF86DRIPROTO
+	help
+	  X.Org driver for iMX6 GPU (Vivante)
+
+	  Notice EGL and GLes2 APIs are correctly supported. This driver should
+	  also be able to provide Desktop OpenGL implementation but, this
+	  feature seems broken since quite some time.
+
+	  To use this driver, add correct configuration to your
+	  /etc/X11/xorg.conf:
+
+	  Section "Device"
+	    [...]
+	    Driver          "vivante"
+	    Option          "vivante_fbdev" "/dev/fbX"
+	  EndSection
+
+	  Don't forget to load galcore.ko and create /dev/galcore before using
+	  this driver (else, Xorg will exit with an obscur message like
+	  "Segmentation fault at address 0xc").
+
+comment "xf86-video-imx-viv depends on gpu-viv-bin-mx6q with X11 output"
+	depends on BR2_arm
+	depends on !BR2_PACKAGE_GPU_VIV_BIN_MX6Q_OUTPUT_X11
package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk new file +33 -0
new file mode 100644
index 0000000..44d98d5
@@ -0,0 +1,33 @@
+################################################################################
+#
+# xdriver_xf86-video-imx-viv
+#
+################################################################################
+
+XDRIVER_XF86_VIDEO_IMX_VIV_VERSION = $(FREESCALE_IMX_VERSION)
+XDRIVER_XF86_VIDEO_IMX_VIV_SITE = $(FREESCALE_IMX_SITE)
+XDRIVER_XF86_VIDEO_IMX_VIV_SOURCE = xserver-xorg-video-imx-viv-$(XDRIVER_XF86_VIDEO_IMX_VIV_VERSION).tar.gz
+XDRIVER_XF86_VIDEO_IMX_VIV_DEPENDENCIES = gpu-viv-bin-mx6q xserver_xorg-server \
+	xproto_xproto xproto_xf86driproto libdrm
+XDRIVER_XF86_VIDEO_IMX_VIV_LICENSE = GPLv2
+XDRIVER_XF86_VIDEO_IMX_VIV_INSTALL_STAGING = YES
+XDRIVER_XF86_VIDEO_IMX_VIV_MAKE_CMD = $(TARGET_CONFIGURE_OPTS) $(MAKE1) -C $(@D)/EXA/src -f makefile.linux
+
+define XDRIVER_XF86_VIDEO_IMX_VIV_BUILD_CMDS
+	$(XDRIVER_XF86_VIDEO_IMX_VIV_MAKE_CMD) sysroot=$(STAGING_DIR) \
+		BUSID_HAS_NUMBER=1 BUILD_IN_YOCTO=1 XSERVER_GREATER_THAN_13=1 \
+		CFLAGS="$(TARGET_CFLAGS) -I$(@D)/DRI_1.10.4/src"
+endef
+
+define XDRIVER_XF86_VIDEO_IMX_VIV_INSTALL_STAGING_CMDS
+	$(XDRIVER_XF86_VIDEO_IMX_VIV_MAKE_CMD) prefix=$(STAGING_DIR)/usr install
+	$(INSTALL) -m 644 $(@D)/EXA/src/vivante_gal/vivante_priv.h $(STAGING_DIR)/usr/include
+	$(INSTALL) -m 644 $(@D)/EXA/src/vivante_gal/vivante_gal.h $(STAGING_DIR)/usr/include
+endef
+
+define XDRIVER_XF86_VIDEO_IMX_VIV_INSTALL_TARGET_CMDS
+	$(XDRIVER_XF86_VIDEO_IMX_VIV_MAKE_CMD) prefix=$(TARGET_DIR)/usr install
+endef
+
+$(eval $(generic-package))
+
Signature · 1 line
1.9.1
#18 lore raw

PATCH v6 7/15 xdriver_xf86-video-imx-viv: new package

Hi all,

Quoted 161 lines · J?r?me Pouiller

Xorg driver for imx6. Inspired from Yocto project.

I did not find any problem, but notice Yocto project force Xorg xserver 1.14.4 while we use 1.16.

Notice Vivante driver should be able to provide Desktop OpenGL implementation. However, this feature seems broken for a while[1]. Yocto use Mesa3D/swraster to provide Desktop OpenGL API[2].

[1] http://comments.gmane.org/gmane.linux.embedded.yocto.meta-freescale/8253
[2] See recipes-graphics/xorg-driver/xf86-video-imxfb-vivante_3.10.17-1.0.1.bb in meta-fsl-arm layer

Tested with:

    subsequent qt5base and libdrm fixes +
    QMX6 board +
    BR2_ARM_EABIHF= both tested
    BR2_ARM_ENABLE_NEON=y
    BR2_ARM_FPU_NEON=y
    BR2_TOOLCHAIN_EXTERNAL=y
    BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
    BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1"
    BR2_LINUX_KERNEL=y
    BR2_LINUX_KERNEL_CUSTOM_GIT=y
    BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://git.congatec.com/arm/qmx6_kernel.git"
    BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="9bafbcba67f7bb2a48a5e05998cecb1165aa444f"
    BR2_LINUX_KERNEL_DEFCONFIG="qmx6"
    BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x10008000"
    BR2_LINUX_KERNEL_DTS_SUPPORT=y
    BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-qmx6"
    BR2_PACKAGE_QT5=y
    BR2_PACKAGE_QT5BASE_LICENSE_APPROVED=y
    BR2_PACKAGE_QT5BASE_EXAMPLES=y
    BR2_PACKAGE_QT5BASE_OPENGL_ES2=y
    BR2_PACKAGE_QT5BASE_OPENGL_LIB=y
    BR2_PACKAGE_QT5BASE_XCB=y
    BR2_PACKAGE_QT5BASE_DEFAULT_QPA="xcb"
    BR2_PACKAGE_QT5BASE_GIF=y
    BR2_PACKAGE_QT5BASE_JPEG=y
    BR2_PACKAGE_QT5BASE_PNG=y
    BR2_PACKAGE_QT5QUICKCONTROLS=y
    BR2_PACKAGE_XORG7=y
    BR2_PACKAGE_XSERVER_XORG_SERVER=y
    BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR=y
    BR2_PACKAGE_XDRIVER_XF86_INPUT_EVDEV=y
    BR2_PACKAGE_XDRIVER_XF86_VIDEO_IMX_VIV=y
    BR2_PACKAGE_FREESCALE_IMX=y
    BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q=y
    BR2_PACKAGE_GPU_VIV_BIN_MX6Q=y
    BR2_PACKAGE_GPU_VIV_BIN_MX6Q_EXAMPLES=y
---
 package/x11r7/Config.in                            |  1 +
 .../0001-Fix-LoadExtenions.patch                   | 15 ++++++++++
 package/x11r7/xdriver_xf86-video-imx-viv/Config.in | 31 ++++++++++++++++++++
 .../xdriver_xf86-video-imx-viv.mk                  | 33 ++++++++++++++++++++++
 4 files changed, 80 insertions(+)
 create mode 100644 package/x11r7/xdriver_xf86-video-imx-viv/0001-Fix-LoadExtenions.patch
 create mode 100644 package/x11r7/xdriver_xf86-video-imx-viv/Config.in
 create mode 100644 package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk
package/x11r7/Config.in +1 -0
index 2fd1ff0..5480d9a 100644
@@ -160,6 +160,7 @@ if BR2_PACKAGE_XORG7
 		source package/x11r7/xdriver_xf86-video-glide/Config.in
 		source package/x11r7/xdriver_xf86-video-glint/Config.in
 		source package/x11r7/xdriver_xf86-video-i128/Config.in
+		source package/x11r7/xdriver_xf86-video-imx-viv/Config.in
 		source package/x11r7/xdriver_xf86-video-intel/Config.in
 		source package/x11r7/xdriver_xf86-video-mach64/Config.in
 		source package/x11r7/xdriver_xf86-video-mga/Config.in
package/x11r7/xdriver_xf86-video-imx-viv/0001-Fix-LoadExtenions.patch new file +15 -0
new file mode 100644
index 0000000..3e2d47c
@@ -0,0 +1,15 @@
+Fix compilation with Xorg xserver 1.16.
+
+Signed-off-by: J?r?me Pouiller <[email protected]>
+
+--- a/EXA/src/vivante_fbdev/vivante_fbdev_driver.c	2014-07-25 15:38:24.000000000 +0200
++++ b/EXA/src/vivante_fbdev/vivante_fbdev_driver.c	2014-10-02 21:00:58.755409342 +0200
+@@ -261,7 +261,7 @@
+         setupDone = TRUE;
+         xf86AddDriver(&FBDEV, module, HaveDriverFuncs);
+         if(gVivFb)
+-            LoadExtension(&VIVExt, FALSE);
++            LoadExtensionList(&VIVExt, 1, FALSE);
+ 		return (pointer)1;
+     } else {
+         if (errmaj) *errmaj = LDR_ONCEONLY;
package/x11r7/xdriver_xf86-video-imx-viv/Config.in new file +31 -0
new file mode 100644
index 0000000..8926a50
@@ -0,0 +1,31 @@
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_IMX_VIV
+	bool "xf86-video-imx-viv"
+	depends on BR2_PACKAGE_GPU_VIV_BIN_MX6Q_OUTPUT_X11
+	select BR2_PACKAGE_MESA3D # Needed in order to compile xorg with glx/dri
+	select BR2_PACKAGE_MESA3D_DRI_DRIVER
+	select BR2_PACKAGE_LIBDRM
+	select BR2_PACKAGE_XPROTO_XPROTO
+	select BR2_PACKAGE_XPROTO_XF86DRIPROTO
+	help
+	  X.Org driver for iMX6 GPU (Vivante)
+
+	  Notice EGL and GLes2 APIs are correctly supported. This driver should
+	  also be able to provide Desktop OpenGL implementation but, this
+	  feature seems broken since quite some time.
+
+	  To use this driver, add correct configuration to your
+	  /etc/X11/xorg.conf:
+
+	  Section "Device"
+	    [...]
+	    Driver          "vivante"
+	    Option          "vivante_fbdev" "/dev/fbX"
+	  EndSection
+
+	  Don't forget to load galcore.ko and create /dev/galcore before using
+	  this driver (else, Xorg will exit with an obscur message like
+	  "Segmentation fault at address 0xc").
+
+comment "xf86-video-imx-viv depends on gpu-viv-bin-mx6q with X11 output"
+	depends on BR2_arm
+	depends on !BR2_PACKAGE_GPU_VIV_BIN_MX6Q_OUTPUT_X11
package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk new file +23 -0
new file mode 100644
index 0000000..44d98d5
@@ -0,0 +1,33 @@
+################################################################################
+#
+# xdriver_xf86-video-imx-viv
+#
+################################################################################
+
+XDRIVER_XF86_VIDEO_IMX_VIV_VERSION = $(FREESCALE_IMX_VERSION)
+XDRIVER_XF86_VIDEO_IMX_VIV_SITE = $(FREESCALE_IMX_SITE)
+XDRIVER_XF86_VIDEO_IMX_VIV_SOURCE = xserver-xorg-video-imx-viv-$(XDRIVER_XF86_VIDEO_IMX_VIV_VERSION).tar.gz
+XDRIVER_XF86_VIDEO_IMX_VIV_DEPENDENCIES = gpu-viv-bin-mx6q xserver_xorg-server \
+	xproto_xproto xproto_xf86driproto libdrm
+XDRIVER_XF86_VIDEO_IMX_VIV_LICENSE = GPLv2
+XDRIVER_XF86_VIDEO_IMX_VIV_INSTALL_STAGING = YES
+XDRIVER_XF86_VIDEO_IMX_VIV_MAKE_CMD = $(TARGET_CONFIGURE_OPTS) $(MAKE1) -C $(@D)/EXA/src -f makefile.linux
+
+define XDRIVER_XF86_VIDEO_IMX_VIV_BUILD_CMDS
+	$(XDRIVER_XF86_VIDEO_IMX_VIV_MAKE_CMD) sysroot=$(STAGING_DIR) \
+		BUSID_HAS_NUMBER=1 BUILD_IN_YOCTO=1 XSERVER_GREATER_THAN_13=1 \
+		CFLAGS="$(TARGET_CFLAGS) -I$(@D)/DRI_1.10.4/src"
+endef
+
+define XDRIVER_XF86_VIDEO_IMX_VIV_INSTALL_STAGING_CMDS
+	$(XDRIVER_XF86_VIDEO_IMX_VIV_MAKE_CMD) prefix=$(STAGING_DIR)/usr install

package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk line 33

Quoted 10 lines
package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk new file +10 -0
+	$(INSTALL) -m 644 $(@D)/EXA/src/vivante_gal/vivante_priv.h $(STAGING_DIR)/usr/include
+	$(INSTALL) -m 644 $(@D)/EXA/src/vivante_gal/vivante_gal.h $(STAGING_DIR)/usr/include
+endef
+
+define XDRIVER_XF86_VIDEO_IMX_VIV_INSTALL_TARGET_CMDS
+	$(XDRIVER_XF86_VIDEO_IMX_VIV_MAKE_CMD) prefix=$(TARGET_DIR)/usr install
+endef
+
+$(eval $(generic-package))
+

As explained in my answer to the cover letter, this series of patch has been successfully tested on a Nitrogen6x board.
http://lists.busybox.net/pipermail/buildroot/2015-April/124739.html

More specifically, the test was based on the configuration provided in this commit message.

Regards,
Gary

#19 lore raw

PATCH v6 8/15 qt5base: apply new patch naming policy

In reply to Jérôme Pouiller
---
 .../{qt5base-0002-mkspecs-files.patch => 0002-mkspecs-files.patch}        | 0
 .../{qt5base-0003-uclibc-no-lfs.patch => 0003-uclibc-no-lfs.patch}        | 0
 2 files changed, 0 insertions(+), 0 deletions(-)
 rename package/qt5/qt5base/{qt5base-0002-mkspecs-files.patch => 0002-mkspecs-files.patch} (100%)
 rename package/qt5/qt5base/{qt5base-0003-uclibc-no-lfs.patch => 0003-uclibc-no-lfs.patch} (100%)
package/qt5/qt5base/0002-mkspecs-files.patch renamed from package/qt5/qt5base/qt5base-0002-mkspecs-files.patch +0 -0
similarity index 100%
rename from package/qt5/qt5base/qt5base-0002-mkspecs-files.patch
rename to package/qt5/qt5base/0002-mkspecs-files.patch
package/qt5/qt5base/0003-uclibc-no-lfs.patch renamed from package/qt5/qt5base/qt5base-0003-uclibc-no-lfs.patch +0 -0
similarity index 100%
rename from package/qt5/qt5base/qt5base-0003-uclibc-no-lfs.patch
rename to package/qt5/qt5base/0003-uclibc-no-lfs.patch
Signature · 1 line
1.9.1
#20 lore raw

PATCH v6 8/15 qt5base: apply new patch naming policy

Hi all,

package/qt5/qt5base/0003-uclibc-no-lfs.patch

Quoted 16 lines · J?r?me Pouiller
---
 .../{qt5base-0002-mkspecs-files.patch => 0002-mkspecs-files.patch}        | 0
 .../{qt5base-0003-uclibc-no-lfs.patch => 0003-uclibc-no-lfs.patch}        | 0
 2 files changed, 0 insertions(+), 0 deletions(-)
 rename package/qt5/qt5base/{qt5base-0002-mkspecs-files.patch => 0002-mkspecs-files.patch} (100%)
 rename package/qt5/qt5base/{qt5base-0003-uclibc-no-lfs.patch => 0003-uclibc-no-lfs.patch} (100%)
package/qt5/qt5base/0002-mkspecs-files.patch renamed from package/qt5/qt5base/qt5base-0002-mkspecs-files.patch +0 -0
similarity index 100%
rename from package/qt5/qt5base/qt5base-0002-mkspecs-files.patch
rename to package/qt5/qt5base/0002-mkspecs-files.patch
package/qt5/qt5base/0003-uclibc-no-lfs.patch renamed from package/qt5/qt5base/qt5base-0003-uclibc-no-lfs.patch +0 -0
similarity index 100%
rename from package/qt5/qt5base/qt5base-0003-uclibc-no-lfs.patch
rename to package/qt5/qt5base/0003-uclibc-no-lfs.patch

As explained in my answer to the cover letter, this series of patch has been successfully tested on a Nitrogen6x board.
http://lists.busybox.net/pipermail/buildroot/2015-April/124739.html

Regards,
Gary

#21 lore raw

PATCH v6 9/15 qt5base: fix compilation with Vivante headers.

In reply to Jérôme Pouiller
---
 package/qt5/qt5base/0004-xcb-egl-fixes.patch | 63 ++++++++++++++++++++++++++++
 1 file changed, 63 insertions(+)
 create mode 100644 package/qt5/qt5base/0004-xcb-egl-fixes.patch
package/qt5/qt5base/0004-xcb-egl-fixes.patch new file +63 -0
new file mode 100644
index 0000000..2bbd849
@@ -0,0 +1,63 @@
+The vivante headers pull in X11 defines which break eglconvenience
+
+* Adds a missing include to qeglplatformcontext.cpp
+* Fix namespace collision on CursorShape, pulled in from X11/X.h
+* Do not pass MESA_EGL_NO_X11_HEADERS when xcb is use
+
+[based on patch from Yocto project]
+Signed-off-by: J?r?me Pouiller <[email protected]>
+
+
+diff -Nuar a/src/platformsupport/eglconvenience/eglconvenience.pri b/src/platformsupport/eglconvenience/eglconvenience.pri
+--- a/src/platformsupport/eglconvenience/eglconvenience.pri	2014-08-07 16:53:50.038277168 -0400
++++ b/src/platformsupport/eglconvenience/eglconvenience.pri	2014-08-07 16:54:52.874278651 -0400
+@@ -30,8 +30,10 @@
+         }
+     }
+ 
+-    # Avoid X11 header collision
+-    DEFINES += MESA_EGL_NO_X11_HEADERS
++    !contains(QT_CONFIG,xcb) {
++        # Avoid X11 header collision
++        DEFINES += MESA_EGL_NO_X11_HEADERS
++    }
+ 
+     contains(QT_CONFIG,xlib) {
+         HEADERS += \
+diff -Nuar a/src/platformsupport/eglconvenience/qeglplatformcontext.cpp b/src/platformsupport/eglconvenience/qeglplatformcontext.cpp
+--- a/src/platformsupport/eglconvenience/qeglplatformcontext.cpp	2014-08-07 16:53:50.038277168 -0400
++++ b/src/platformsupport/eglconvenience/qeglplatformcontext.cpp	2014-08-07 16:56:00.630280249 -0400
+@@ -39,6 +39,7 @@
+ **
+ ****************************************************************************/
+ 
++#include <qtextstream.h>
+ #include "qeglplatformcontext_p.h"
+ #include "qeglconvenience_p.h"
+ #include "qeglpbuffer_p.h"
+--- a/src/platformsupport/eglconvenience/qeglplatformcursor_p.h	2014-08-07 16:53:50.038277168 -0400
++++ b/src/platformsupport/eglconvenience/qeglplatformcursor_p.h	2014-08-07 16:58:49.014284222 -0400
+@@ -42,6 +42,11 @@
+ #ifndef QEGLPLATFORMCURSOR_H
+ #define QEGLPLATFORMCURSOR_H
+ 
++// avoid namespace collision with X11/X.h
++#ifdef CursorShape
++#undef CursorShape
++#endif
++
+ #include <qpa/qplatformcursor.h>
+ #include <qpa/qplatformscreen.h>
+ 
+--- a/src/platformsupport/eglconvenience/qeglplatformcursor.cpp	2014-08-07 16:53:50.038277168 -0400
++++ b/src/platformsupport/eglconvenience/qeglplatformcursor.cpp	2014-08-07 17:00:36.806286766 -0400
+@@ -49,8 +49,8 @@
+ 
+ #include <QtPlatformSupport/private/qdevicediscovery_p.h>
+ 
+-#include "qeglplatformcursor_p.h"
+ #include "qeglplatformintegration_p.h"
++#include "qeglplatformcursor_p.h"
+ 
+ QT_BEGIN_NAMESPACE
+ 
Signature · 1 line
1.9.1
#22 lore raw

PATCH v6 9/15 qt5base: fix compilation with Vivante headers.

Hi all,

Quoted 65 lines · J?r?me Pouiller
---
 package/qt5/qt5base/0004-xcb-egl-fixes.patch | 63 ++++++++++++++++++++++++++++
 1 file changed, 63 insertions(+)
 create mode 100644 package/qt5/qt5base/0004-xcb-egl-fixes.patch
package/qt5/qt5base/0004-xcb-egl-fixes.patch new file +53 -0
new file mode 100644
index 0000000..2bbd849
@@ -0,0 +1,63 @@
+The vivante headers pull in X11 defines which break eglconvenience
+
+* Adds a missing include to qeglplatformcontext.cpp
+* Fix namespace collision on CursorShape, pulled in from X11/X.h
+* Do not pass MESA_EGL_NO_X11_HEADERS when xcb is use
+
+[based on patch from Yocto project]
+Signed-off-by: J?r?me Pouiller <[email protected]>
+
+
+diff -Nuar a/src/platformsupport/eglconvenience/eglconvenience.pri b/src/platformsupport/eglconvenience/eglconvenience.pri
+--- a/src/platformsupport/eglconvenience/eglconvenience.pri	2014-08-07 16:53:50.038277168 -0400
++++ b/src/platformsupport/eglconvenience/eglconvenience.pri	2014-08-07 16:54:52.874278651 -0400
+@@ -30,8 +30,10 @@
+         }
+     }
+ 
+-    # Avoid X11 header collision
+-    DEFINES += MESA_EGL_NO_X11_HEADERS
++    !contains(QT_CONFIG,xcb) {
++        # Avoid X11 header collision
++        DEFINES += MESA_EGL_NO_X11_HEADERS
++    }
+ 
+     contains(QT_CONFIG,xlib) {
+         HEADERS += \
+diff -Nuar a/src/platformsupport/eglconvenience/qeglplatformcontext.cpp b/src/platformsupport/eglconvenience/qeglplatformcontext.cpp
+--- a/src/platformsupport/eglconvenience/qeglplatformcontext.cpp	2014-08-07 16:53:50.038277168 -0400
++++ b/src/platformsupport/eglconvenience/qeglplatformcontext.cpp	2014-08-07 16:56:00.630280249 -0400
+@@ -39,6 +39,7 @@
+ **
+ ****************************************************************************/
+ 
++#include <qtextstream.h>
+ #include "qeglplatformcontext_p.h"
+ #include "qeglconvenience_p.h"
+ #include "qeglpbuffer_p.h"
+--- a/src/platformsupport/eglconvenience/qeglplatformcursor_p.h	2014-08-07 16:53:50.038277168 -0400
++++ b/src/platformsupport/eglconvenience/qeglplatformcursor_p.h	2014-08-07 16:58:49.014284222 -0400
+@@ -42,6 +42,11 @@
+ #ifndef QEGLPLATFORMCURSOR_H
+ #define QEGLPLATFORMCURSOR_H
+ 
++// avoid namespace collision with X11/X.h
++#ifdef CursorShape
++#undef CursorShape
++#endif
++
+ #include <qpa/qplatformcursor.h>
+ #include <qpa/qplatformscreen.h>
+ 
+--- a/src/platformsupport/eglconvenience/qeglplatformcursor.cpp	2014-08-07 16:53:50.038277168 -0400
++++ b/src/platformsupport/eglconvenience/qeglplatformcursor.cpp	2014-08-07 17:00:36.806286766 -0400

package/qt5/qt5base/0004-xcb-egl-fixes.patch line 63

Quoted 10 lines
package/qt5/qt5base/0004-xcb-egl-fixes.patch new file +10 -0
+@@ -49,8 +49,8 @@
+ 
+ #include <QtPlatformSupport/private/qdevicediscovery_p.h>
+ 
+-#include "qeglplatformcursor_p.h"
+ #include "qeglplatformintegration_p.h"
++#include "qeglplatformcursor_p.h"
+ 
+ QT_BEGIN_NAMESPACE
+ 

As explained in my answer to the cover letter, this series of patch has been successfully tested on a Nitrogen6x board.
http://lists.busybox.net/pipermail/buildroot/2015-April/124739.html

Regards,
Gary

#23 lore raw

PATCH v6 10/15 qt5base: fix "Unable to find an X11 visual" error

In reply to Jérôme Pouiller

Fix "Unable to find an X11 visual" bug that produce at runtime with Vivante drivers. Add a conditionnal patch and add variable QT5BASE_EXTRA_CFLAGS in order to enable workaround.

---
 .../qt5/qt5base/0001-Force_egl_visual_ID_33.patch  | 26 ++++++++++++++++++++++
 package/qt5/qt5base/qt5base.mk                     |  6 +++--
 2 files changed, 30 insertions(+), 2 deletions(-)
 create mode 100644 package/qt5/qt5base/0001-Force_egl_visual_ID_33.patch
package/qt5/qt5base/0001-Force_egl_visual_ID_33.patch new file +26 -0
new file mode 100644
index 0000000..e7e6c5e
@@ -0,0 +1,26 @@
+Workaround EGL initialization failure due visual mismatch
+
+Error:
+
+Warning: EGL suggested using X Visual ID 33 (RGB888) for EGL config 28 (RGB444), but this is incompatable
+Unable to find an X11 visual which matches EGL config 28
+Could not initialize EGL
+Aborted
+
+Upstream-Status: Inappropriate [workaround]
+
+Signed-off-by: Otavio Salvador <[email protected]>
+
+diff -Naur qtbase-opensource-src-5.1.1_original/src/platformsupport/eglconvenience/qxlibeglintegration.cpp qtbase-opensource-src-5.1.1/src/platformsupport/eglconvenience/qxlibeglintegration.cpp
+--- qtbase-opensource-src-5.1.1_original/src/platformsupport/eglconvenience/qxlibeglintegration.cpp	2013-12-25 19:08:42.163895341 -0800
++++ qtbase-opensource-src-5.1.1/src/platformsupport/eglconvenience/qxlibeglintegration.cpp	2013-12-25 19:09:37.207893799 -0800
+@@ -180,5 +180,9 @@
+     }
+ 
+     qWarning("Unable to find an X11 visual which matches EGL config %d", configId);
++#ifdef ENABLE_MX6_WORKAROUND
++    return (VisualID)33;
++#else
+     return (VisualID)0;
++#endif
+ }
package/qt5/qt5base/qt5base.mk +4 -2
index a36359d..4796785 100644
@@ -172,6 +172,8 @@ QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_PRINTSUPPORT) += Qt5PrintSupport
 
 QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_DBUS) += Qt5DBus
 
+QT5BASE_EXTRA_CFLAGS = $(if $(BR2_PACKAGE_GPU_VIV_BIN_MX6Q),-DENABLE_MX6_WORKAROUND)
+
 define QT5BASE_CONFIGURE_CMDS
 	(cd $(@D); \
 		PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
@@ -192,8 +194,8 @@ define QT5BASE_CONFIGURE_CMDS
 		-device buildroot \
 		-device-option CROSS_COMPILE="$(TARGET_CROSS)" \
 		-device-option BR_CCACHE="$(CCACHE)" \
-		-device-option BR_COMPILER_CFLAGS="$(TARGET_CFLAGS)" \
-		-device-option BR_COMPILER_CXXFLAGS="$(TARGET_CXXFLAGS)" \
+		-device-option BR_COMPILER_CFLAGS="$(TARGET_CFLAGS)$(QT5BASE_EXTRA_CFLAGS)" \
+		-device-option BR_COMPILER_CXXFLAGS="$(TARGET_CXXFLAGS)$(QT5BASE_EXTRA_CFLAGS)" \
 		-device-option EGLFS_PLATFORM_HOOKS_SOURCES="$(QT5BASE_EGLFS_PLATFORM_HOOKS_SOURCES)" \
 		-no-c++11 \
 		$(QT5BASE_CONFIGURE_OPTS) \
Signature · 1 line
1.9.1
#24 lore raw

PATCH v6 10/15 qt5base: fix "Unable to find an X11 visual" error

Hi all,

Quoted 57 lines · J?r?me Pouiller

Fix "Unable to find an X11 visual" bug that produce at runtime with Vivante drivers. Add a conditionnal patch and add variable QT5BASE_EXTRA_CFLAGS in order to enable workaround.

---
 .../qt5/qt5base/0001-Force_egl_visual_ID_33.patch  | 26 ++++++++++++++++++++++
 package/qt5/qt5base/qt5base.mk                     |  6 +++--
 2 files changed, 30 insertions(+), 2 deletions(-)
 create mode 100644 package/qt5/qt5base/0001-Force_egl_visual_ID_33.patch
package/qt5/qt5base/0001-Force_egl_visual_ID_33.patch new file +26 -0
new file mode 100644
index 0000000..e7e6c5e
@@ -0,0 +1,26 @@
+Workaround EGL initialization failure due visual mismatch
+
+Error:
+
+Warning: EGL suggested using X Visual ID 33 (RGB888) for EGL config 28 (RGB444), but this is incompatable
+Unable to find an X11 visual which matches EGL config 28
+Could not initialize EGL
+Aborted
+
+Upstream-Status: Inappropriate [workaround]
+
+Signed-off-by: Otavio Salvador <[email protected]>
+
+diff -Naur qtbase-opensource-src-5.1.1_original/src/platformsupport/eglconvenience/qxlibeglintegration.cpp qtbase-opensource-src-5.1.1/src/platformsupport/eglconvenience/qxlibeglintegration.cpp
+--- qtbase-opensource-src-5.1.1_original/src/platformsupport/eglconvenience/qxlibeglintegration.cpp	2013-12-25 19:08:42.163895341 -0800
++++ qtbase-opensource-src-5.1.1/src/platformsupport/eglconvenience/qxlibeglintegration.cpp	2013-12-25 19:09:37.207893799 -0800
+@@ -180,5 +180,9 @@
+     }
+ 
+     qWarning("Unable to find an X11 visual which matches EGL config %d", configId);
++#ifdef ENABLE_MX6_WORKAROUND
++    return (VisualID)33;
++#else
+     return (VisualID)0;
++#endif
+ }
package/qt5/qt5base/qt5base.mk +2 -0
index a36359d..4796785 100644
@@ -172,6 +172,8 @@ QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_PRINTSUPPORT) += Qt5PrintSupport
 
 QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_DBUS) += Qt5DBus
 
+QT5BASE_EXTRA_CFLAGS = $(if $(BR2_PACKAGE_GPU_VIV_BIN_MX6Q),-DENABLE_MX6_WORKAROUND)
+
 define QT5BASE_CONFIGURE_CMDS
 	(cd $(@D); \
 		PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \

package/qt5/qt5base/qt5base.mk define QT5BASE_CONFIGURE_CMDS · line 201

Quoted 10 lines
package/qt5/qt5base/qt5base.mk +2 -2
@@ -192,8 +194,8 @@ define QT5BASE_CONFIGURE_CMDS
 		-device buildroot \
 		-device-option CROSS_COMPILE="$(TARGET_CROSS)" \
 		-device-option BR_CCACHE="$(CCACHE)" \
-		-device-option BR_COMPILER_CFLAGS="$(TARGET_CFLAGS)" \
-		-device-option BR_COMPILER_CXXFLAGS="$(TARGET_CXXFLAGS)" \
+		-device-option BR_COMPILER_CFLAGS="$(TARGET_CFLAGS)$(QT5BASE_EXTRA_CFLAGS)" \
+		-device-option BR_COMPILER_CXXFLAGS="$(TARGET_CXXFLAGS)$(QT5BASE_EXTRA_CFLAGS)" \
 		-device-option EGLFS_PLATFORM_HOOKS_SOURCES="$(QT5BASE_EGLFS_PLATFORM_HOOKS_SOURCES)" \
 		-no-c++11 \
 		$(QT5BASE_CONFIGURE_OPTS) \

As explained in my answer to the cover letter, this series of patch has been successfully tested on a Nitrogen6x board.
http://lists.busybox.net/pipermail/buildroot/2015-April/124739.html

This patch is actually an improvement over the fix available in Yocto:
https://github.com/Freescale/meta-fsl-arm/blob/dizzy/qt5-layer/recipes-qt/qt5/qtbase/Force_egl_visual_ID_33.patch

Regards,
Gary

#25 lore raw

PATCH v6 11/15 Vivante drivers: bump to version 3.10.17-1.0.1

In reply to Jérôme Pouiller
---
 package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk           | 5 +++--
 .../x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk   | 2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)
package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk +3 -2
index 501b124..e07e5ca 100644
@@ -4,10 +4,11 @@
 #
 ################################################################################
 
+GPU_VIV_BIN_MX6Q_BASE_VERSION = 3.10.17-1.0.1
 ifeq ($(BR2_ARM_EABIHF),y)
-GPU_VIV_BIN_MX6Q_VERSION = $(FREESCALE_IMX_VERSION)-hfp
+GPU_VIV_BIN_MX6Q_VERSION = $(GPU_VIV_BIN_MX6Q_BASE_VERSION)-hfp
 else
-GPU_VIV_BIN_MX6Q_VERSION = $(FREESCALE_IMX_VERSION)-sfp
+GPU_VIV_BIN_MX6Q_VERSION = $(GPU_VIV_BIN_MX6Q_BASE_VERSION)-sfp
 endif
 GPU_VIV_BIN_MX6Q_SITE = $(FREESCALE_IMX_SITE)
 GPU_VIV_BIN_MX6Q_SOURCE = gpu-viv-bin-mx6q-$(GPU_VIV_BIN_MX6Q_VERSION).bin
package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk +1 -1
index 44d98d5..eab7edf 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-XDRIVER_XF86_VIDEO_IMX_VIV_VERSION = $(FREESCALE_IMX_VERSION)
+XDRIVER_XF86_VIDEO_IMX_VIV_VERSION = 3.10.17-1.0.1
 XDRIVER_XF86_VIDEO_IMX_VIV_SITE = $(FREESCALE_IMX_SITE)
 XDRIVER_XF86_VIDEO_IMX_VIV_SOURCE = xserver-xorg-video-imx-viv-$(XDRIVER_XF86_VIDEO_IMX_VIV_VERSION).tar.gz
 XDRIVER_XF86_VIDEO_IMX_VIV_DEPENDENCIES = gpu-viv-bin-mx6q xserver_xorg-server \
Signature · 1 line
1.9.1
#26 lore raw

PATCH v6 11/15 Vivante drivers: bump to version 3.10.17-1.0.1

Hi all,

Quoted 29 lines · J?r?me Pouiller
---
 package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk           | 5 +++--
 .../x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk   | 2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)
package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk +3 -2
index 501b124..e07e5ca 100644
@@ -4,10 +4,11 @@
 #
 ################################################################################
 
+GPU_VIV_BIN_MX6Q_BASE_VERSION = 3.10.17-1.0.1
 ifeq ($(BR2_ARM_EABIHF),y)
-GPU_VIV_BIN_MX6Q_VERSION = $(FREESCALE_IMX_VERSION)-hfp
+GPU_VIV_BIN_MX6Q_VERSION = $(GPU_VIV_BIN_MX6Q_BASE_VERSION)-hfp
 else
-GPU_VIV_BIN_MX6Q_VERSION = $(FREESCALE_IMX_VERSION)-sfp
+GPU_VIV_BIN_MX6Q_VERSION = $(GPU_VIV_BIN_MX6Q_BASE_VERSION)-sfp
 endif
 GPU_VIV_BIN_MX6Q_SITE = $(FREESCALE_IMX_SITE)
 GPU_VIV_BIN_MX6Q_SOURCE = gpu-viv-bin-mx6q-$(GPU_VIV_BIN_MX6Q_VERSION).bin
package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk +0 -0
index 44d98d5..eab7edf 100644

package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk line 10

Quoted 8 lines
package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk +1 -1
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-XDRIVER_XF86_VIDEO_IMX_VIV_VERSION = $(FREESCALE_IMX_VERSION)
+XDRIVER_XF86_VIDEO_IMX_VIV_VERSION = 3.10.17-1.0.1
 XDRIVER_XF86_VIDEO_IMX_VIV_SITE = $(FREESCALE_IMX_SITE)
 XDRIVER_XF86_VIDEO_IMX_VIV_SOURCE = xserver-xorg-video-imx-viv-$(XDRIVER_XF86_VIDEO_IMX_VIV_VERSION).tar.gz
 XDRIVER_XF86_VIDEO_IMX_VIV_DEPENDENCIES = gpu-viv-bin-mx6q xserver_xorg-server \

As explained in my answer to the cover letter, this series of patch has been successfully tested on a Nitrogen6x board.
http://lists.busybox.net/pipermail/buildroot/2015-April/124739.html

Also reviewed the versioning changes at the V1 of the series.

Regards,
Gary

#27 lore raw

PATCH v6 12/15 nitrogen6x_defconfig: bump kernel to 3.10.17_1.0.1_ga

In reply to Jérôme Pouiller
---
 configs/nitrogen6x_defconfig | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
configs/nitrogen6x_defconfig +2 -1
index e56bd60..d75f780 100644
@@ -26,7 +26,8 @@ BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="http://github.com/boundarydevices/u-bo
 # kernel
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
-BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="http://github.com/boundarydevices/linux-imx6/tarball/898627a/linux-imx6-898627a.tar.gz"
+# Last version of branch boundary-imx_3.10.17_1.0.1_ga
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux-imx6/tarball/ea957c5/linux-imx6-ea957c5.tar.gz"
 BR2_LINUX_KERNEL_DEFCONFIG="nitrogen6x"
 BR2_LINUX_KERNEL_INSTALL_TARGET=y
 BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x10008000"
Signature · 1 line
1.9.1
#28 lore raw

PATCH v6 12/15 nitrogen6x_defconfig: bump kernel to 3.10.17_1.0.1_ga

Hi all,

Quoted 10 lines · J?r?me Pouiller
---
 configs/nitrogen6x_defconfig | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
configs/nitrogen6x_defconfig +0 -0
index e56bd60..d75f780 100644

configs/nitrogen6x_defconfig BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="http://github.com/boundarydevices/u-bo · line 33

Quoted 9 lines
configs/nitrogen6x_defconfig +2 -1
@@ -26,7 +26,8 @@ BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="http://github.com/boundarydevices/u-bo
 # kernel
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
-BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="http://github.com/boundarydevices/linux-imx6/tarball/898627a/linux-imx6-898627a.tar.gz"
+# Last version of branch boundary-imx_3.10.17_1.0.1_ga
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux-imx6/tarball/ea957c5/linux-imx6-ea957c5.tar.gz"
 BR2_LINUX_KERNEL_DEFCONFIG="nitrogen6x"
 BR2_LINUX_KERNEL_INSTALL_TARGET=y
 BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x10008000"

As explained in my answer to the cover letter, this series of patch has been successfully tested on a Nitrogen6x board.
http://lists.busybox.net/pipermail/buildroot/2015-April/124739.html

Regards,
Gary

#29 lore raw

PATCH v6 13/15 freescale_imx6*_defconfig: bump kernel to 3.10.17_1.0.1_ga

In reply to Jérôme Pouiller
---
 configs/freescale_imx6dlsabresd_defconfig   | 3 ++-
 configs/freescale_imx6qsabresd_defconfig    | 3 ++-
 configs/freescale_imx6sololiteevk_defconfig | 3 ++-
 3 files changed, 6 insertions(+), 3 deletions(-)
configs/freescale_imx6dlsabresd_defconfig +2 -1
index 680031d..b4f0d74 100644
@@ -17,7 +17,8 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_GIT=y
 BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://git.freescale.com/imx/linux-2.6-imx.git"
-BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_3.10.17_1.0.0_ga"
+# Last version of branch imx_3.10.17_1.0.1_ga
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="dac46dcf913585956a0e7a838e6f4b7465f00f57"
 BR2_LINUX_KERNEL_DEFCONFIG="imx_v7"
 BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x10008000"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
configs/freescale_imx6qsabresd_defconfig +2 -1
index f2f702e..9ca89cb 100644
@@ -17,7 +17,8 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_GIT=y
 BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://git.freescale.com/imx/linux-2.6-imx.git"
-BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_3.10.17_1.0.0_ga"
+# Last version of branch imx_3.10.17_1.0.1_ga
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="dac46dcf913585956a0e7a838e6f4b7465f00f57"
 BR2_LINUX_KERNEL_DEFCONFIG="imx_v7"
 BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x10008000"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
configs/freescale_imx6sololiteevk_defconfig +2 -1
index f8ecc7b..f501fc3 100644
@@ -9,7 +9,8 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_GIT=y
 BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://git.freescale.com/imx/linux-2.6-imx.git"
-BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_3.10.17_1.0.0_ga"
+# Last version of branch imx_3.10.17_1.0.1_ga
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="dac46dcf913585956a0e7a838e6f4b7465f00f57"
 BR2_LINUX_KERNEL_DEFCONFIG="imx_v7"
 BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x10008000"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
Signature · 1 line
1.9.1
#30 lore raw

PATCH v6 13/15 freescale_imx6*_defconfig: bump kernel to 3.10.17_1.0.1_ga

Hi all,

Quoted 40 lines · J?r?me Pouiller
---
 configs/freescale_imx6dlsabresd_defconfig   | 3 ++-
 configs/freescale_imx6qsabresd_defconfig    | 3 ++-
 configs/freescale_imx6sololiteevk_defconfig | 3 ++-
 3 files changed, 6 insertions(+), 3 deletions(-)
configs/freescale_imx6dlsabresd_defconfig +2 -1
index 680031d..b4f0d74 100644
@@ -17,7 +17,8 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_GIT=y
 BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://git.freescale.com/imx/linux-2.6-imx.git"
-BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_3.10.17_1.0.0_ga"
+# Last version of branch imx_3.10.17_1.0.1_ga
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="dac46dcf913585956a0e7a838e6f4b7465f00f57"
 BR2_LINUX_KERNEL_DEFCONFIG="imx_v7"
 BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x10008000"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
configs/freescale_imx6qsabresd_defconfig +2 -1
index f2f702e..9ca89cb 100644
@@ -17,7 +17,8 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_GIT=y
 BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://git.freescale.com/imx/linux-2.6-imx.git"
-BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_3.10.17_1.0.0_ga"
+# Last version of branch imx_3.10.17_1.0.1_ga
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="dac46dcf913585956a0e7a838e6f4b7465f00f57"
 BR2_LINUX_KERNEL_DEFCONFIG="imx_v7"
 BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x10008000"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
configs/freescale_imx6sololiteevk_defconfig +0 -0
index f8ecc7b..f501fc3 100644

configs/freescale_imx6sololiteevk_defconfig BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" · line 16

Quoted 9 lines
configs/freescale_imx6sololiteevk_defconfig +2 -1
@@ -9,7 +9,8 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_GIT=y
 BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://git.freescale.com/imx/linux-2.6-imx.git"
-BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_3.10.17_1.0.0_ga"
+# Last version of branch imx_3.10.17_1.0.1_ga
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="dac46dcf913585956a0e7a838e6f4b7465f00f57"
 BR2_LINUX_KERNEL_DEFCONFIG="imx_v7"
 BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x10008000"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y

As I do not have any SABRE board from Freescale I couldn't test those. But the patch seems perfectly fine.

Regards,
Gary

#31 lore raw

PATCH v6 14/15 qmx6_defconfig: update

In reply to Jérôme Pouiller

- Update kernel
- Add u-boot configuration
- 6q_bootscript.txt is no more needed by new version of u-boot

---
 board/congatec/qmx6/6q_bootscript.txt |  2 --
 board/congatec/qmx6/post-build.sh     |  7 -------
 configs/qmx6_defconfig                | 25 +++++++++++++++++++++----
 3 files changed, 21 insertions(+), 13 deletions(-)
 delete mode 100644 board/congatec/qmx6/6q_bootscript.txt
 delete mode 100755 board/congatec/qmx6/post-build.sh
board/congatec/qmx6/6q_bootscript.txt deleted +0 -2
deleted file mode 100644
index 1382220..0000000
@@ -1,2 +0,0 @@
-set bootargs console=ttymxc1,115200 root=/dev/mmcblk0p1 rootwait consoleblank=0
-${fs}load mmc ${disk}:1 10800000 /boot/uImage && bootm 10800000 ; echo "Error loading kernel image"
board/congatec/qmx6/post-build.sh deleted +0 -7
deleted file mode 100755
index 92251a5..0000000
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-TARGET_DIR=$1
-BOARD_DIR="$(dirname $0)"
-
-mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "boot script" \
-    -d $BOARD_DIR/6q_bootscript.txt $TARGET_DIR/6q_bootscript
configs/qmx6_defconfig +21 -4
index 143e058..ff035a9 100644
@@ -1,16 +1,33 @@
 BR2_arm=y
 BR2_cortex_a9=y
 BR2_KERNEL_HEADERS_VERSION=y
-BR2_DEFAULT_KERNEL_VERSION="3.0.101"
-BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_0=y
+BR2_DEFAULT_KERNEL_VERSION="3.10.17"
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_10=y
 BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1"
-BR2_ROOTFS_POST_BUILD_SCRIPT="board/congatec/qmx6/post-build.sh"
+
+# Notice you need a recent version of u-boot (with DT support) to be able
+# to boot this kernel
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_GIT=y
 BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://git.congatec.com/arm/qmx6_kernel.git"
-BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_3.0.35_4.1.0_QMX6_R1.1.2"
+# Last version of branch cgt_imx_3.10.17_1.0.0
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="9bafbcba67f7bb2a48a5e05998cecb1165aa444f"
 BR2_LINUX_KERNEL_DEFCONFIG="qmx6"
+BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x10008000"
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-qmx6"
 BR2_LINUX_KERNEL_INSTALL_TARGET=y
+
+# Change boardname depending of your product number
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BOARDNAME="cgt_qmx6_pn016103"
+BR2_TARGET_UBOOT_CUSTOM_GIT=y
+BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://git.congatec.com/arm/qmx6_uboot.git"
+BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="6388c474189b42c07bb865dd604c74483da099f3"
+BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
+BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.pn016103.imx"
+
 BR2_TARGET_ROOTFS_EXT2=y
 BR2_TARGET_ROOTFS_EXT2_3=y
+
 BR2_PACKAGE_HOST_UBOOT_TOOLS=y
Signature · 1 line
1.9.1
#32 lore raw

PATCH v6 14/15 qmx6_defconfig: update

Hi all,

Quoted 66 lines · J?r?me Pouiller

- Update kernel
- Add u-boot configuration
- 6q_bootscript.txt is no more needed by new version of u-boot

---
 board/congatec/qmx6/6q_bootscript.txt |  2 --
 board/congatec/qmx6/post-build.sh     |  7 -------
 configs/qmx6_defconfig                | 25 +++++++++++++++++++++----
 3 files changed, 21 insertions(+), 13 deletions(-)
 delete mode 100644 board/congatec/qmx6/6q_bootscript.txt
 delete mode 100755 board/congatec/qmx6/post-build.sh
board/congatec/qmx6/6q_bootscript.txt deleted +0 -2
deleted file mode 100644
index 1382220..0000000
@@ -1,2 +0,0 @@
-set bootargs console=ttymxc1,115200 root=/dev/mmcblk0p1 rootwait consoleblank=0
-${fs}load mmc ${disk}:1 10800000 /boot/uImage && bootm 10800000 ; echo "Error loading kernel image"
board/congatec/qmx6/post-build.sh deleted +0 -7
deleted file mode 100755
index 92251a5..0000000
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-TARGET_DIR=$1
-BOARD_DIR="$(dirname $0)"
-
-mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "boot script" \
-    -d $BOARD_DIR/6q_bootscript.txt $TARGET_DIR/6q_bootscript
configs/qmx6_defconfig +14 -4
index 143e058..ff035a9 100644
@@ -1,16 +1,33 @@
 BR2_arm=y
 BR2_cortex_a9=y
 BR2_KERNEL_HEADERS_VERSION=y
-BR2_DEFAULT_KERNEL_VERSION="3.0.101"
-BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_0=y
+BR2_DEFAULT_KERNEL_VERSION="3.10.17"
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_10=y
 BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1"
-BR2_ROOTFS_POST_BUILD_SCRIPT="board/congatec/qmx6/post-build.sh"
+
+# Notice you need a recent version of u-boot (with DT support) to be able
+# to boot this kernel
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_GIT=y
 BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://git.congatec.com/arm/qmx6_kernel.git"
-BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_3.0.35_4.1.0_QMX6_R1.1.2"
+# Last version of branch cgt_imx_3.10.17_1.0.0
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="9bafbcba67f7bb2a48a5e05998cecb1165aa444f"
 BR2_LINUX_KERNEL_DEFCONFIG="qmx6"
+BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x10008000"
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-qmx6"
 BR2_LINUX_KERNEL_INSTALL_TARGET=y
+
+# Change boardname depending of your product number
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BOARDNAME="cgt_qmx6_pn016103"

configs/qmx6_defconfig line 33

Quoted 10 lines
configs/qmx6_defconfig +7 -0
+BR2_TARGET_UBOOT_CUSTOM_GIT=y
+BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://git.congatec.com/arm/qmx6_uboot.git"
+BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="6388c474189b42c07bb865dd604c74483da099f3"
+BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
+BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.pn016103.imx"
+
 BR2_TARGET_ROOTFS_EXT2=y
 BR2_TARGET_ROOTFS_EXT2_3=y
+
 BR2_PACKAGE_HOST_UBOOT_TOOLS=y

Although I couldn't try on a Congatec board, the patch looks good and it builds fine.

[build test only]

Regards,
Gary

#33 lore raw

PATCH v6 15/15 qmx6_qt5_demo_defconfig: new defconfig

In reply to Jérôme Pouiller

This new defconfig is based on qmx6_defconfig. In add:
- it enable support for graphical drivers
- it enable Qt5 (eglfs)

---
 configs/qmx6_qt5_demo_defconfig | 57 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 57 insertions(+)
 create mode 100644 configs/qmx6_qt5_demo_defconfig
configs/qmx6_qt5_demo_defconfig new file +57 -0
new file mode 100644
index 0000000..22c6e15
@@ -0,0 +1,57 @@
+# architecture
+BR2_arm=y
+BR2_cortex_a9=y
+BR2_KERNEL_HEADERS_VERSION=y
+BR2_DEFAULT_KERNEL_VERSION="3.10.17"
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_10=y
+BR2_TOOLCHAIN_BUILDROOT_EGLIBC=y
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
+
+# system
+BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1"
+
+# kernel
+# Notice you need a recent version of u-boot (with DT support) to be able
+# to boot this kernel
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_GIT=y
+BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://git.congatec.com/arm/qmx6_kernel.git"
+# Last version of branch cgt_imx_3.10.17_1.0.0
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="9bafbcba67f7bb2a48a5e05998cecb1165aa444f"
+BR2_LINUX_KERNEL_DEFCONFIG="qmx6"
+BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x10008000"
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-qmx6"
+BR2_LINUX_KERNEL_INSTALL_TARGET=y
+
+# Graphics drivers
+BR2_PACKAGE_FREESCALE_IMX=y
+BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q=y
+BR2_PACKAGE_GPU_VIV_BIN_MX6Q=y
+BR2_PACKAGE_GPU_VIV_BIN_MX6Q_OUTPUT_FB=y
+
+# Enable Qt5
+BR2_PACKAGE_QT5=y
+BR2_PACKAGE_QT5BASE_LICENSE_APPROVED=y
+BR2_PACKAGE_QT5BASE_GUI=y
+BR2_PACKAGE_QT5BASE_EGLFS=y
+BR2_PACKAGE_QT5BASE_OPENGL_LIB=y
+BR2_PACKAGE_QT5BASE_DEFAULT_QPA="eglfs"
+BR2_PACKAGE_QT5BASE_PNG=y
+
+# u-boot
+# Change boardname depending of your product number
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BOARDNAME="cgt_qmx6_pn016103"
+BR2_TARGET_UBOOT_CUSTOM_GIT=y
+BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://git.congatec.com/arm/qmx6_uboot.git"
+BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="6388c474189b42c07bb865dd604c74483da099f3"
+BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
+BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.pn016103.imx"
+
+# Images
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_3=y
+
+# Usefull host packages
+BR2_PACKAGE_HOST_UBOOT_TOOLS=y
Signature · 1 line
1.9.1
#34 lore raw

PATCH v6 15/15 qmx6_qt5_demo_defconfig: new defconfig

Hi all,

Quoted 63 lines · J?r?me Pouiller

This new defconfig is based on qmx6_defconfig. In add:
- it enable support for graphical drivers
- it enable Qt5 (eglfs)

---
 configs/qmx6_qt5_demo_defconfig | 57 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 57 insertions(+)
 create mode 100644 configs/qmx6_qt5_demo_defconfig
configs/qmx6_qt5_demo_defconfig new file +47 -0
new file mode 100644
index 0000000..22c6e15
@@ -0,0 +1,57 @@
+# architecture
+BR2_arm=y
+BR2_cortex_a9=y
+BR2_KERNEL_HEADERS_VERSION=y
+BR2_DEFAULT_KERNEL_VERSION="3.10.17"
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_10=y
+BR2_TOOLCHAIN_BUILDROOT_EGLIBC=y
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
+
+# system
+BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1"
+
+# kernel
+# Notice you need a recent version of u-boot (with DT support) to be able
+# to boot this kernel
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_GIT=y
+BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://git.congatec.com/arm/qmx6_kernel.git"
+# Last version of branch cgt_imx_3.10.17_1.0.0
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="9bafbcba67f7bb2a48a5e05998cecb1165aa444f"
+BR2_LINUX_KERNEL_DEFCONFIG="qmx6"
+BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x10008000"
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-qmx6"
+BR2_LINUX_KERNEL_INSTALL_TARGET=y
+
+# Graphics drivers
+BR2_PACKAGE_FREESCALE_IMX=y
+BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q=y
+BR2_PACKAGE_GPU_VIV_BIN_MX6Q=y
+BR2_PACKAGE_GPU_VIV_BIN_MX6Q_OUTPUT_FB=y
+
+# Enable Qt5
+BR2_PACKAGE_QT5=y
+BR2_PACKAGE_QT5BASE_LICENSE_APPROVED=y
+BR2_PACKAGE_QT5BASE_GUI=y
+BR2_PACKAGE_QT5BASE_EGLFS=y
+BR2_PACKAGE_QT5BASE_OPENGL_LIB=y
+BR2_PACKAGE_QT5BASE_DEFAULT_QPA="eglfs"
+BR2_PACKAGE_QT5BASE_PNG=y
+
+# u-boot
+# Change boardname depending of your product number
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BOARDNAME="cgt_qmx6_pn016103"
+BR2_TARGET_UBOOT_CUSTOM_GIT=y
+BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://git.congatec.com/arm/qmx6_uboot.git"

configs/qmx6_qt5_demo_defconfig line 57

Quoted 10 lines
configs/qmx6_qt5_demo_defconfig new file +10 -0
+BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="6388c474189b42c07bb865dd604c74483da099f3"
+BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
+BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.pn016103.imx"
+
+# Images
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_3=y
+
+# Usefull host packages
+BR2_PACKAGE_HOST_UBOOT_TOOLS=y

Although I couldn't try on a Congatec board, the patch looks good and it builds fine.

[build test only]

Regards,
Gary

#35 lore raw

v6 cover Add Xorg support for iMX6

In reply to Jérôme Pouiller

Hi Jerome,

Quoted 5 lines · J?r?me Pouiller

Hello,

Main purpose of this serie is to add support of Vivante GPU (found on imx6) to Xorg. This work is mainly adapted from Yocto.

Quoted 12 lines

v6:
- Rebase on master
- Add license for xdriver_xf86-video-imx-viv. Notice this package does not provide any license file.
- Fix typos suggested by Thomas P.
- Fix dependency on libdrm (gpu-viv-bin-mx6q does not depends on libdrm, but xdriver_xf86-video-imx-viv does depend)
- Add a note about runtime dependencies in gpu-viv-bin-mx6q
- Splited patch 6/15 in 3 parts
- Splited patch 10/15 in 2 parts
- Make 0001-Force_egl_visual_ID_33.patch contionnal

I confirm this patchset applies and builds fine on master. However I couldn't get X to start properly as it was complaining that no screen was available (using the same setup as before: nitrogen6x + HDMI monitor). I didn't have time to investigate any further but have you had any issue? I think the X server version has been bumped lately, are you still using the same xorg.conf?
I'll try to get more info before the end of the week.

Thanks,
Gary

#36 lore raw

v6 cover Add Xorg support for iMX6

Hi Jerome,

Quoted 21 lines · Gary Bisson

Hi Jerome,

Quoted 5 lines · J?r?me Pouiller

Hello,

Main purpose of this serie is to add support of Vivante GPU (found on imx6) to Xorg. This work is mainly adapted from Yocto.

Quoted 12 lines

v6:
- Rebase on master
- Add license for xdriver_xf86-video-imx-viv. Notice this package does not provide any license file.
- Fix typos suggested by Thomas P.
- Fix dependency on libdrm (gpu-viv-bin-mx6q does not depends on libdrm, but xdriver_xf86-video-imx-viv does depend)
- Add a note about runtime dependencies in gpu-viv-bin-mx6q
- Splited patch 6/15 in 3 parts
- Splited patch 10/15 in 2 parts
- Make 0001-Force_egl_visual_ID_33.patch contionnal

Quoted 7 lines

I confirm this patchset applies and builds fine on master. However I couldn't get X to start properly as it was complaining that no screen was available (using the same setup as before: nitrogen6x + HDMI monitor). I didn't have time to investigate any further but have you had any issue? I think the X server version has been bumped lately, are you still using the same xorg.conf?
I'll try to get more info before the end of the week.

I guess you must feel desperate about this patchset getting into mainline and I'm sorry not to have looked at it for months. Anyway, I got some time today and built everything from scratch again using the configuration you suggest in you 7/15 but for my board (nitrogen6x kernel and u-boot config).
First of all, everything applies and builds fine on today's master. Then everything I've tested is working fine:
- X (starting the X server with the xorg.conf from Yocto):
https://github.com/Freescale/meta-fsl-arm/blob/master/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6/xorg.conf
- GPU libs with X back-end (test of turorial7). Plus I made sure building with fb back-end still works fine
- Qt5 with openGl, as I didn't what was the best test I've started a few binaries:

# /usr/lib/qt/examples/opengl/hellogl2/hellogl2
# /usr/lib/qt/examples/gui/openglwindow/openglwindow
# qmlscene TestCase.qml

In other words, everything runs great!

Regards,
Gary