Add Xorg support for iMX6
v5 cover Add Xorg support for iMX6
Hello,
Main purpose of this serie is to add support of Vivante GPU (found on imx6) to Xorg. This work is mainly adapted from Yocto.
v5:
- Add references in commit log of xdriver_xf86-video-imx-viv
- Split qmx6_defconfig in two defconfig: a minimal one and a demo one
v4:
- Fix example config in commit log of xdriver_xf86-video-imx-viv
- Add a note about OpenGL API in xdriver_xf86-video-imx-viv help
v3:
- Respin on next
- Add patch to use self-extractible helper function
- Remove 'See freescale-imx.mk' comment
- Reword patch "gpu-viv-bin-mx6q: change output selection mecanisms"
- libdrm: Apply new patch naming policy
- xdriver_xf86-video-imx-viv: Apply new patch naming policy
- xdriver_xf86-video-imx-viv: Does not depends directly on glibc
- qt5base: Apply new patch naming policy
- qmx6_defconfig: Use internal toochain
v2:
- Rebase on new version of mesa3d
- Reorder some patches (in order to make examples I provide in commit message functional)
- Do not bump version of all freescale packages
- Bump kernel version of imx6 boards
J?r?me Pouiller (15):
mesa3d: Give possibility to external backends to enable DRI/Gallium
gpu-viv-bin-mx6q: 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
qmx6_qt5_demo_defconfig: new defconfig
board/congatec/qmx6/6q_bootscript.txt | 2 -
board/congatec/qmx6/post-build.sh | 7 ---
configs/freescale_imx6dlsabresd_defconfig | 3 +-
configs/freescale_imx6qsabresd_defconfig | 3 +-
configs/freescale_imx6sololiteevk_defconfig | 3 +-
configs/nitrogen6x_defconfig | 3 +-
configs/qmx6_defconfig | 25 +++++++--
configs/qmx6_qt5_demo_defconfig | 57 ++++++++++++++++++++
package/freescale-imx/gpu-viv-bin-mx6q/Config.in | 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 | 31 +++++++++++
.../xdriver_xf86-video-imx-viv.mk | 32 +++++++++++
23 files changed, 343 insertions(+), 57 deletions(-)
delete mode 100644 board/congatec/qmx6/6q_bootscript.txt
delete mode 100755 board/congatec/qmx6/post-build.sh
create mode 100644 configs/qmx6_qt5_demo_defconfig
create mode 100644 package/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.mkSignature · 1 line
1.9.1
PATCH v5 1/15 mesa3d: Give possibility to external backends to enable DRI/Gallium
--- package/mesa3d/mesa3d.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
package/mesa3d/mesa3d.mk +2 -2
@@ -64,7 +64,7 @@ MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_I915) += i915 MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_I965) += i965 MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON) += radeon -ifeq ($(MESA3D_GALLIUM_DRIVERS-y),) +ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER),) MESA3D_CONF_OPTS += \ --without-gallium-drivers else
@@ -73,7 +73,7 @@ MESA3D_CONF_OPTS += \ --with-gallium-drivers=$(subst $(space),$(comma),$(MESA3D_GALLIUM_DRIVERS-y)) endif -ifeq ($(MESA3D_DRI_DRIVERS-y),) +ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),) MESA3D_CONF_OPTS += \ --without-dri-drivers --without-dri --disable-dri3 else
Signature · 1 line
1.9.1
PATCH v5 2/15 gpu-viv-bin-mx6q: use self-extractible helper
In reply to Jérôme Pouiller--- .../freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-)
package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk +2 -13
@@ -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
Signature · 1 line
1.9.1
PATCH v5 3/15 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 | 10 ++++++---- package/freescale-imx/gpu-viv-bin-mx6q/vg.pc | 2 +- 4 files changed, 9 insertions(+), 7 deletions(-)
package/freescale-imx/gpu-viv-bin-mx6q/egl.pc +1 -1
@@ -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 +6 -4
@@ -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
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 v5 4/15 gpu-viv-bin-mx6q: fix GLESv2 support
In reply to Jérôme PouillerTested 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--- package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk +4 -3
@@ -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) : ;; \
Signature · 1 line
1.9.1
PATCH v5 4/15 gpu-viv-bin-mx6q: fix GLESv2 support
Dear J?r?me Pouiller,
Quoted 27 lines · J?r?me Pouiller
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
Quoted 1 line
Signed-off-by J?r?me Pouiller <[email protected]>
I've applied your patch. However next time, please add a real commit log that explains what is going on. Saying how it was tested is definitely good, but giving some explanation about what is going on helps to understand the patch, and therefore increases the chance of getting your patch applied quickly.
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v5 5/15 gpu-viv-bin-mx6q: make fb/x11 choice explicit
In reply to Jérôme Pouiller--- package/freescale-imx/gpu-viv-bin-mx6q/Config.in | 24 ++++++++++++++++++++-- .../gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk | 2 +- 2 files changed, 23 insertions(+), 3 deletions(-)
package/freescale-imx/gpu-viv-bin-mx6q/Config.in +22 -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,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"
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
PATCH v5 5/15 gpu-viv-bin-mx6q: make fb/x11 choice explicit
Dear J?r?me Pouiller,
Quoted 11 lines · J?r?me Pouiller
Signed-off-by J?r?me Pouiller <[email protected]>--- 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(-)package/freescale-imx/gpu-viv-bin-mx6q/Config.in +0
-0
package/freescale-imx/gpu-viv-bin-mx6q/Config.in config BR2_PACKAGE_GPU_VIV_BIN_MX6Q · line 11
Quoted 5 lines
package/freescale-imx/gpu-viv-bin-mx6q/Config.in +0
-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
So we used to select libxdamage and libxext...
Quoted 9 lines
package/freescale-imx/gpu-viv-bin-mx6q/Config.in +2
-0depends 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"
package/freescale-imx/gpu-viv-bin-mx6q/Config.in config BR2_PACKAGE_GPU_VIV_BIN_MX6Q · line 37
Quoted 10 lines
package/freescale-imx/gpu-viv-bin-mx6q/Config.in +10
-0+ 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
... and now we're also selecting libdrm. Is this intended? Why isn't this explained in the commit log?
package/freescale-imx/gpu-viv-bin-mx6q/Config.in config BR2_PACKAGE_GPU_VIV_BIN_MX6Q · line 40
Quoted 4 lines
package/freescale-imx/gpu-viv-bin-mx6q/Config.in +1
-1# 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
And libdrm is not part of the dependencies?
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v5 6/15 gpu-viv-bin-mx6q: change output selection mechanism
In reply to Jérôme Pouiller - Move output selection to Config.in. It easier to add new backends selection (wayland, directfb, ...).
- 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.
--- 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(-)
package/freescale-imx/gpu-viv-bin-mx6q/Config.in +5 -0
@@ -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"
package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk +9 -12
@@ -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
Signature · 1 line
1.9.1
PATCH v5 6/15 gpu-viv-bin-mx6q: change output selection mechanism
Dear J?r?me Pouiller,
Quoted 5 lines · J?r?me Pouiller
- Move output selection to Config.in. It easier to add new backends selection (wayland, directfb, ...).
- Remove useless build time dependenciesxlib_libXdamageandxlib_libXext(gpu-viv-bin-mx6q is provided as binary package)
Then please adjust the Config.in file to indicate that those are runtime dependencies only.
Quoted 1 line
- Also create libraries symbolic links with version numbers.
Another thing I could suggest is to further split such a patch: you have three items in your commit log, that are independent from each other, so it is a good indication that the patch could be split.
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v5 7/15 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 | 32 ++++++++++++++++++++++ 4 files changed, 79 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
@@ -160,6 +160,7 @@ if BR2_PACKAGE_XORG7 source package/x11r7/xdriver_xf86-video-glide/Config.in source package/x11r7/xdriver_xf86-video-glint/Config.in source package/x11r7/xdriver_xf86-video-i128/Config.in + source package/x11r7/xdriver_xf86-video-imx-viv/Config.in source package/x11r7/xdriver_xf86-video-intel/Config.in source package/x11r7/xdriver_xf86-video-mach64/Config.in source package/x11r7/xdriver_xf86-video-mga/Config.in
package/x11r7/xdriver_xf86-video-imx-viv/0001-Fix-LoadExtenions.patch new file +15 -0
@@ -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_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 for a while. + + 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)
package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk new file +32 -0
@@ -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)) +
Signature · 1 line
1.9.1
PATCH v5 7/15 xdriver_xf86-video-imx-viv: new package
Dear J?r?me Pouiller,
package/x11r7/xdriver_xf86-video-imx-viv/Config.in line 1
Quoted 7 lines · J?r?me Pouiller
package/x11r7/xdriver_xf86-video-imx-viv/Config.in new file +1
-0@@ -0,0 +1,31 @@ +
Unneeded empty line.
package/x11r7/xdriver_xf86-video-imx-viv/Config.in line 6
Quoted 5 lines
package/x11r7/xdriver_xf86-video-imx-viv/Config.in new file +5
-0+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
The world of OpenGL stuff will always surprise me. Why on earth does a X.org driver that uses a proprietary OpenGL implementation needs Mesa3D ?!?
package/x11r7/xdriver_xf86-video-imx-viv/Config.in line 14
Quoted 3 lines
package/x11r7/xdriver_xf86-video-imx-viv/Config.in new file +3
-0+ Notice EGL and GLes2 APIs are correctly supported. This driver should + also be able to provide Desktop OpenGL implementation but, this + feature seems broken for a while.
"for a while" -> "since quite some time".
package/x11r7/xdriver_xf86-video-imx-viv/Config.in line 26
Quoted 2 lines
package/x11r7/xdriver_xf86-video-imx-viv/Config.in new file +2
-0+ Don't forget to load galcore.ko and create /dev/galcore before to + use this driver (else, Xorg will exit with an obscur message
"to use" -> using.
obscur -> obscure.
package/x11r7/xdriver_xf86-video-imx-viv/Config.in line 31
Quoted 5 lines
package/x11r7/xdriver_xf86-video-imx-viv/Config.in new file +5
-0+ 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)
Unneeded parenthesis.
package/x11r7/xdriver_xf86-video-imx-viv/Config.in line 23
Quoted 7 lines
package/x11r7/xdriver_xf86-video-imx-viv/Config.in new file +7
-0+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"
Why += here? I don't think it has any effect.
Also, can you add _LICENSE and _LICENSE_FILES information?
Care to fixup those minor issues and resend?
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v5 7/15 xdriver_xf86-video-imx-viv: new package
Hello Thomas,
Quoted 5 lines · On Saturday 27 December 2014 21:43:25 Thomas Petazzoni wrote:
Dear J?r?me Pouiller,
Review
Quoted 1 line · J?r?me Pouiller
(quoted diff) +0
-0
b/package/x11r7/xdriver_xf86-video-imx-viv/Config.in
Quoted 9 lines
package/x11r7/xdriver_xf86-video-imx-viv/Config.in line 1
Quoted 6 lines
new file mode 100644
index 0000000..d91ba79package/x11r7/xdriver_xf86-video-imx-viv/Config.in new file +1
-0@@ -0,0 +1,31 @@ +Unneeded empty line.
Quoted 4 lines
package/x11r7/xdriver_xf86-video-imx-viv/Config.in
Quoted 4 lines
package/x11r7/xdriver_xf86-video-imx-viv/Config.in new file +4
-0+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
Quoted 5 lines
package/x11r7/xdriver_xf86-video-imx-viv/Config.in line 6
Quoted 1 line
package/x11r7/xdriver_xf86-video-imx-viv/Config.in new file +1
-0+ select BR2_PACKAGE_MESA3D_DRI_DRIVERThe world of OpenGL stuff will always surprise me. Why on earth does a X.org driver that uses a proprietary OpenGL implementation needs Mesa3D ?!?
In fact, xf86-video-imx-viv does not depends directly on mesa3d. However, it depend on xorg server compiled with --enable-dri --enable-glx. But, these options are enabled only if BR2_PACKAGE_MESA3D_DRI_DRIVER is enabled.
Else, I am going to send an updated version of this patch this evening.
Signature · 3 lines
J?r?me Pouiller, Sysmic Embedded Linux specialist http://www.sysmic.fr
PATCH v5 7/15 xdriver_xf86-video-imx-viv: new package
Dear J?r?me Pouiller,
Quoted 7 lines · J?r?me Pouiller
Quoted 3 lines
The world of OpenGL stuff will always surprise me. Why on earth does a X.org driver that uses a proprietary OpenGL implementation needs Mesa3D ?!?
In fact, xf86-video-imx-viv does not depends directly on mesa3d. However, it depend on xorg server compiled with --enable-dri --enable-glx. But, these options are enabled only if
BR2_PACKAGE_MESA3D_DRI_DRIVERis enabled.
Maybe this should be changed, so that other drivers can enable it, without referencing Mesa related options, no?
Also, the code in the xserver package does:
ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),y) XSERVER_XORG_SERVER_CONF_OPTS += --enable-dri --enable-glx XSERVER_XORG_SERVER_DEPENDENCIES += mesa3d xproto_xf86driproto elseXSERVER_XORG_SERVER_CONF_OPTS += --disable-dri --disable-glx endif
So it really builds mesa as well. Is this needed ?
Can you clarify this, maybe talking with Bernd?
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v5 7/15 xdriver_xf86-video-imx-viv: new package
Quoted 17 lines · On Friday 16 January 2015 17:15:33 Thomas Petazzoni wrote:
Dear J?r?me Pouiller,
Quoted 7 lines · J?r?me Pouiller
Quoted 3 lines
The world of OpenGL stuff will always surprise me. Why on earth does a X.org driver that uses a proprietary OpenGL implementation needs Mesa3D ?!?
In fact, xf86-video-imx-viv does not depends directly on mesa3d. However, it depend on xorg server compiled with --enable-dri --enable-glx. But, these options are enabled only if
BR2_PACKAGE_MESA3D_DRI_DRIVERis enabled.Maybe this should be changed, so that other drivers can enable it, without referencing Mesa related options, no?
Also, the code in the xserver package does:
Quoted 8 lines
ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),y)
XSERVER_XORG_SERVER_CONF_OPTS+= --enable-dri --enable-glxXSERVER_XORG_SERVER_DEPENDENCIES+= mesa3dxproto_xf86driprotoelseXSERVER_XORG_SERVER_CONF_OPTS+= --disable-dri --disable-glx endifSo it really builds mesa as well. Is this needed ?
We cannot use gpu-viv-bin-mx6q to compile Xorg with DRI and GLX since it does not provide all necessary files. Especially, OpenGL headers (GL/gl.h, GL/glx.h, ...) are missing[1]. We may solve this issue using "opengl-registry" posted by Yann a few months ago. It may be sufficient.
Note that the current implementation is same than the one used in Yocto and it is officially supported by Freescale. (I do not say it is the right way, but it is a sufficient justification for many users)
[1] https://community.freescale.com/thread/312546
Signature · 3 lines
J?r?me Pouiller, Sysmic Embedded Linux specialist http://www.sysmic.fr
PATCH v5 7/15 xdriver_xf86-video-imx-viv: new package
J?r?me, All,
On 2015-01-17 01:11 +0100, J?r?me Pouiller spake thusly:
Quoted 25 lines · On Friday 16 January 2015 17:15:33 Thomas Petazzoni wrote:
Quoted 24 lines
Dear J?r?me Pouiller,
Quoted 7 lines · J?r?me Pouiller
Quoted 3 lines
The world of OpenGL stuff will always surprise me. Why on earth does a X.org driver that uses a proprietary OpenGL implementation needs Mesa3D ?!?
In fact, xf86-video-imx-viv does not depends directly on mesa3d. However, it depend on xorg server compiled with --enable-dri --enable-glx. But, these options are enabled only if
BR2_PACKAGE_MESA3D_DRI_DRIVERis enabled.Maybe this should be changed, so that other drivers can enable it, without referencing Mesa related options, no?
Also, the code in the xserver package does:
ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),y)
XSERVER_XORG_SERVER_CONF_OPTS+= --enable-dri --enable-glxXSERVER_XORG_SERVER_DEPENDENCIES+= mesa3dxproto_xf86driprotoelseXSERVER_XORG_SERVER_CONF_OPTS+= --disable-dri --disable-glx endif
Quoted 6 lines
Quoted 1 line
So it really builds mesa as well. Is this needed ?
We cannot use gpu-viv-bin-mx6q to compile Xorg with DRI and GLX since it does not provide all necessary files. Especially, OpenGL headers (
GL/gl.h,GL/glx.h, ...) are missing[1]. We may solve this issue using "opengl-registry" posted by Yann a few months ago. It may be sufficient.
For the records, I've posted an updated series:
http://lists.busybox.net/pipermail/buildroot/2015-January/117642.html
Care to see if it is posible to update your series to use the Khronos registry/ies? If so, it would great if you could review/ack the patches so they get applied soon, so you can in turn repost an updated series of yours! ;-)
/me is trying to get some reviewers interested! Muhahaha! ;-)
Regards,
Yann E. MORIN.
Quoted 15 lines
Note that the current implementation is same than the one used in Yocto and it is officially supported by Freescale. (I do not say it is the right way, but it is a sufficient justification for many users)
[1] https://community.freescale.com/thread/312546
Signature · 7 lines
J?r?me Pouiller, Sysmic Embedded Linux specialist http://www.sysmic.fr _______________________________________________ buildroot mailing list buildroot at busybox.net http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH v5 7/15 xdriver_xf86-video-imx-viv: new package
Hello All,
Quoted 35 lines · On Monday 19 January 2015 23:20:43 Yann E. MORIN wrote:
J?r?me, All,
On 2015-01-17 01:11 +0100, J?r?me Pouiller spake thusly:
Quoted 25 lines · On Friday 16 January 2015 17:15:33 Thomas Petazzoni wrote:
Quoted 24 lines
Dear J?r?me Pouiller,
Quoted 7 lines · J?r?me Pouiller
Quoted 3 lines
The world of OpenGL stuff will always surprise me. Why on earth does a X.org driver that uses a proprietary OpenGL implementation needs Mesa3D ?!?
In fact, xf86-video-imx-viv does not depends directly on mesa3d. However, it depend on xorg server compiled with --enable-dri --enable-glx. But, these options are enabled only if
BR2_PACKAGE_MESA3D_DRI_DRIVERis enabled.Maybe this should be changed, so that other drivers can enable it, without referencing Mesa related options, no?
Also, the code in the xserver package does:
ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),y)
XSERVER_XORG_SERVER_CONF_OPTS+= --enable-dri --enable-glxXSERVER_XORG_SERVER_DEPENDENCIES+= mesa3dxproto_xf86driprotoelseXSERVER_XORG_SERVER_CONF_OPTS+= --disable-dri --disable-glx endifQuoted 6 lines
Quoted 1 line
So it really builds mesa as well. Is this needed ?
We cannot use gpu-viv-bin-mx6q to compile Xorg with DRI and GLX since it does not provide all necessary files. Especially, OpenGL headers (
GL/gl.h,GL/glx.h, ...) are missing[1]. We may solve this issue using "opengl-registry" posted by Yann a few months ago. It may be sufficient.
Quoted 7 lines
For the records, I've posted an updated series:
http://lists.busybox.net/pipermail/buildroot/2015-January/117642.htmlCare to see if it is posible to update your series to use the Khronos registry/ies? If so, it would great if you could review/ack the patches so they get applied soon, so you can in turn repost an updated series of yours! ;-)
I am able to build xorg-xserver w/ --enable-dri --enable-glx and without mesa3d. Instead of mesa3d, I built opengl-registry and a libGL provider (I used gpu-viv-bin-mx6q, but it should also work with nvidia-driver).
In add, I need to manually add gl.pc, dri.pc and GL/internal/dri_interface.h (picked from mesa3d)
I will try to generate a cleaner patch in order to begin a discussion about this issue.
However, I think this work is an improvement of dri/glx support and is not really related to "Xorg support for iMX6" series.
[...]
Signature · 3 lines
J?r?me Pouiller, Sysmic Embedded Linux specialist http://www.sysmic.fr
PATCH v5 8/15 libdrm: fix support for xserver with Vivante drivers
In reply to Jérôme Pouiller--- package/libdrm/0001-update-arm.patch | 37 ++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 package/libdrm/0001-update-arm.patch
package/libdrm/0001-update-arm.patch new file +37 -0
@@ -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 <[email protected]> +Signed-off-by: Evan Kotara <[email protected]> + +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 */ +
Signature · 1 line
1.9.1
PATCH v5 8/15 libdrm: fix support for xserver with Vivante drivers
Dear J?r?me Pouiller,
Quoted 12 lines · J?r?me Pouiller
Signed-off-by J?r?me Pouiller <[email protected]>--- package/libdrm/0001-update-arm.patch | 37 ++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 package/libdrm/0001-update-arm.patchpackage/libdrm/0001-update-arm.patch new file +0
-0
package/libdrm/0001-update-arm.patch line 3
Quoted 3 lines
package/libdrm/0001-update-arm.patch new file +3
-0@@ -0,0 +1,37 @@ +[Adapted from yocto project] + +Add ARM support into xf86arm.h. This provides support for Xorg interface.
xf86arm -> xf86drm.
Committed with this fixed.
If you've successfully tested this, can you send a Tested-by to upstream libdrm to ensure the patch gets merged at some point?
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v5 9/15 qt5base: apply new patch naming policy
In reply to Jérôme Pouiller---
.../{qt5base-0002-mkspecs-files.patch => 0002-mkspecs-files.patch} | 0
.../{qt5base-0003-uclibc-no-lfs.patch => 0003-uclibc-no-lfs.patch} | 0
2 files changed, 0 insertions(+), 0 deletions(-)
rename package/qt5/qt5base/{qt5base-0002-mkspecs-files.patch => 0002-mkspecs-files.patch} (100%)
rename package/qt5/qt5base/{qt5base-0003-uclibc-no-lfs.patch => 0003-uclibc-no-lfs.patch} (100%)package/qt5/qt5base/0002-mkspecs-files.patch renamed from package/qt5/qt5base/qt5base-0002-mkspecs-files.patch +0 -0
package/qt5/qt5base/0003-uclibc-no-lfs.patch renamed from package/qt5/qt5base/qt5base-0003-uclibc-no-lfs.patch +0 -0
Signature · 1 line
1.9.1
PATCH v5 10/15 qt5base: fix Vivante x11/EGL configuration
In reply to Jérôme PouillerFix compilation with Vivante headers and bug at runtime.
--- .../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
package/qt5/qt5base/0001-Force_egl_visual_ID_33.patch new file +23 -0
@@ -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 <[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,5 @@ + } + + qWarning("Unable to find an X11 visual which matches EGL config %d", configId); +- return (VisualID)0; ++ return (VisualID)33; + }
package/qt5/qt5base/0004-xcb-egl-fixes.patch new file +63 -0
63 lines not on this page · raw message
Signature · 1 line
1.9.1
PATCH v5 10/15 qt5base: fix Vivante x11/EGL configuration
Dear J?r?me Pouiller,
Quoted 3 lines · J?r?me Pouiller
Fix compilation with Vivante headers and bug at runtime.
Signed-off-by J?r?me Pouiller <[email protected]>
Could you add some justification as to why those patches touching non-platform specific parts of Qt will continue to work on non-i.MX platforms once those patches are applied? I'm especially thinking about the 0001 patch.
Thanks a lot!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v5 11/15 Vivante drivers: bump to version 3.10.17-1.0.1
In reply to Jérôme Pouiller--- package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk | 5 +++-- .../x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-)
package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk +3 -2
@@ -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 v5 12/15 nitrogen6x_defconfig: bump kernel to 3.10.17_1.0.1_ga
In reply to Jérôme Pouiller--- configs/nitrogen6x_defconfig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
configs/nitrogen6x_defconfig +2 -1
@@ -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
PATCH v5 13/15 freescale_imx6*_defconfig: bump kernel to 3.10.17_1.0.1_ga
In reply to Jérôme Pouiller--- configs/freescale_imx6dlsabresd_defconfig | 3 ++- configs/freescale_imx6qsabresd_defconfig | 3 ++- configs/freescale_imx6sololiteevk_defconfig | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-)
configs/freescale_imx6dlsabresd_defconfig +2 -1
@@ -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="0x10008000" BR2_LINUX_KERNEL_DTS_SUPPORT=y
Signature · 1 line
1.9.1
PATCH v5 14/15 qmx6_defconfig: update
In reply to Jérôme Pouiller- Update kernel
- Add u-boot configuration
- 6q_bootscript.txt is no more needed by new version of u-boot
--- board/congatec/qmx6/6q_bootscript.txt | 2 -- board/congatec/qmx6/post-build.sh | 7 ------- configs/qmx6_defconfig | 25 +++++++++++++++++++++---- 3 files changed, 21 insertions(+), 13 deletions(-) delete mode 100644 board/congatec/qmx6/6q_bootscript.txt delete mode 100755 board/congatec/qmx6/post-build.sh
board/congatec/qmx6/6q_bootscript.txt deleted +0 -2
@@ -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
PATCH v5 15/15 qmx6_qt5_demo_defconfig: new defconfig
In reply to Jérôme PouillerThis new defconfig is based on qmx6_defconfig. In add:
- it enable support for graphical drivers
- it enable Qt5 (eglfs)
--- configs/qmx6_qt5_demo_defconfig | 57 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 configs/qmx6_qt5_demo_defconfig
configs/qmx6_qt5_demo_defconfig new file +57 -0
@@ -0,0 +1,57 @@ +# architecture +BR2_arm=y +BR2_cortex_a9=y +BR2_KERNEL_HEADERS_VERSION=y +BR2_DEFAULT_KERNEL_VERSION="3.10.17" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_10=y +BR2_TOOLCHAIN_BUILDROOT_EGLIBC=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y + +# system +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1" + +# kernel +# Notice you need a recent version of u-boot (with DT support) to be able +# to boot this kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://git.congatec.com/arm/qmx6_kernel.git" +# Last version of branch cgt_imx_3.10.17_1.0.0 +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="9bafbcba67f7bb2a48a5e05998cecb1165aa444f" +BR2_LINUX_KERNEL_DEFCONFIG="qmx6" +BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x10008000" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-qmx6" +BR2_LINUX_KERNEL_INSTALL_TARGET=y + +# Graphics drivers +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q=y +BR2_PACKAGE_GPU_VIV_BIN_MX6Q=y +BR2_PACKAGE_GPU_VIV_BIN_MX6Q_OUTPUT_FB=y + +# Enable Qt5 +BR2_PACKAGE_QT5=y +BR2_PACKAGE_QT5BASE_LICENSE_APPROVED=y +BR2_PACKAGE_QT5BASE_GUI=y +BR2_PACKAGE_QT5BASE_EGLFS=y +BR2_PACKAGE_QT5BASE_OPENGL_LIB=y +BR2_PACKAGE_QT5BASE_DEFAULT_QPA="eglfs" +BR2_PACKAGE_QT5BASE_PNG=y + +# u-boot +# Change boardname depending of your product number +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BOARDNAME="cgt_qmx6_pn016103" +BR2_TARGET_UBOOT_CUSTOM_GIT=y +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://git.congatec.com/arm/qmx6_uboot.git" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="6388c474189b42c07bb865dd604c74483da099f3" +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.pn016103.imx" + +# Images +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_3=y + +# Usefull host packages +BR2_PACKAGE_HOST_UBOOT_TOOLS=y
Signature · 1 line
1.9.1
v5 cover Add Xorg support for iMX6
In reply to Jérôme PouillerJerome, All,
Quoted 24 lines · J?r?me Pouiller
Hello,
Main purpose of this serie is to add support of Vivante GPU (found on imx6) to Xorg. This work is mainly adapted from Yocto.
v5:
- Add references in commit log of xdriver_xf86-video-imx-viv
- Splitqmx6_defconfigin two defconfig: a minimal one and a demo onev4:
- Fix example config in commit log of xdriver_xf86-video-imx-viv
- Add a note about OpenGL API in xdriver_xf86-video-imx-viv helpv3:
- 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
Quoted 7 lines
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
[snip]
I haven't tested this series of patch as Thomas had some remarks. Let me know if I should test it anyway or if I should wait for a v6.
Thanks,
Gary
v5 cover Add Xorg support for iMX6
Hello Garry,
Quoted 6 lines · On Friday 19 December 2014 17:41:26 Gary Bisson wrote:
Jerome, All,
Quoted 3 lines · J?r?me Pouiller
Hello,
Main purpose of this serie is to add support of Vivante GPU (found on
imx6) to
Quoted 5 lines
Quoted 5 lines
Xorg. This work is mainly adapted from Yocto.
v5:
- Add references in commit log of xdriver_xf86-video-imx-viv
- Splitqmx6_defconfigin two defconfig: a minimal one and a demo one
[...]
Quoted 2 lines
I haven't tested this series of patch as Thomas had some remarks. Let me know if I should test it anyway or if I should wait for a v6.
Thomas remarks are only related to Qt5 modifications. I have not yet totally answered these remarks, but apart from Qt5 patch, there is no opened issues on this series.
Signature · 3 lines
J?r?me Pouiller, Sysmic Embedded Linux specialist http://www.sysmic.fr
v5 cover Add Xorg support for iMX6
Jerome, All,
Quoted 15 lines · J?r?me Pouiller
Hello Garry,
Quoted 6 lines · On Friday 19 December 2014 17:41:26 Gary Bisson wrote:
Jerome, All,
Quoted 3 lines · J?r?me Pouiller
Hello,
Main purpose of this serie is to add support of Vivante GPU (found on
imx6) to
Quoted 5 lines
Quoted 5 lines
Xorg. This work is mainly adapted from Yocto.
v5:
- Add references in commit log of xdriver_xf86-video-imx-viv
- Splitqmx6_defconfigin two defconfig: a minimal one and a demo one
Quoted 6 lines
[...]
Quoted 2 lines
I haven't tested this series of patch as Thomas had some remarks. Let me know if I should test it anyway or if I should wait for a v6.
Thomas remarks are only related to Qt5 modifications. I have not yet totally answered these remarks, but apart from Qt5 patch, there is no opened issues on this series.
I confirm this series works as expected with the following setup:
- SabreLite board (nitrogen6x defconfig)
- https://github.com/Freescale/meta-fsl-arm/blob/master/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6/xorg.conf
- Xterm test
- Vivante 3D examples for X
- Also rebuilt the iMX6-specific libraries without X support and
everything is still working in fb mode
- Checked that qmx defconfigs build fine but couldn't try on actual
hardware as I don't have the board.
Gary