Add Xorg support for iMX6
v7 cover Add Xorg support for iMX6
Main purpose of this serie is to add support of Vivante GPU (found on imx6) to Xorg. This work is mainly adapted from Yocto.
v7:
- Rebase on master
- Drop already applied 'qt5base: apply new patch naming policy'
- Drop 'qmx6_qt5_demo_defconfig: new defconfig' since there is no other "demo configs" in buildroot.
- Add Tested-by and Reviewed-by from Garry (Thanks you Garry for all tests you did)
- Reword some commits
- Use Makefile tests instead of shell test [Thomas P.]
- Reorder 'bool' before 'select' and 'depends' [Thomas P.]
- Notice xdriver_xf86-video-imx-viv continue to select 'mesa3d' in order to compile Xorg with DRI support. This is far to be optimal since xdriver_xf86-video-imx-viv does not use mesa3d at runtime. The correct way would be to compile Xorg using mesa3d-headers. However it is a really intrusive change and all tests were done without this change. Therefore I finally didn't make this change.
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 (13):
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: 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
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 +++++++-- 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 | 40 +++++++------- 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 +++++++++ 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 ++++++++++++ 20 files changed, 255 insertions(+), 44 deletions(-) delete mode 100644 board/congatec/qmx6/6q_bootscript.txt delete mode 100755 board/congatec/qmx6/post-build.sh create mode 100644 package/qt5/qt5base/0001-Force_egl_visual_ID_33.patch 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
PATCH v7 1/13 mesa3d: Give possibility to external backends to enable DRI/Gallium
Thus, it is possible to force compilation of Gallium/DRI support in mesa3d even if no Gallium/DRI drivers are selected. This is intended to be used by external OpenGL provider (especialy further imx6 support).
--- package/mesa3d/mesa3d.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
package/mesa3d/mesa3d.mk +2 -2
@@ -61,7 +61,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
@@ -70,7 +70,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
Thomas Petazzoni
AppliedPATCH v7 1/13 mesa3d: Give possibility to external backends to enable DRI/Gallium
Dear J?r?me Pouiller,
Quoted 10 lines · J?r?me Pouiller
Thus, it is possible to force compilation of Gallium/DRI support in mesa3d even if no Gallium/DRI drivers are selected. This is intended to be used by external OpenGL provider (especialy further imx6 support).
Signed-off-by J?r?me Pouiller <[email protected]>Reviewed-by Bernd Kuhls <[email protected]>Tested-by Gary Bisson <[email protected]>--- package/mesa3d/mesa3d.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
Applied, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v7 2/13 gpu-viv-bin-mx6q: fix compiling issues with EGL_API_FB
In reply to Jérôme PouillerTo 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 | 14 ++++++++++---- package/freescale-imx/gpu-viv-bin-mx6q/vg.pc | 2 +- 4 files changed, 13 insertions(+), 7 deletions(-)
package/freescale-imx/gpu-viv-bin-mx6q/egl.pc +1 -1
@@ -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
@@ -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 +10 -4
@@ -46,16 +46,22 @@ define GPU_VIV_BIN_MX6Q_BUILD_CMDS ln -sf libGL.so.1.2 $(@D)/usr/lib/libGL.so.1.2.0 endef +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) 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
@@ -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
PATCH v7 2/13 gpu-viv-bin-mx6q: fix compiling issues with EGL_API_FB
Hi Jerome,
Quoted 45 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_FBon top ofeglvivante.hwhen necessary.Signed-off-by J?r?me Pouiller <[email protected]>Tested-by Gary Bisson <[email protected]>--- 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 | 14 ++++++++++---- package/freescale-imx/gpu-viv-bin-mx6q/vg.pc | 2 +- 4 files changed, 13 insertions(+), 7 deletions(-)package/freescale-imx/gpu-viv-bin-mx6q/egl.pc +1
-1@@ -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@@ -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 +0
-0
package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk define GPU_VIV_BIN_MX6Q_BUILD_CMDS · line 54
Quoted 9 lines
package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk +6
-0@@ -46,16 +46,22 @@ define GPU_VIV_BIN_MX6Q_BUILD_CMDS ln -sf libGL.so.1.2 $(@D)/usr/lib/libGL.so.1.2.0 endef +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; \
Can you re-send this patch without the backslash at the end of the line as it breaks the build (missing endif error)?
Regards,
Gary
PATCH v8 1/1 gpu-viv-bin-mx6q: fix compiling issues with EGL_API_FB
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.
---
v8:
- Fix typo error (arg!)
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 | 14 ++++++++++---- package/freescale-imx/gpu-viv-bin-mx6q/vg.pc | 2 +- 4 files changed, 13 insertions(+), 7 deletions(-)
package/freescale-imx/gpu-viv-bin-mx6q/egl.pc +1 -1
@@ -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
@@ -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 +10 -4
@@ -46,16 +46,22 @@ define GPU_VIV_BIN_MX6Q_BUILD_CMDS ln -sf libGL.so.1.2 $(@D)/usr/lib/libGL.so.1.2.0 endef +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) 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
@@ -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
PATCH v7 2/13 gpu-viv-bin-mx6q: fix compiling issues with EGL_API_FB
In reply to Jérôme PouillerDear J?r?me Pouiller,
Quoted 11 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_FBon top ofeglvivante.hwhen necessary.
Quoted 8 lines
Signed-off-by J?r?me Pouiller <[email protected]>Tested-by Gary Bisson <[email protected]>--- 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 | 14 ++++++++++---- package/freescale-imx/gpu-viv-bin-mx6q/vg.pc | 2 +- 4 files changed, 13 insertions(+), 7 deletions(-)
Applied after fixing the syntax error mentioned by Gary Bisson, thanks. Please check the latest master to confirm that it all builds fine for you.
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v7 3/13 gpu-viv-bin-mx6q: make fb/x11 choice explicit
In reply to Jérôme PouillerThis approach is less error-prone during development.
--- 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
@@ -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 + bool "X11" + depends on BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBXDAMAGE + select BR2_PACKAGE_XLIB_LIBXEXT + +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
@@ -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
Thomas Petazzoni
AppliedPATCH v7 3/13 gpu-viv-bin-mx6q: make fb/x11 choice explicit
Dear J?r?me Pouiller,
Quoted 9 lines · J?r?me Pouiller
This approach is less error-prone during development.
Tested-by Gary Bisson <[email protected]>Reviewed-by Gary Bisson <[email protected]>Signed-off-by J?r?me Pouiller <[email protected]>--- 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(-)
Applied, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v7 4/13 gpu-viv-bin-mx6q: remove useless build time deps
In reply to Jérôme PouillerSince 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
@@ -33,8 +33,8 @@ choice config BR2_PACKAGE_GPU_VIV_BIN_MX6Q_OUTPUT_X11 bool "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 comment "X11 backend needs Xorg package" depends on !BR2_PACKAGE_XORG7
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
Signature · 1 line
1.9.1
Thomas Petazzoni
AppliedPATCH v7 4/13 gpu-viv-bin-mx6q: remove useless build time deps
Dear J?r?me Pouiller,
Quoted 10 lines · J?r?me Pouiller
Since gpu-viv-bin-mx6q is provided as binary package, there is no build time dependencies.
Tested-by Gary Bisson <[email protected]>Reviewed-by Gary Bisson <[email protected]>Signed-off-by J?r?me Pouiller <[email protected]>--- 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(-)
Applied, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v7 5/13 gpu-viv-bin-mx6q: add version in libraries symlinks
In reply to Jérôme PouillerCreate libraries symbolic links with version numbers.
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
--- 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
@@ -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 ifeq ($(GPU_VIV_BIN_MX6Q_LIB_TARGET),fb)
Signature · 1 line
1.9.1
Thomas Petazzoni
AppliedPATCH v7 5/13 gpu-viv-bin-mx6q: add version in libraries symlinks
Dear J?r?me Pouiller,
Quoted 11 lines · J?r?me Pouiller
Create libraries symbolic links with version numbers.
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#L165Tested-by Gary Bisson <[email protected]>Reviewed-by Gary Bisson <[email protected]>Signed-off-by J?r?me Pouiller <[email protected]>--- package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-)
Applied, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v7 6/13 gpu-viv-bin-mx6q: change output selection mechanism
In reply to Jérôme PouillerMove 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
@@ -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
@@ -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
Thomas Petazzoni
AppliedPATCH v7 6/13 gpu-viv-bin-mx6q: change output selection mechanism
Dear J?r?me Pouiller,
Quoted 9 lines · J?r?me Pouiller
Move output selection to Config.in. It easier to add new backends selection (wayland, directfb, ...).
Tested-by Gary Bisson <[email protected]>Signed-off-by J?r?me Pouiller <[email protected]>--- 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(-)
Applied, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v7 7/13 xdriver_xf86-video-imx-viv: new package
In reply to Jérôme PouillerXorg 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
@@ -167,6 +167,7 @@ if BR2_PACKAGE_XORG7 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/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
@@ -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
@@ -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
@@ -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
PATCH v7 7/13 xdriver_xf86-video-imx-viv: new package
Dear J?r?me Pouiller,
Quoted 4 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.
We're actually using 1.17 now. Did you retest with 1.17 ? Otherwise, I've merged a series from Yann E. Morin a few days ago, which allows to use either X.org server 1.17 or 1.14.
package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk line 12
Quoted 6 lines
package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk new file +6
-0+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
License is really GPLv2+.
package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk line 25
Quoted 4 lines
package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk new file +4
-0+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
-D and full destination paths should be used.
Committed with those issues fixed.
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v7 8/13 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
@@ -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
PATCH v7 8/13 qt5base: fix compilation with Vivante headers.
Dear J?r?me Pouiller,
Quoted 6 lines · J?r?me Pouiller
Tested-by Gary Bisson <[email protected]>Signed-off-by J?r?me Pouiller <[email protected]>--- 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
Applied, thanks. Do you think we can upstream this patch to Qt5?
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v7 9/13 qt5base: fix "Unable to find an X11 visual" error
In reply to Jérôme PouillerFix "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.
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
--- .../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
@@ -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
@@ -167,6 +167,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)" \
@@ -187,8 +189,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)" \ $(QT5BASE_CONFIGURE_OPTS) \ )
Signature · 1 line
1.9.1
Thomas Petazzoni
AppliedPATCH v7 9/13 qt5base: fix "Unable to find an X11 visual" error
Dear J?r?me Pouiller,
package/qt5/qt5base/qt5base.mk QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_PRINTSUPPORT) += Qt5PrintSupport · line 170
Quoted 9 lines · J?r?me Pouiller
package/qt5/qt5base/qt5base.mk +1
-0@@ -167,6 +167,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)
I've merged that to a previous BR2_PACKAGE_GPU_VIV_BIN_MX6Q conditional.
package/qt5/qt5base/qt5base.mk define QT5BASE_CONFIGURE_CMDS · line 193
Quoted 12 lines
package/qt5/qt5base/qt5base.mk +3
-2+ define QT5BASE_CONFIGURE_CMDS (cd $(@D); \ PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \@@ -187,8 +189,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)" \
And added spaces here between TARGET_CFLAGS/CXXFLAGS and QT5BASE_EXTRA_CFLAGS.
Applied with those changes.
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v7 10/13 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
@@ -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
@@ -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
PATCH v7 10/13 Vivante drivers: bump to version 3.10.17-1.0.1
Dear J?r?me Pouiller,
Quoted 7 lines · J?r?me Pouiller
Tested-by Gary Bisson <[email protected]>Reviewed-by Gary Bisson <[email protected]>Signed-off-by J?r?me Pouiller <[email protected]>--- 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(-)
Applied, thanks. Is 3.10.17 the latest version of the GPU drivers? I think my colleague Antoine T?nart used a more recent version with the 3.10.53 Freescale kernel. Antoine, can you clarify?
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v7 10/13 Vivante drivers: bump to version 3.10.17-1.0.1
Hi,
Quoted 9 lines · Thomas Petazzoni
Quoted 7 lines · J?r?me Pouiller
Tested-by Gary Bisson <[email protected]>Reviewed-by Gary Bisson <[email protected]>Signed-off-by J?r?me Pouiller <[email protected]>--- 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(-)
Quoted 3 lines
Applied, thanks. Is 3.10.17 the latest version of the GPU drivers? I think my colleague Antoine T?nart used a more recent version with the 3.10.53 Freescale kernel. Antoine, can you clarify?
The latest version of the Vivante drivers seems to be the 5.0.11.p4.1 one, at least that's what meta-fsl-arm is using since April, 2nd. I've tested this new version with a 3.10.53 Freescale kernel, and it's working fine.
You can see the version scheme does not follow the previous one, and that's also true for other parts of this release: the binary name is different and the sources aren't organized the same way.
Also, the package/freescale-imx/gpu-viv-bin-mx6q/0001-correct-HAL-include.patch patch isn't needed anymore and some other minor modifications can be done.
I'd be happy to send a patch, but because this isn't just a version bump it's not (easily) possible to have both 3.10.17 and 5.0.11 versions to live alongside. What's you thoughts on this?
Antoine
Signature · 3 lines
Antoine T?nart, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v7 10/13 Vivante drivers: bump to version 3.10.17-1.0.1
Hello,
Quoted 13 lines · Antoine T?nart
Quoted 3 lines
Applied, thanks. Is 3.10.17 the latest version of the GPU drivers? I think my colleague Antoine T?nart used a more recent version with the 3.10.53 Freescale kernel. Antoine, can you clarify?
The latest version of the Vivante drivers seems to be the 5.0.11.p4.1 one, at least that's what meta-fsl-arm is using since April, 2nd. I've tested this new version with a 3.10.53 Freescale kernel, and it's working fine.
You can see the version scheme does not follow the previous one, and that's also true for other parts of this release: the binary name is different and the sources aren't organized the same way.
Quoted 7 lines
Also, the
package/freescale-imx/gpu-viv-bin-mx6q/0001-correct-HAL-include.patchpatch isn't needed anymore and some other minor modifications can be done.I'd be happy to send a patch, but because this isn't just a version bump it's not (easily) possible to have both 3.10.17 and 5.0.11 versions to live alongside. What's you thoughts on this?
J?r?me, Gary, would you be able to test the new version of the GPU drivers, and see if they work with both 3.10.17 and 3.10.53 ?
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v7 10/13 Vivante drivers: bump to version 3.10.17-1.0.1
Thomas, Antoine, All
Quoted 21 lines · Thomas Petazzoni
Hello,
Quoted 17 lines · Antoine T?nart
Quoted 3 lines
Applied, thanks. Is 3.10.17 the latest version of the GPU drivers? I think my colleague Antoine T?nart used a more recent version with the 3.10.53 Freescale kernel. Antoine, can you clarify?
The latest version of the Vivante drivers seems to be the 5.0.11.p4.1 one, at least that's what meta-fsl-arm is using since April, 2nd. I've tested this new version with a 3.10.53 Freescale kernel, and it's working fine.
You can see the version scheme does not follow the previous one, and that's also true for other parts of this release: the binary name is different and the sources aren't organized the same way.
Also, the
package/freescale-imx/gpu-viv-bin-mx6q/0001-correct-HAL-include.patchpatch isn't needed anymore and some other minor modifications can be done.
Quoted 6 lines
Quoted 3 lines
I'd be happy to send a patch, but because this isn't just a version bump it's not (easily) possible to have both 3.10.17 and 5.0.11 versions to live alongside. What's you thoughts on this?
J?r?me, Gary, would you be able to test the new version of the GPU drivers, and see if they work with both 3.10.17 and 3.10.53 ?
I'll try it out, but why don't we update the package and the kernel versions at once. A quick glance at the git repos shows that there's a 3.10.53 version for QMX6, Nitrogen6x and all the Freescale boards. Then the Wandboard doesn't appear to be maintained as it's still using a 3.0.x kernel and the riotboard uses mainline kernel.
Regards,
Gary
PATCH v7 10/13 Vivante drivers: bump to version 3.10.17-1.0.1
Gary,
Quoted 8 lines · Gary Bisson
Quoted 2 lines
J?r?me, Gary, would you be able to test the new version of the GPU drivers, and see if they work with both 3.10.17 and 3.10.53 ?
I'll try it out, but why don't we update the package and the kernel versions at once. A quick glance at the git repos shows that there's a 3.10.53 version for QMX6, Nitrogen6x and all the Freescale boards. Then the Wandboard doesn't appear to be maintained as it's still using a 3.0.x kernel and the riotboard uses mainline kernel.
Well, you're only looking at boards that have a defconfig in Buildroot. But I'm pretty sure there are lots of people using Buildroot on custom i.MX6 boards, which may not necessarily be supported by all kernel versions.
That being said, the jump from 3.10.17 to 3.10.53 is probably relatively easy, so people having such custom i.MX6 boards could just as well do the jump.
So, I'd indeed suggest to move all i.MX6 defconfigs in Buildroot to 3.10.53, and update the GPU drivers accordingly.
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v7 10/13 Vivante drivers: bump to version 3.10.17-1.0.1
Thomas, All,
Quoted 13 lines · Thomas Petazzoni
Gary,
Quoted 8 lines · Gary Bisson
Quoted 2 lines
J?r?me, Gary, would you be able to test the new version of the GPU drivers, and see if they work with both 3.10.17 and 3.10.53 ?
I'll try it out, but why don't we update the package and the kernel versions at once. A quick glance at the git repos shows that there's a 3.10.53 version for QMX6, Nitrogen6x and all the Freescale boards. Then the Wandboard doesn't appear to be maintained as it's still using a 3.0.x kernel and the riotboard uses mainline kernel.
Quoted 4 lines
Well, you're only looking at boards that have a defconfig in Buildroot. But I'm pretty sure there are lots of people using Buildroot on custom i.MX6 boards, which may not necessarily be supported by all kernel versions.
Sure but the other way around applies too, like what Antoine had to do when working on a 3.10.53 kernel.
Quoted 3 lines
That being said, the jump from 3.10.17 to 3.10.53 is probably relatively easy, so people having such custom i.MX6 boards could just as well do the jump.
Agreed, although Freescale changed quite a few things in the display sub-system.
Quoted 2 lines
So, I'd indeed suggest to move all i.MX6 defconfigs in Buildroot to 3.10.53, and update the GPU drivers accordingly.
I'll prepare patches to upgrade every packages to 3.10.53 GA release and there's a few.
Antoine, do you have a patch ready for the GPU package? Because it seems that it's not just a version bump:
https://github.com/Freescale/meta-fsl-arm/commit/74c86aa9639f6f20991ab64ea75177a017f8749a
Regards,
Gary
PATCH v7 10/13 Vivante drivers: bump to version 3.10.17-1.0.1
Gary,
Quoted 7 lines · Gary Bisson
Quoted 4 lines
Well, you're only looking at boards that have a defconfig in Buildroot. But I'm pretty sure there are lots of people using Buildroot on custom i.MX6 boards, which may not necessarily be supported by all kernel versions.
Sure but the other way around applies too, like what Antoine had to do when working on a 3.10.53 kernel.
Absolutely, but if the 3.10.53-compatible GPU drivers also work with 3.10.17, then we would have a situation where one single version of the GPU drivers can address both 3.10.17 and 3.10.53 based configurations. While what we have today only works for 3.10.17 based configurations.
Quoted 3 lines
Antoine, do you have a patch ready for the GPU package? Because it seems that it's not just a version bump:
https://github.com/Freescale/meta-fsl-arm/commit/74c86aa9639f6f20991ab64ea75177a017f8749a
Yes, Antoine does have such thing. Can you share it with Gary?
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v7 10/13 Vivante drivers: bump to version 3.10.17-1.0.1
Thomas, Antoine, Jerome, All
Quoted 9 lines · Thomas Petazzoni
Gary,
Quoted 5 lines · Gary Bisson
Quoted 4 lines
Well, you're only looking at boards that have a defconfig in Buildroot. But I'm pretty sure there are lots of people using Buildroot on custom i.MX6 boards, which may not necessarily be supported by all kernel versions.
Quoted 7 lines
Quoted 2 lines
Sure but the other way around applies too, like what Antoine had to do when working on a 3.10.53 kernel.
Absolutely, but if the 3.10.53-compatible GPU drivers also work with 3.10.17, then we would have a situation where one single version of the GPU drivers can address both 3.10.17 and 3.10.53 based configurations. While what we have today only works for 3.10.17 based configurations.
Actually this is not the case, 3.10.53 gpu libs are not compatible with 3.10.17 kernels, see the meta-fsl mailing list links below.
https://lists.yoctoproject.org/pipermail/meta-freescale/2015-April/013234.html
https://lists.yoctoproject.org/pipermail/meta-freescale/2015-April/013267.html
But the good news is that 3.14.28 and 3.10.53 kernels/libs are compatible, so we could update to the 3.14.28 GA release directly.
Regards,
Gary
PATCH v7 10/13 Vivante drivers: bump to version 3.10.17-1.0.1
In reply to Gary BissonQuoted 7 lines · Gary Bisson
Quoted 1 line · Thomas Petazzoni
On Tue, 5 May 2015 10:06:11 +0200, Gary Bisson wrote:
Antoine, do you have a patch ready for the GPU package? Because it seems that it's not just a version bump:
https://github.com/Freescale/meta-fsl-arm/commit/74c86aa9639f6f20991ab64ea75177a017f8749a
Please find the patch I used to bump the Vivante version to 5.0.11.p4.1 attached.
I'll be happy to have some feedbacks and to update the patch accordingly.
Antoine
Signature · 10 lines
Antoine T?nart, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com -------------- next part -------------- A non-text attachment was scrubbed... Name: 0001-gpu-viv-bin-mx6q-bump-to-5.0.11.p4.1.patch Type: text/x-diff Size: 5995 bytes Desc: not available URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20150511/4a688269/attachment.bin>
PATCH v7 10/13 Vivante drivers: bump to version 3.10.17-1.0.1
Antoine, All,
Quoted 9 lines · Antoine T?nart
Quoted 7 lines · Gary Bisson
Quoted 1 line · Thomas Petazzoni
On Tue, 5 May 2015 10:06:11 +0200, Gary Bisson wrote:
Antoine, do you have a patch ready for the GPU package? Because it seems that it's not just a version bump:
https://github.com/Freescale/meta-fsl-arm/commit/74c86aa9639f6f20991ab64ea75177a017f8749a
Quoted 5 lines
Please find the patch I used to bump the Vivante version to 5.0.11.p4.1 attached.
I'll be happy to have some feedbacks and to update the patch accordingly.
Thanks for the patch! Maybe we should start a new thread for this?
Here are my remarks with the current version:
- The package has been renamed from gpu-viv-bin-mx6q to imx-gpu-viv in Yocto, I guess it'd be nice to follow their lead as I'm sure it announces that this package will be used on other iMX platforms. Then I don't know if it's better to have a commit just for renaming the package and another one for the version bump.
- Also in Yocto they get rid of all the pkg-config files, do we still need those in our case?
- Finally I'd copy/paste the commit log from Yocto as it explains what's new in this version
Let me know if I can be of any help.
Thanks,
Gary
PATCH v7 10/13 Vivante drivers: bump to version 3.10.17-1.0.1
Hello Gary,
Quoted 19 lines · On Monday 11 May 2015 18:32:35 Gary Bisson wrote:
Antoine, All,
Quoted 9 lines · Antoine T?nart
Quoted 7 lines · Gary Bisson
Quoted 1 line · Thomas Petazzoni
On Tue, 5 May 2015 10:06:11 +0200, Gary Bisson wrote:
Antoine, do you have a patch ready for the GPU package? Because it seems that it's not just a version bump:
https://github.com/Freescale/meta-fsl-arm/commit/74c86aa9639f6f20991ab64ea75177a017f8749aQuoted 5 lines
Please find the patch I used to bump the Vivante version to 5.0.11.p4.1 attached.
I'll be happy to have some feedbacks and to update the patch accordingly.
Quoted 8 lines
Thanks for the patch! Maybe we should start a new thread for this?
Here are my remarks with the current version:
- The package has been renamed from gpu-viv-bin-mx6q to imx-gpu-viv in Yocto, I guess it'd be nice to follow their lead as I'm sure it announces that this package will be used on other iMX platforms. Then I don't know if it's better to have a commit just for renaming the package and another one for the version bump.
Since this package seems to be incompatible with kernels < 3.10.54, maybe we should provide imx-gpu-viv AND gpu-viv-bin-mx6q, no?
Quoted 2 lines
- Also in Yocto they get rid of all the pkg-config files, do we still need those in our case?
True, it seems they are not needed anymore.
Signature · 3 lines
J?r?me Pouiller, Sysmic Embedded Linux specialist http://www.sysmic.fr
PATCH v7 10/13 Vivante drivers: bump to version 3.10.17-1.0.1
Hi Jerome,
Quoted 24 lines · J?r?me Pouiller
Hello Gary,
Quoted 21 lines · On Monday 11 May 2015 18:32:35 Gary Bisson wrote:
Antoine, All,
Quoted 9 lines · Antoine T?nart
Quoted 7 lines · Gary Bisson
Quoted 1 line · Thomas Petazzoni
On Tue, 5 May 2015 10:06:11 +0200, Gary Bisson wrote:
Antoine, do you have a patch ready for the GPU package? Because it seems that it's not just a version bump:
https://github.com/Freescale/meta-fsl-arm/commit/74c86aa9639f6f20991ab64ea75177a017f8749aQuoted 5 lines
Please find the patch I used to bump the Vivante version to 5.0.11.p4.1 attached.
I'll be happy to have some feedbacks and to update the patch accordingly.
Thanks for the patch! Maybe we should start a new thread for this?
Quoted 8 lines
Quoted 6 lines
Here are my remarks with the current version:
- The package has been renamed from gpu-viv-bin-mx6q to imx-gpu-viv in Yocto, I guess it'd be nice to follow their lead as I'm sure it announces that this package will be used on other iMX platforms. Then I don't know if it's better to have a commit just for renaming the package and another one for the version bump.Since this package seems to be incompatible with kernels < 3.10.54, maybe we should provide imx-gpu-viv AND gpu-viv-bin-mx6q, no?
Well the gpu-viv-bin-mx6q is only good for 3.10.17 whereas the new imx-gpu-viv apparently works for both 3.10.53 and 3.14.28. Also most of the kernels offered by manufacturers are now 3.10.53 or above. But let's consider the option, wouldn't it be a headache for packages that depend on it such as gst1-imx or xdriver_xf86-video-imx-viv? I guess it'd need to check on the kernel headers versions to know which package it depends on.
Thanks,
Gary
PATCH v7 10/13 Vivante drivers: bump to version 3.10.17-1.0.1
Dear Gary Bisson,
Quoted 10 lines · Gary Bisson
Quoted 2 lines
Since this package seems to be incompatible with kernels < 3.10.54, maybe we should provide imx-gpu-viv AND gpu-viv-bin-mx6q, no?
Well the gpu-viv-bin-mx6q is only good for 3.10.17 whereas the new imx-gpu-viv apparently works for both 3.10.53 and 3.14.28. Also most of the kernels offered by manufacturers are now 3.10.53 or above. But let's consider the option, wouldn't it be a headache for packages that depend on it such as gst1-imx or xdriver_xf86-video-imx-viv? I guess it'd need to check on the kernel headers versions to know which package it depends on.
We could use a virtual package, but it indeed seems to be too much of an headache. If the new version of the i.MX6 GPU drivers support both 3.10.53 and 3.14.28, then I think we should package just this latest version. People running 3.10.17 should upgrade :)
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v7 10/13 Vivante drivers: bump to version 3.10.17-1.0.1
In reply to Gary BissonGary,
Quoted 6 lines
I'll try it out, but why don't we update the package and the kernel versions at once. A quick glance at the git repos shows that there's a
3.10.53 version for QMX6, Nitrogen6x and all the Freescale boards. Then the Wandboard doesn't appear to be maintained as it's still using a 3.0.x kernel and the riotboard uses mainline kernel.
In fact, the Wandboard Linux kernel 3.10.53 is available on github ==> https://github.com/wandboard-org/linux/tree/wandboard_imx_3.10.53_1.1.0_ga
Best regards
Fabrice
PATCH v7 10/13 Vivante drivers: bump to version 3.10.17-1.0.1
Hi Fabrice
Quoted 10 lines · Fabrice Mousset | GEOCEPT GmbH
Gary,
Quoted 6 lines
I'll try it out, but why don't we update the package and the kernel versions at once. A quick glance at the git repos shows that there's a
3.10.53 version for QMX6, Nitrogen6x and all the Freescale boards. Then the Wandboard doesn't appear to be maintained as it's still using a 3.0.x kernel and the riotboard uses mainline kernel.In fact, the Wandboard Linux kernel 3.10.53 is available on github ==> https://github.com/wandboard-org/linux/tree/wandboard_imx_3.10.53_1.1.0_ga
Thanks for sharing this link! I actually wanted to say that the Wandboard *defconfig* in Buildroot isn't maintained. Once the packages will be updated, would you be willing to update the Wandboard defconfig if you happen to have the board?
Thanks,
Gary
PATCH v7 10/13 Vivante drivers: bump to version 3.10.17-1.0.1
Hi Gary
Quoted 4 lines
Thanks for sharing this link! I actually wanted to say that the Wandboard *defconfig* in Buildroot isn't maintained. Once the packages will be updated, would you be willing to update the Wandboard defconfig if you happen to have the board?
Yes, I've got a Wandboard Quad, so I could upgrade defconfig for the Quad board. This should also works for Dual and Solo board, there are minimal differences. I'm a little busy at the moment, so I would do this in the next 2 or 3 days. Is this okay for you?
Which packages should be integrated into the build/image? Of course the Vivante driver, but what else?
Regards
Fabrice
PATCH v7 10/13 Vivante drivers: bump to version 3.10.17-1.0.1
Hi Fabrice,
Quoted 11 lines · Fabrice Mousset | GEOCEPT GmbH
Hi Gary
Quoted 4 lines
Thanks for sharing this link! I actually wanted to say that the Wandboard *defconfig* in Buildroot isn't maintained. Once the packages will be updated, would you be willing to update the Wandboard defconfig if you happen to have the board?
Yes, I've got a Wandboard Quad, so I could upgrade defconfig for the Quad board. This should also works for Dual and Solo board, there are minimal differences. I'm a little busy at the moment, so I would do this in the next 2 or 3 days. Is this okay for you?
Don't worry there's no rush, the GPU package isn't updated yet. However it's great to know you are willing to update the defconfig, we will ping you as soon as everything is ready.
Quoted 2 lines
Which packages should be integrated into the build/image? Of course the Vivante driver, but what else?
Actually the Vivante package is the ultimate test to perform as it requires a match between the libraries and the kernel driver version. The rest of the packages (VPU, gstreamer plugins etc...) are good to test but not mandatory I'd say.
Thanks,
Gary
PATCH v7 10/13 Vivante drivers: bump to version 3.10.17-1.0.1
Hi Gary,
Quoted 3 lines
Don't worry there's no rush, the GPU package isn't updated yet. However it's great to know you are willing to update the defconfig, we will ping you as soon as everything is ready.
Okay, so this will not be integrated in next BuildRoot release I presume.
Quoted 7 lines
Quoted 2 lines
Which packages should be integrated into the build/image? Of course the Vivante driver, but what else?
Actually the Vivante package is the ultimate test to perform as it requires a match between the libraries and the kernel driver version.
The rest of the packages (VPU, gstreamer plugins etc...) are good to test but not mandatory I'd say.
Okay, seems not to be too complicated to check.
Quoted 3 lines
Thanks,
Gary
Your welcome ;-)
Fabrice
PATCH v7 11/13 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
@@ -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
Thomas Petazzoni
AppliedPATCH v7 11/13 nitrogen6x_defconfig: bump kernel to 3.10.17_1.0.1_ga
Dear J?r?me Pouiller,
Quoted 6 lines · J?r?me Pouiller
Tested-by Gary Bisson <[email protected]>Reviewed-by Gary Bisson <[email protected]>Signed-off-by J?r?me Pouiller <[email protected]>--- configs/nitrogen6x_defconfig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
Applied, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v7 12/13 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
@@ -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
@@ -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
@@ -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="0x80008000" BR2_LINUX_KERNEL_DTS_SUPPORT=y
Signature · 1 line
1.9.1
Thomas Petazzoni
AppliedPATCH v7 12/13 freescale_imx6*_defconfig: bump kernel to 3.10.17_1.0.1_ga
Dear J?r?me Pouiller,
Quoted 7 lines · J?r?me Pouiller
Reviewed-by Gary Bisson <[email protected]>Signed-off-by J?r?me Pouiller <[email protected]>--- configs/freescale_imx6dlsabresd_defconfig | 3 ++- configs/freescale_imx6qsabresd_defconfig | 3 ++- configs/freescale_imx6sololiteevk_defconfig | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-)
Applied, thanks.
Vincent, if you could to a build + run test of those defconfigs, it would be nice.
Thanks a lot,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v7 13/13 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
@@ -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
@@ -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
@@ -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
Thomas Petazzoni
AppliedPATCH v7 13/13 qmx6_defconfig: update
Dear J?r?me Pouiller,
Quoted 8 lines · J?r?me Pouiller
- Update kernel
- Add u-boot configuration
- 6q_bootscript.txt is no more needed by new version of u-bootSigned-off-by J?r?me Pouiller <[email protected]>Tested-by Gary Bisson <[email protected]>[build test only]
Quoted 8 lines
Signed-off-by J?r?me Pouiller <[email protected]>--- 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
Applied, thanks.
Stephan, if you could do a build + run test of this new defconfig on your Congatec i.MX6 platform, it would be great.
Thanks a lot,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com