From: "Jérôme Pouiller" <jezz@sysmic.org>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v4 07/14] xdriver_xf86-video-imx-viv: new package
Date: Tue, 2 Dec 2014 10:59:05 +0100 [thread overview]
Message-ID: <1417514352-8825-8-git-send-email-jezz@sysmic.org> (raw)
In-Reply-To: <1417514352-8825-1-git-send-email-jezz@sysmic.org>
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_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
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 | 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
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..d91ba79
--- /dev/null
+++ b/package/x11r7/xdriver_xf86-video-imx-viv/Config.in
@@ -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)
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
next prev parent reply other threads:[~2014-12-02 9:59 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-02 9:58 [Buildroot] [PATCH v4 00/14] Add Xorg support for iMX6 Jérôme Pouiller
2014-12-02 9:58 ` [Buildroot] [PATCH v4 01/14] mesa3d: Give possibility to external backends to enable DRI/Gallium Jérôme Pouiller
2014-12-02 9:59 ` [Buildroot] [PATCH v4 02/14] gpu-viv-bin-mx6q: use self-extractible helper Jérôme Pouiller
2014-12-02 9:59 ` [Buildroot] [PATCH v4 03/14] gpu-viv-bin-mx6q: fix compiling issues with EGL_API_FB Jérôme Pouiller
2014-12-02 9:59 ` [Buildroot] [PATCH v4 04/14] gpu-viv-bin-mx6q: fix GLESv2 support Jérôme Pouiller
2014-12-02 9:59 ` [Buildroot] [PATCH v4 05/14] gpu-viv-bin-mx6q: make fb/x11 choice explicit Jérôme Pouiller
2014-12-02 9:59 ` [Buildroot] [PATCH v4 06/14] gpu-viv-bin-mx6q: change output selection mechanism Jérôme Pouiller
2014-12-02 9:59 ` Jérôme Pouiller [this message]
2014-12-02 9:59 ` [Buildroot] [PATCH v4 08/14] libdrm: fix support for xserver with Vivante drivers Jérôme Pouiller
2014-12-02 9:59 ` [Buildroot] [PATCH v4 09/14] qt5base: apply new patch naming policy Jérôme Pouiller
2014-12-02 9:59 ` [Buildroot] [PATCH v4 10/14] qt5base: fix Vivante x11/EGL configuration Jérôme Pouiller
2014-12-02 9:59 ` [Buildroot] [PATCH v4 11/14] Vivante drivers: bump to version 3.10.17-1.0.1 Jérôme Pouiller
2014-12-02 9:59 ` [Buildroot] [PATCH v4 12/14] nitrogen6x_defconfig: bump kernel to 3.10.17_1.0.1_ga Jérôme Pouiller
2014-12-02 9:59 ` [Buildroot] [PATCH v4 13/14] freescale_imx6*_defconfig: " Jérôme Pouiller
2014-12-02 9:59 ` [Buildroot] [PATCH v4 14/14] qmx6_defconfig: update Jérôme Pouiller
2014-12-03 19:25 ` [Buildroot] [PATCH v4 00/14] Add Xorg support for iMX6 Gary Bisson
2014-12-04 13:14 ` Jérôme Pouiller
2014-12-04 19:22 ` Gary Bisson
2014-12-04 21:19 ` Jérôme Pouiller
2014-12-04 21:46 ` Gary Bisson
2014-12-05 20:49 ` Gary Bisson
2014-12-05 22:44 ` Thomas Petazzoni
2014-12-08 10:32 ` Jérôme Pouiller
2014-12-05 22:39 ` Thomas Petazzoni
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1417514352-8825-8-git-send-email-jezz@sysmic.org \
--to=jezz@sysmic.org \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox