* [Buildroot] [PATCH v3 00/14] Add Xorg support for iMX6
@ 2014-11-29 9:35 Jérôme Pouiller
2014-11-29 9:35 ` [Buildroot] [PATCH v3 01/14] mesa3d: Give possibility to external backends to enable DRI/Gallium Jérôme Pouiller
` (14 more replies)
0 siblings, 15 replies; 20+ messages in thread
From: Jérôme Pouiller @ 2014-11-29 9:35 UTC (permalink / raw)
To: buildroot
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.
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 (14):
mesa3d: Give possibility to external backends to enable DRI/Gallium
gpu-viv-bin-mx6q: use self-extractible helper
gpu-viv-bin-mx6q: fix compiling issues with EGL_API_FB
gpu-viv-bin-mx6q: fix GLESv2 support
gpu-viv-bin-mx6q: make fb/x11 choice explicit
gpu-viv-bin-mx6q: change output selection mechanism
xdriver_xf86-video-imx-viv: new package
libdrm: fix support for xserver with Vivante drivers
qt5base: apply new patch naming policy
qt5base: fix Vivante x11/EGL configuration
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 | 49 +++++++++++++++--
package/freescale-imx/gpu-viv-bin-mx6q/Config.in | 29 +++++++++-
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 | 56 ++++++++-----------
package/freescale-imx/gpu-viv-bin-mx6q/vg.pc | 2 +-
package/libdrm/0001-update-arm.patch | 37 +++++++++++++
package/mesa3d/mesa3d.mk | 4 +-
.../qt5/qt5base/0001-Force_egl_visual_ID_33.patch | 23 ++++++++
...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/x11r7/Config.in | 1 +
.../0001-Fix-LoadExtenions.patch | 15 ++++++
package/x11r7/xdriver_xf86-video-imx-viv/Config.in | 27 ++++++++++
.../xdriver_xf86-video-imx-viv.mk | 32 +++++++++++
22 files changed, 306 insertions(+), 57 deletions(-)
delete mode 100644 board/congatec/qmx6/6q_bootscript.txt
delete mode 100755 board/congatec/qmx6/post-build.sh
create mode 100644 package/libdrm/0001-update-arm.patch
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
--
1.9.1
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Buildroot] [PATCH v3 01/14] mesa3d: Give possibility to external backends to enable DRI/Gallium
2014-11-29 9:35 [Buildroot] [PATCH v3 00/14] Add Xorg support for iMX6 Jérôme Pouiller
@ 2014-11-29 9:35 ` Jérôme Pouiller
2014-12-27 19:14 ` Thomas Petazzoni
2014-11-29 9:35 ` [Buildroot] [PATCH v3 02/14] gpu-viv-bin-mx6q: use self-extractible helper Jérôme Pouiller
` (13 subsequent siblings)
14 siblings, 1 reply; 20+ messages in thread
From: Jérôme Pouiller @ 2014-11-29 9:35 UTC (permalink / raw)
To: buildroot
Signed-off-by: J?r?me Pouiller <jezz@sysmic.org>
---
package/mesa3d/mesa3d.mk | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
index 8dfad6c..898254d 100644
--- a/package/mesa3d/mesa3d.mk
+++ b/package/mesa3d/mesa3d.mk
@@ -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
--
1.9.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [Buildroot] [PATCH v3 02/14] gpu-viv-bin-mx6q: use self-extractible helper
2014-11-29 9:35 [Buildroot] [PATCH v3 00/14] Add Xorg support for iMX6 Jérôme Pouiller
2014-11-29 9:35 ` [Buildroot] [PATCH v3 01/14] mesa3d: Give possibility to external backends to enable DRI/Gallium Jérôme Pouiller
@ 2014-11-29 9:35 ` Jérôme Pouiller
2014-12-27 19:13 ` Thomas Petazzoni
2014-11-29 9:35 ` [Buildroot] [PATCH v3 03/14] gpu-viv-bin-mx6q: fix compiling issues with EGL_API_FB Jérôme Pouiller
` (12 subsequent siblings)
14 siblings, 1 reply; 20+ messages in thread
From: Jérôme Pouiller @ 2014-11-29 9:35 UTC (permalink / raw)
To: buildroot
Signed-off-by: J?r?me Pouiller <jezz@sysmic.org>
---
.../freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk | 15 ++-------------
1 file changed, 2 insertions(+), 13 deletions(-)
diff --git a/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk b/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk
index aef16a3..bc44e38 100644
--- a/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk
+++ b/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk
@@ -15,12 +15,7 @@ GPU_VIV_BIN_MX6Q_SOURCE = gpu-viv-bin-mx6q-$(GPU_VIV_BIN_MX6Q_VERSION).bin
GPU_VIV_BIN_MX6Q_INSTALL_STAGING = YES
GPU_VIV_BIN_MX6Q_LICENSE = Freescale Semiconductor Software License Agreement
-
-# No license file is included in the archive; we could extract it from
-# the self-extractor, but that's just too much effort.
-# This is a legal minefield: the EULA specifies that
-# the Board Support Package includes software and hardware (sic!)
-# for which a separate license is needed...
+GPU_VIV_BIN_MX6Q_LICENSE_FILES = EULA
GPU_VIV_BIN_MX6Q_REDISTRIBUTE = NO
GPU_VIV_BIN_MX6Q_PROVIDES = libegl libgles libopenvg
@@ -33,14 +28,8 @@ else
GPU_VIV_BIN_MX6Q_LIB_TARGET = fb
endif
-# The archive is a shell-self-extractor of a bzipped tar. It happens
-# to extract in the correct directory (gpu-viv-bin-mx6q-x.y.z)
-# The --force makes sure it doesn't fail if the source dir already exists.
-# The --auto-accept skips the license check - not needed for us
-# because we have legal-info.
define GPU_VIV_BIN_MX6Q_EXTRACT_CMDS
- (cd $(BUILD_DIR); \
- sh $(DL_DIR)/$(GPU_VIV_BIN_MX6Q_SOURCE) --force --auto-accept)
+ $(call FREESCALE_IMX_EXTRACT_HELPER,$(DL_DIR)/$(GPU_VIV_BIN_MX6Q_SOURCE))
endef
# Instead of building, we fix up the inconsistencies that exist
--
1.9.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [Buildroot] [PATCH v3 03/14] gpu-viv-bin-mx6q: fix compiling issues with EGL_API_FB
2014-11-29 9:35 [Buildroot] [PATCH v3 00/14] Add Xorg support for iMX6 Jérôme Pouiller
2014-11-29 9:35 ` [Buildroot] [PATCH v3 01/14] mesa3d: Give possibility to external backends to enable DRI/Gallium Jérôme Pouiller
2014-11-29 9:35 ` [Buildroot] [PATCH v3 02/14] gpu-viv-bin-mx6q: use self-extractible helper Jérôme Pouiller
@ 2014-11-29 9:35 ` Jérôme Pouiller
2014-12-27 19:13 ` Thomas Petazzoni
2014-11-29 9:35 ` [Buildroot] [PATCH v3 04/14] gpu-viv-bin-mx6q: fix GLESv2 support Jérôme Pouiller
` (11 subsequent siblings)
14 siblings, 1 reply; 20+ messages in thread
From: Jérôme Pouiller @ 2014-11-29 9:35 UTC (permalink / raw)
To: buildroot
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.
Signed-off-by: J?r?me Pouiller <jezz@sysmic.org>
---
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(-)
diff --git a/package/freescale-imx/gpu-viv-bin-mx6q/egl.pc b/package/freescale-imx/gpu-viv-bin-mx6q/egl.pc
index c984247..d1d09a0 100644
--- a/package/freescale-imx/gpu-viv-bin-mx6q/egl.pc
+++ b/package/freescale-imx/gpu-viv-bin-mx6q/egl.pc
@@ -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}/
diff --git a/package/freescale-imx/gpu-viv-bin-mx6q/glesv2.pc b/package/freescale-imx/gpu-viv-bin-mx6q/glesv2.pc
index 7cfb5e7..74ce792 100644
--- a/package/freescale-imx/gpu-viv-bin-mx6q/glesv2.pc
+++ b/package/freescale-imx/gpu-viv-bin-mx6q/glesv2.pc
@@ -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}/
diff --git a/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk b/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk
index bc44e38..1158e42 100644
--- a/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk
+++ b/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk
@@ -47,14 +47,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
diff --git a/package/freescale-imx/gpu-viv-bin-mx6q/vg.pc b/package/freescale-imx/gpu-viv-bin-mx6q/vg.pc
index fb14005..677a7ee 100644
--- a/package/freescale-imx/gpu-viv-bin-mx6q/vg.pc
+++ b/package/freescale-imx/gpu-viv-bin-mx6q/vg.pc
@@ -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}/
--
1.9.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [Buildroot] [PATCH v3 04/14] gpu-viv-bin-mx6q: fix GLESv2 support
2014-11-29 9:35 [Buildroot] [PATCH v3 00/14] Add Xorg support for iMX6 Jérôme Pouiller
` (2 preceding siblings ...)
2014-11-29 9:35 ` [Buildroot] [PATCH v3 03/14] gpu-viv-bin-mx6q: fix compiling issues with EGL_API_FB Jérôme Pouiller
@ 2014-11-29 9:35 ` Jérôme Pouiller
2014-11-29 9:35 ` [Buildroot] [PATCH v3 05/14] gpu-viv-bin-mx6q: make fb/x11 choice explicit Jérôme Pouiller
` (10 subsequent siblings)
14 siblings, 0 replies; 20+ messages in thread
From: Jérôme Pouiller @ 2014-11-29 9:35 UTC (permalink / raw)
To: buildroot
Tested with:
QMX6 board +
BR2_TOOLCHAIN_EXTERNAL=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_APPENDED_UIMAGE=y
BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x10008000"
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_LIB=y
BR2_PACKAGE_QT5BASE_EGLFS=y
BR2_PACKAGE_QT5BASE_DEFAULT_QPA="eglfs"
BR2_PACKAGE_QT5BASE_GIF=y
BR2_PACKAGE_QT5BASE_JPEG=y
BR2_PACKAGE_QT5BASE_PNG=y
BR2_PACKAGE_QT5QUICKCONTROLS=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
Signed-off-by: J?r?me Pouiller <jezz@sysmic.org>
---
package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk b/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk
index 1158e42..eb54b80 100644
--- a/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk
+++ b/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk
@@ -37,12 +37,13 @@ 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; do \
+ 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.1
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
endef
define GPU_VIV_BIN_MX6Q_INSTALL_STAGING_CMDS
@@ -73,7 +74,7 @@ endif
define GPU_VIV_BIN_MX6Q_INSTALL_TARGET_CMDS
$(GPU_VIV_BIN_MX6Q_INSTALL_EXAMPLES)
cp -a $(@D)/usr/lib $(TARGET_DIR)/usr
- for lib in EGL GAL VIVANTE; do \
+ for lib in EGL GAL VIVANTE GLESv2; do \
for f in $(TARGET_DIR)/usr/lib/lib$${lib}-*.so; do \
case $$f in \
*-$(GPU_VIV_BIN_MX6Q_LIB_TARGET).so) : ;; \
--
1.9.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [Buildroot] [PATCH v3 05/14] gpu-viv-bin-mx6q: make fb/x11 choice explicit
2014-11-29 9:35 [Buildroot] [PATCH v3 00/14] Add Xorg support for iMX6 Jérôme Pouiller
` (3 preceding siblings ...)
2014-11-29 9:35 ` [Buildroot] [PATCH v3 04/14] gpu-viv-bin-mx6q: fix GLESv2 support Jérôme Pouiller
@ 2014-11-29 9:35 ` Jérôme Pouiller
2014-11-29 9:35 ` [Buildroot] [PATCH v3 06/14] gpu-viv-bin-mx6q: change output selection mechanism Jérôme Pouiller
` (9 subsequent siblings)
14 siblings, 0 replies; 20+ messages in thread
From: Jérôme Pouiller @ 2014-11-29 9:35 UTC (permalink / raw)
To: buildroot
Signed-off-by: J?r?me Pouiller <jezz@sysmic.org>
---
package/freescale-imx/gpu-viv-bin-mx6q/Config.in | 24 ++++++++++++++++++++--
.../gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk | 2 +-
2 files changed, 23 insertions(+), 3 deletions(-)
diff --git a/package/freescale-imx/gpu-viv-bin-mx6q/Config.in b/package/freescale-imx/gpu-viv-bin-mx6q/Config.in
index 4e83dd3..904b011 100644
--- a/package/freescale-imx/gpu-viv-bin-mx6q/Config.in
+++ b/package/freescale-imx/gpu-viv-bin-mx6q/Config.in
@@ -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,28 @@ 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
+ select BR2_PACKAGE_LIBDRM
+ 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"
diff --git a/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk b/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk
index eb54b80..7895023 100644
--- a/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk
+++ b/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk
@@ -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
--
1.9.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [Buildroot] [PATCH v3 06/14] gpu-viv-bin-mx6q: change output selection mechanism
2014-11-29 9:35 [Buildroot] [PATCH v3 00/14] Add Xorg support for iMX6 Jérôme Pouiller
` (4 preceding siblings ...)
2014-11-29 9:35 ` [Buildroot] [PATCH v3 05/14] gpu-viv-bin-mx6q: make fb/x11 choice explicit Jérôme Pouiller
@ 2014-11-29 9:35 ` Jérôme Pouiller
2014-11-29 9:35 ` [Buildroot] [PATCH v3 07/14] xdriver_xf86-video-imx-viv: new package Jérôme Pouiller
` (8 subsequent siblings)
14 siblings, 0 replies; 20+ messages in thread
From: Jérôme Pouiller @ 2014-11-29 9:35 UTC (permalink / raw)
To: buildroot
- Move output selection to Config.in. It easier to add new
backends selection (wayland, directfb, ...).
- Remove useless build time dependencies xlib_libXdamage
and xlib_libXext (gpu-viv-bin-mx6q is provided as binary
package)
- Also create libraries symbolic links with version numbers.
Signed-off-by: J?r?me Pouiller <jezz@sysmic.org>
---
package/freescale-imx/gpu-viv-bin-mx6q/Config.in | 5 +++++
.../gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk | 21 +++++++++------------
2 files changed, 14 insertions(+), 12 deletions(-)
diff --git a/package/freescale-imx/gpu-viv-bin-mx6q/Config.in b/package/freescale-imx/gpu-viv-bin-mx6q/Config.in
index 904b011..489e68e 100644
--- a/package/freescale-imx/gpu-viv-bin-mx6q/Config.in
+++ b/package/freescale-imx/gpu-viv-bin-mx6q/Config.in
@@ -45,6 +45,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"
diff --git a/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk b/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk
index 7895023..501b124 100644
--- a/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk
+++ b/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk
@@ -19,14 +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_DEPENDENCIES = xlib_libXdamage xlib_libXext
-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))
@@ -37,13 +30,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
--
1.9.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [Buildroot] [PATCH v3 07/14] xdriver_xf86-video-imx-viv: new package
2014-11-29 9:35 [Buildroot] [PATCH v3 00/14] Add Xorg support for iMX6 Jérôme Pouiller
` (5 preceding siblings ...)
2014-11-29 9:35 ` [Buildroot] [PATCH v3 06/14] gpu-viv-bin-mx6q: change output selection mechanism Jérôme Pouiller
@ 2014-11-29 9:35 ` Jérôme Pouiller
2014-11-29 9:35 ` [Buildroot] [PATCH v3 08/14] libdrm: fix support for xserver with Vivante drivers Jérôme Pouiller
` (7 subsequent siblings)
14 siblings, 0 replies; 20+ messages in thread
From: Jérôme Pouiller @ 2014-11-29 9:35 UTC (permalink / raw)
To: buildroot
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. Yocto use Mesa3D/swraster
to provide Desktop OpenGL API.
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_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
Signed-off-by: J?r?me Pouiller <jezz@sysmic.org>
---
package/x11r7/Config.in | 1 +
.../0001-Fix-LoadExtenions.patch | 15 ++++++++++
package/x11r7/xdriver_xf86-video-imx-viv/Config.in | 27 ++++++++++++++++++
.../xdriver_xf86-video-imx-viv.mk | 32 ++++++++++++++++++++++
4 files changed, 75 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
diff --git a/package/x11r7/Config.in b/package/x11r7/Config.in
index 357d4b4..987f979 100644
--- a/package/x11r7/Config.in
+++ b/package/x11r7/Config.in
@@ -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
diff --git a/package/x11r7/xdriver_xf86-video-imx-viv/0001-Fix-LoadExtenions.patch b/package/x11r7/xdriver_xf86-video-imx-viv/0001-Fix-LoadExtenions.patch
new file mode 100644
index 0000000..3e2d47c
--- /dev/null
+++ b/package/x11r7/xdriver_xf86-video-imx-viv/0001-Fix-LoadExtenions.patch
@@ -0,0 +1,15 @@
+Fix compilation with Xorg xserver 1.16.
+
+Signed-off-by: J?r?me Pouiller <jezz@sysmic.org>
+
+--- 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;
diff --git a/package/x11r7/xdriver_xf86-video-imx-viv/Config.in b/package/x11r7/xdriver_xf86-video-imx-viv/Config.in
new file mode 100644
index 0000000..c53ff8e
--- /dev/null
+++ b/package/x11r7/xdriver_xf86-video-imx-viv/Config.in
@@ -0,0 +1,27 @@
+
+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_XPROTO_XPROTO
+ select BR2_PACKAGE_XPROTO_XF86DRIPROTO
+ help
+ X.Org driver for iMX6 GPU (Vivante)
+
+ 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 to
+ use 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)
diff --git a/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk b/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk
new file mode 100644
index 0000000..0a62110
--- /dev/null
+++ b/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk
@@ -0,0 +1,32 @@
+################################################################################
+#
+# 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
+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))
+
--
1.9.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [Buildroot] [PATCH v3 08/14] libdrm: fix support for xserver with Vivante drivers
2014-11-29 9:35 [Buildroot] [PATCH v3 00/14] Add Xorg support for iMX6 Jérôme Pouiller
` (6 preceding siblings ...)
2014-11-29 9:35 ` [Buildroot] [PATCH v3 07/14] xdriver_xf86-video-imx-viv: new package Jérôme Pouiller
@ 2014-11-29 9:35 ` Jérôme Pouiller
2014-11-29 9:35 ` [Buildroot] [PATCH v3 09/14] qt5base: apply new patch naming policy Jérôme Pouiller
` (6 subsequent siblings)
14 siblings, 0 replies; 20+ messages in thread
From: Jérôme Pouiller @ 2014-11-29 9:35 UTC (permalink / raw)
To: buildroot
Signed-off-by: J?r?me Pouiller <jezz@sysmic.org>
---
package/libdrm/0001-update-arm.patch | 37 ++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)
create mode 100644 package/libdrm/0001-update-arm.patch
diff --git a/package/libdrm/0001-update-arm.patch b/package/libdrm/0001-update-arm.patch
new file mode 100644
index 0000000..8c874bb
--- /dev/null
+++ b/package/libdrm/0001-update-arm.patch
@@ -0,0 +1,37 @@
+[Adapted from yocto project]
+
+Add ARM support into xf86arm.h. This provides support for Xorg interface.
+Without this the vivante samples will hang during close requiring a reboot
+
+Upstream-Status: Pending
+
+Signed-off-by: Lauren Post <lauren.post@freescale.com>
+Signed-off-by: Evan Kotara <evan.kotara@freescale.com>
+
+diff --git a/xf86drm.h b/xf86drm.h
+--- a/xf86drm.h
++++ b/xf86drm.h
+@@ -461,6 +461,23 @@ do { register unsigned int __old __asm("
+ : "cr0", "memory"); \
+ } while (0)
+
++#elif defined(__arm__)
++ #undef DRM_DEV_MODE
++ #define DRM_DEV_MODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)
++
++ #define DRM_CAS(lock,old,new,__ret) \
++ do { \
++ __asm__ __volatile__ ( \
++ "1: ldrex %0, [%1]\n" \
++ " teq %0, %2\n" \
++ " ite eq\n" \
++ " strexeq %0, %3, [%1]\n" \
++ " movne %0, #1\n" \
++ : "=&r" (__ret) \
++ : "r" (lock), "r" (old), "r" (new) \
++ : "cc","memory"); \
++ } while (0)
++
+ #endif /* architecture */
+ #endif /* __GNUC__ >= 2 */
+
--
1.9.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [Buildroot] [PATCH v3 09/14] qt5base: apply new patch naming policy
2014-11-29 9:35 [Buildroot] [PATCH v3 00/14] Add Xorg support for iMX6 Jérôme Pouiller
` (7 preceding siblings ...)
2014-11-29 9:35 ` [Buildroot] [PATCH v3 08/14] libdrm: fix support for xserver with Vivante drivers Jérôme Pouiller
@ 2014-11-29 9:35 ` Jérôme Pouiller
2014-11-29 9:35 ` [Buildroot] [PATCH v3 10/14] qt5base: fix Vivante x11/EGL configuration Jérôme Pouiller
` (5 subsequent siblings)
14 siblings, 0 replies; 20+ messages in thread
From: Jérôme Pouiller @ 2014-11-29 9:35 UTC (permalink / raw)
To: buildroot
Signed-off-by: J?r?me Pouiller <jezz@sysmic.org>
---
.../{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%)
diff --git a/package/qt5/qt5base/qt5base-0002-mkspecs-files.patch b/package/qt5/qt5base/0002-mkspecs-files.patch
similarity index 100%
rename from package/qt5/qt5base/qt5base-0002-mkspecs-files.patch
rename to package/qt5/qt5base/0002-mkspecs-files.patch
diff --git a/package/qt5/qt5base/qt5base-0003-uclibc-no-lfs.patch b/package/qt5/qt5base/0003-uclibc-no-lfs.patch
similarity index 100%
rename from package/qt5/qt5base/qt5base-0003-uclibc-no-lfs.patch
rename to package/qt5/qt5base/0003-uclibc-no-lfs.patch
--
1.9.1
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Buildroot] [PATCH v3 10/14] qt5base: fix Vivante x11/EGL configuration
2014-11-29 9:35 [Buildroot] [PATCH v3 00/14] Add Xorg support for iMX6 Jérôme Pouiller
` (8 preceding siblings ...)
2014-11-29 9:35 ` [Buildroot] [PATCH v3 09/14] qt5base: apply new patch naming policy Jérôme Pouiller
@ 2014-11-29 9:35 ` Jérôme Pouiller
2014-11-29 9:35 ` [Buildroot] [PATCH v3 11/14] Vivante drivers: bump to version 3.10.17-1.0.1 Jérôme Pouiller
` (4 subsequent siblings)
14 siblings, 0 replies; 20+ messages in thread
From: Jérôme Pouiller @ 2014-11-29 9:35 UTC (permalink / raw)
To: buildroot
Fix compilation with Vivante headers and bug at runtime.
Signed-off-by: J?r?me Pouiller <jezz@sysmic.org>
---
.../qt5/qt5base/0001-Force_egl_visual_ID_33.patch | 23 ++++++++
package/qt5/qt5base/0004-xcb-egl-fixes.patch | 63 ++++++++++++++++++++++
2 files changed, 86 insertions(+)
create mode 100644 package/qt5/qt5base/0001-Force_egl_visual_ID_33.patch
create mode 100644 package/qt5/qt5base/0004-xcb-egl-fixes.patch
diff --git a/package/qt5/qt5base/0001-Force_egl_visual_ID_33.patch b/package/qt5/qt5base/0001-Force_egl_visual_ID_33.patch
new file mode 100644
index 0000000..b0be292
--- /dev/null
+++ b/package/qt5/qt5base/0001-Force_egl_visual_ID_33.patch
@@ -0,0 +1,23 @@
+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 <otavio@ossystems.com.br>
+
+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,5 @@
+ }
+
+ qWarning("Unable to find an X11 visual which matches EGL config %d", configId);
+- return (VisualID)0;
++ return (VisualID)33;
+ }
diff --git a/package/qt5/qt5base/0004-xcb-egl-fixes.patch b/package/qt5/qt5base/0004-xcb-egl-fixes.patch
new file mode 100644
index 0000000..2bbd849
--- /dev/null
+++ b/package/qt5/qt5base/0004-xcb-egl-fixes.patch
@@ -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 <jezz@sysmic.org>
+
+
+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
+
--
1.9.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [Buildroot] [PATCH v3 11/14] Vivante drivers: bump to version 3.10.17-1.0.1
2014-11-29 9:35 [Buildroot] [PATCH v3 00/14] Add Xorg support for iMX6 Jérôme Pouiller
` (9 preceding siblings ...)
2014-11-29 9:35 ` [Buildroot] [PATCH v3 10/14] qt5base: fix Vivante x11/EGL configuration Jérôme Pouiller
@ 2014-11-29 9:35 ` Jérôme Pouiller
2014-11-29 9:35 ` [Buildroot] [PATCH v3 12/14] nitrogen6x_defconfig: bump kernel to 3.10.17_1.0.1_ga Jérôme Pouiller
` (3 subsequent siblings)
14 siblings, 0 replies; 20+ messages in thread
From: Jérôme Pouiller @ 2014-11-29 9:35 UTC (permalink / raw)
To: buildroot
Signed-off-by: J?r?me Pouiller <jezz@sysmic.org>
---
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(-)
diff --git a/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk b/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk
index 501b124..e07e5ca 100644
--- a/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk
+++ b/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk
@@ -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
diff --git a/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk b/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk
index 0a62110..f5a5477 100644
--- a/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk
+++ b/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk
@@ -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 \
--
1.9.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [Buildroot] [PATCH v3 12/14] nitrogen6x_defconfig: bump kernel to 3.10.17_1.0.1_ga
2014-11-29 9:35 [Buildroot] [PATCH v3 00/14] Add Xorg support for iMX6 Jérôme Pouiller
` (10 preceding siblings ...)
2014-11-29 9:35 ` [Buildroot] [PATCH v3 11/14] Vivante drivers: bump to version 3.10.17-1.0.1 Jérôme Pouiller
@ 2014-11-29 9:35 ` Jérôme Pouiller
2014-11-29 9:35 ` [Buildroot] [PATCH v3 13/14] freescale_imx6*_defconfig: " Jérôme Pouiller
` (2 subsequent siblings)
14 siblings, 0 replies; 20+ messages in thread
From: Jérôme Pouiller @ 2014-11-29 9:35 UTC (permalink / raw)
To: buildroot
Signed-off-by: J?r?me Pouiller <jezz@sysmic.org>
---
configs/nitrogen6x_defconfig | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/configs/nitrogen6x_defconfig b/configs/nitrogen6x_defconfig
index e56bd60..d75f780 100644
--- a/configs/nitrogen6x_defconfig
+++ b/configs/nitrogen6x_defconfig
@@ -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"
--
1.9.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [Buildroot] [PATCH v3 13/14] freescale_imx6*_defconfig: bump kernel to 3.10.17_1.0.1_ga
2014-11-29 9:35 [Buildroot] [PATCH v3 00/14] Add Xorg support for iMX6 Jérôme Pouiller
` (11 preceding siblings ...)
2014-11-29 9:35 ` [Buildroot] [PATCH v3 12/14] nitrogen6x_defconfig: bump kernel to 3.10.17_1.0.1_ga Jérôme Pouiller
@ 2014-11-29 9:35 ` Jérôme Pouiller
2014-11-29 9:35 ` [Buildroot] [PATCH v3 14/14] qmx6_defconfig: update Jérôme Pouiller
2014-12-02 3:05 ` [Buildroot] [PATCH v3 00/14] Add Xorg support for iMX6 Gary Bisson
14 siblings, 0 replies; 20+ messages in thread
From: Jérôme Pouiller @ 2014-11-29 9:35 UTC (permalink / raw)
To: buildroot
Signed-off-by: J?r?me Pouiller <jezz@sysmic.org>
---
configs/freescale_imx6dlsabresd_defconfig | 3 ++-
configs/freescale_imx6qsabresd_defconfig | 3 ++-
configs/freescale_imx6sololiteevk_defconfig | 3 ++-
3 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/configs/freescale_imx6dlsabresd_defconfig b/configs/freescale_imx6dlsabresd_defconfig
index 680031d..b4f0d74 100644
--- a/configs/freescale_imx6dlsabresd_defconfig
+++ b/configs/freescale_imx6dlsabresd_defconfig
@@ -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
diff --git a/configs/freescale_imx6qsabresd_defconfig b/configs/freescale_imx6qsabresd_defconfig
index f2f702e..9ca89cb 100644
--- a/configs/freescale_imx6qsabresd_defconfig
+++ b/configs/freescale_imx6qsabresd_defconfig
@@ -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
diff --git a/configs/freescale_imx6sololiteevk_defconfig b/configs/freescale_imx6sololiteevk_defconfig
index f8ecc7b..f501fc3 100644
--- a/configs/freescale_imx6sololiteevk_defconfig
+++ b/configs/freescale_imx6sololiteevk_defconfig
@@ -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
--
1.9.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [Buildroot] [PATCH v3 14/14] qmx6_defconfig: update
2014-11-29 9:35 [Buildroot] [PATCH v3 00/14] Add Xorg support for iMX6 Jérôme Pouiller
` (12 preceding siblings ...)
2014-11-29 9:35 ` [Buildroot] [PATCH v3 13/14] freescale_imx6*_defconfig: " Jérôme Pouiller
@ 2014-11-29 9:35 ` Jérôme Pouiller
2014-12-02 3:05 ` [Buildroot] [PATCH v3 00/14] Add Xorg support for iMX6 Gary Bisson
14 siblings, 0 replies; 20+ messages in thread
From: Jérôme Pouiller @ 2014-11-29 9:35 UTC (permalink / raw)
To: buildroot
- Update kernel
- Add u-boot configuration
- 6q_bootscript.txt is no more needed by new version of u-boot
- Add support for graphical drivers
- Enable Qt5 (eglfs) since many of users will enable it with this
configuration. Sure, this is subject to debate. It depends
if we want to provide demo configurations.
Signed-off-by: J?r?me Pouiller <jezz@sysmic.org>
---
board/congatec/qmx6/6q_bootscript.txt | 2 --
board/congatec/qmx6/post-build.sh | 7 -----
configs/qmx6_defconfig | 49 ++++++++++++++++++++++++++++++++---
3 files changed, 45 insertions(+), 13 deletions(-)
delete mode 100644 board/congatec/qmx6/6q_bootscript.txt
delete mode 100755 board/congatec/qmx6/post-build.sh
diff --git a/board/congatec/qmx6/6q_bootscript.txt b/board/congatec/qmx6/6q_bootscript.txt
deleted file mode 100644
index 1382220..0000000
--- a/board/congatec/qmx6/6q_bootscript.txt
+++ /dev/null
@@ -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"
diff --git a/board/congatec/qmx6/post-build.sh b/board/congatec/qmx6/post-build.sh
deleted file mode 100755
index 92251a5..0000000
--- a/board/congatec/qmx6/post-build.sh
+++ /dev/null
@@ -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
diff --git a/configs/qmx6_defconfig b/configs/qmx6_defconfig
index 143e058..22c6e15 100644
--- a/configs/qmx6_defconfig
+++ b/configs/qmx6_defconfig
@@ -1,16 +1,57 @@
+# architecture
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_TOOLCHAIN_BUILDROOT_EGLIBC=y
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
+
+# system
BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1"
-BR2_ROOTFS_POST_BUILD_SCRIPT="board/congatec/qmx6/post-build.sh"
+
+# 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"
-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
+
+# 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
--
1.9.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [Buildroot] [PATCH v3 00/14] Add Xorg support for iMX6
2014-11-29 9:35 [Buildroot] [PATCH v3 00/14] Add Xorg support for iMX6 Jérôme Pouiller
` (13 preceding siblings ...)
2014-11-29 9:35 ` [Buildroot] [PATCH v3 14/14] qmx6_defconfig: update Jérôme Pouiller
@ 2014-12-02 3:05 ` Gary Bisson
2014-12-02 9:08 ` Jérôme Pouiller
14 siblings, 1 reply; 20+ messages in thread
From: Gary Bisson @ 2014-12-02 3:05 UTC (permalink / raw)
To: buildroot
Jerome, All,
On 11/29/2014 01:35 AM, J?r?me Pouiller wrote:
> 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.
>
> 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 (14):
> mesa3d: Give possibility to external backends to enable DRI/Gallium
> gpu-viv-bin-mx6q: use self-extractible helper
> gpu-viv-bin-mx6q: fix compiling issues with EGL_API_FB
> gpu-viv-bin-mx6q: fix GLESv2 support
> gpu-viv-bin-mx6q: make fb/x11 choice explicit
> gpu-viv-bin-mx6q: change output selection mechanism
> xdriver_xf86-video-imx-viv: new package
> libdrm: fix support for xserver with Vivante drivers
> qt5base: apply new patch naming policy
> qt5base: fix Vivante x11/EGL configuration
> 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
First, I have been able to apply and build everything fine based on the
next branch.
It is to be noted that I am using a SabreLite instead of the QMX6,
therefore I've modified the kernel and bootloader versions.
X is working well just like the graphics. As a FYI, xorg.conf used
during my testing is coming from Yocto:
https://github.com/Freescale/meta-fsl-arm/blob/master/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6/xorg.conf
Then I've tried to start X, xterm and the Vivante example which are all
running fine.
There is only one thing I am unclear on which is the Qt5 changes and how
to test them.
Looking at the configuration it looks like we should have some examples
installed but I can't seem to run them as I get the following error:
# qmlscene TestCase.qml
Could not initialize GLX
Aborted
I might do something wrong here but it looks like GL isn't configured
properly. By looking at the configuration again I've realized that we
have the following option by default:
BR2_PACKAGE_QT5BASE_OPENGL_DESKTOP=y
# BR2_PACKAGE_QT5BASE_OPENGL_ES2 is not set
Where it might make sense to have:
# BR2_PACKAGE_QT5BASE_OPENGL_DESKTOP is not set
BR2_PACKAGE_QT5BASE_OPENGL_ES2=y
Should we specify the QT5BASE_OPENGL_ES2 in the configuration provided
in your patches or does it behave differently on your side?
Could you send you entire configuration file for comparison?
Thanks,
Gary
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Buildroot] [PATCH v3 00/14] Add Xorg support for iMX6
2014-12-02 3:05 ` [Buildroot] [PATCH v3 00/14] Add Xorg support for iMX6 Gary Bisson
@ 2014-12-02 9:08 ` Jérôme Pouiller
0 siblings, 0 replies; 20+ messages in thread
From: Jérôme Pouiller @ 2014-12-02 9:08 UTC (permalink / raw)
To: buildroot
On Monday 01 December 2014 19:05:01 Gary Bisson wrote:
> Jerome, All,
>
> On 11/29/2014 01:35 AM, J?r?me Pouiller wrote:
> > 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.
> >
> > 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 (14):
> > mesa3d: Give possibility to external backends to enable DRI/Gallium
> > gpu-viv-bin-mx6q: use self-extractible helper
> > gpu-viv-bin-mx6q: fix compiling issues with EGL_API_FB
> > gpu-viv-bin-mx6q: fix GLESv2 support
> > gpu-viv-bin-mx6q: make fb/x11 choice explicit
> > gpu-viv-bin-mx6q: change output selection mechanism
> > xdriver_xf86-video-imx-viv: new package
> > libdrm: fix support for xserver with Vivante drivers
> > qt5base: apply new patch naming policy
> > qt5base: fix Vivante x11/EGL configuration
> > 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
> First, I have been able to apply and build everything fine based on the
> next branch.
> It is to be noted that I am using a SabreLite instead of the QMX6,
> therefore I've modified the kernel and bootloader versions.
>
> X is working well just like the graphics. As a FYI, xorg.conf used
> during my testing is coming from Yocto:
> https://github.com/Freescale/meta-fsl-arm/blob/master/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6/xorg.conf
> Then I've tried to start X, xterm and the Vivante example which are all
> running fine.
Cool.
> There is only one thing I am unclear on which is the Qt5 changes and how
> to test them.
> Looking at the configuration it looks like we should have some examples
> installed but I can't seem to run them as I get the following error:
> # qmlscene TestCase.qml
> Could not initialize GLX
> Aborted
As I wrote in commit log of patch 09/13, Desktop OpenGL seems broken for a
while. Yocto use Mesa3D/swraster to provide Desktop OpenGL API.
I will add a comment in help message about this issue.
> I might do something wrong here but it looks like GL isn't configured
> properly. By looking at the configuration again I've realized that we
> have the following option by default:
> BR2_PACKAGE_QT5BASE_OPENGL_DESKTOP=y
> # BR2_PACKAGE_QT5BASE_OPENGL_ES2 is not set
> Where it might make sense to have:
> # BR2_PACKAGE_QT5BASE_OPENGL_DESKTOP is not set
> BR2_PACKAGE_QT5BASE_OPENGL_ES2=y
>
> Should we specify the QT5BASE_OPENGL_ES2 in the configuration provided
> in your patches or does it behave differently on your side?
You are right, BR2_PACKAGE_QT5BASE_OPENGL_ES2 symbol is missing in
defconfig I give as example (I think this symbol was automatically
selected in v1 since BR2_PACKAGE_PROVIDES_LIBGL was not set).
Notice, it is complex to prevent user to select GL backend with iMX6
GPU driver. It is a bug from iMX6 GPU driver and it would be necessary
to rework mesa3d package to workaround it.
> Could you send you entire configuration file for comparison?
I have just regenerate a defconfig. As you can see,
BR2_PACKAGE_QT5BASE_OPENGL_ES2 appears explicitly now.
BR2_arm=y
BR2_cortex_a9=y
BR2_ARM_EABIHF=y
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_GSTREAMER1=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ADDER=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORATE=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOTESTSRC=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ENCODING=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERT=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_GIO=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_SUBPARSE=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_TCP=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOTESTSRC=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEORATE=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA=y
BR2_PACKAGE_GST1_PLUGINS_GOOD=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_JPEG=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PNG=y
BR2_PACKAGE_GST1_LIBAV=y
BR2_PACKAGE_QT_GSTREAMER=y
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_XLIB_LIBXSHMFENCE=y
BR2_PACKAGE_XAPP_XEYES=y
BR2_PACKAGE_XAPP_XRANDR=y
BR2_PACKAGE_XDRIVER_XF86_INPUT_EVDEV=y
BR2_PACKAGE_XDRIVER_XF86_VIDEO_IMX_VIV=y
BR2_PACKAGE_XPROTO_DRI3PROTO=y
BR2_PACKAGE_MATCHBOX=y
BR2_PACKAGE_MATCHBOX_KEYBOARD=y
BR2_PACKAGE_DBUS=y
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q=y
BR2_PACKAGE_GPU_VIV_BIN_MX6Q=y
BR2_PACKAGE_GPU_VIV_BIN_MX6Q_EXAMPLES=y
BR2_PACKAGE_LIBGCRYPT=y
BR2_PACKAGE_LIBSHA1=y
BR2_PACKAGE_LIBJPEG=y
BR2_PACKAGE_LIBFSLCODEC=y
BR2_PACKAGE_LIBFSLPARSER=y
BR2_PACKAGE_LIBFSLVPUWRAP=y
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"
--
J?r?me Pouiller, Sysmic
Embedded Linux specialist
http://www.sysmic.fr
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Buildroot] [PATCH v3 02/14] gpu-viv-bin-mx6q: use self-extractible helper
2014-11-29 9:35 ` [Buildroot] [PATCH v3 02/14] gpu-viv-bin-mx6q: use self-extractible helper Jérôme Pouiller
@ 2014-12-27 19:13 ` Thomas Petazzoni
0 siblings, 0 replies; 20+ messages in thread
From: Thomas Petazzoni @ 2014-12-27 19:13 UTC (permalink / raw)
To: buildroot
Dear J?r?me Pouiller,
On Sat, 29 Nov 2014 10:35:14 +0100, J?r?me Pouiller wrote:
> Signed-off-by: J?r?me Pouiller <jezz@sysmic.org>
> ---
> .../freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk | 15 ++-------------
> 1 file changed, 2 insertions(+), 13 deletions(-)
Applied, thanks.
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Buildroot] [PATCH v3 03/14] gpu-viv-bin-mx6q: fix compiling issues with EGL_API_FB
2014-11-29 9:35 ` [Buildroot] [PATCH v3 03/14] gpu-viv-bin-mx6q: fix compiling issues with EGL_API_FB Jérôme Pouiller
@ 2014-12-27 19:13 ` Thomas Petazzoni
0 siblings, 0 replies; 20+ messages in thread
From: Thomas Petazzoni @ 2014-12-27 19:13 UTC (permalink / raw)
To: buildroot
Dear J?r?me Pouiller,
On Sat, 29 Nov 2014 10:35:15 +0100, J?r?me Pouiller wrote:
> 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.
>
> Signed-off-by: J?r?me Pouiller <jezz@sysmic.org>
> ---
> 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(-)
I am still uncertain about this one. Hardcoding the backend choice in
the header file seems really ugly, and using proper pkg-config files a
much better solution. Shouldn't we instead patch qt5 ?
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Buildroot] [PATCH v3 01/14] mesa3d: Give possibility to external backends to enable DRI/Gallium
2014-11-29 9:35 ` [Buildroot] [PATCH v3 01/14] mesa3d: Give possibility to external backends to enable DRI/Gallium Jérôme Pouiller
@ 2014-12-27 19:14 ` Thomas Petazzoni
0 siblings, 0 replies; 20+ messages in thread
From: Thomas Petazzoni @ 2014-12-27 19:14 UTC (permalink / raw)
To: buildroot
Bernd,
Can you comment on this patch please?
Thanks!
Thomas
On Sat, 29 Nov 2014 10:35:13 +0100, J?r?me Pouiller wrote:
> Signed-off-by: J?r?me Pouiller <jezz@sysmic.org>
> ---
> package/mesa3d/mesa3d.mk | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
> index 8dfad6c..898254d 100644
> --- a/package/mesa3d/mesa3d.mk
> +++ b/package/mesa3d/mesa3d.mk
> @@ -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
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2014-12-27 19:14 UTC | newest]
Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-29 9:35 [Buildroot] [PATCH v3 00/14] Add Xorg support for iMX6 Jérôme Pouiller
2014-11-29 9:35 ` [Buildroot] [PATCH v3 01/14] mesa3d: Give possibility to external backends to enable DRI/Gallium Jérôme Pouiller
2014-12-27 19:14 ` Thomas Petazzoni
2014-11-29 9:35 ` [Buildroot] [PATCH v3 02/14] gpu-viv-bin-mx6q: use self-extractible helper Jérôme Pouiller
2014-12-27 19:13 ` Thomas Petazzoni
2014-11-29 9:35 ` [Buildroot] [PATCH v3 03/14] gpu-viv-bin-mx6q: fix compiling issues with EGL_API_FB Jérôme Pouiller
2014-12-27 19:13 ` Thomas Petazzoni
2014-11-29 9:35 ` [Buildroot] [PATCH v3 04/14] gpu-viv-bin-mx6q: fix GLESv2 support Jérôme Pouiller
2014-11-29 9:35 ` [Buildroot] [PATCH v3 05/14] gpu-viv-bin-mx6q: make fb/x11 choice explicit Jérôme Pouiller
2014-11-29 9:35 ` [Buildroot] [PATCH v3 06/14] gpu-viv-bin-mx6q: change output selection mechanism Jérôme Pouiller
2014-11-29 9:35 ` [Buildroot] [PATCH v3 07/14] xdriver_xf86-video-imx-viv: new package Jérôme Pouiller
2014-11-29 9:35 ` [Buildroot] [PATCH v3 08/14] libdrm: fix support for xserver with Vivante drivers Jérôme Pouiller
2014-11-29 9:35 ` [Buildroot] [PATCH v3 09/14] qt5base: apply new patch naming policy Jérôme Pouiller
2014-11-29 9:35 ` [Buildroot] [PATCH v3 10/14] qt5base: fix Vivante x11/EGL configuration Jérôme Pouiller
2014-11-29 9:35 ` [Buildroot] [PATCH v3 11/14] Vivante drivers: bump to version 3.10.17-1.0.1 Jérôme Pouiller
2014-11-29 9:35 ` [Buildroot] [PATCH v3 12/14] nitrogen6x_defconfig: bump kernel to 3.10.17_1.0.1_ga Jérôme Pouiller
2014-11-29 9:35 ` [Buildroot] [PATCH v3 13/14] freescale_imx6*_defconfig: " Jérôme Pouiller
2014-11-29 9:35 ` [Buildroot] [PATCH v3 14/14] qmx6_defconfig: update Jérôme Pouiller
2014-12-02 3:05 ` [Buildroot] [PATCH v3 00/14] Add Xorg support for iMX6 Gary Bisson
2014-12-02 9:08 ` Jérôme Pouiller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox