Skip to contentSkip to conversation

Add support for iMX5 GPU

PATCH New Jérôme Pouiller 3 participants 8 messages Nov 29, 2014 – Apr 26, 2015 Arm i.MX and Layerscape

lore
Share & tools
lore
#0 lore raw

v2 cover Add support for iMX5 GPU

Hello,

This is continuation of my previous serie called "Add Xorg support for imx6". This time, it add support for iMX5 chipset. As fro iMX6, this work is mainly adapted from Yocto.

v2:
- Merge gpu-amd-bin-mx51 related patches
- Use self-extractible helper
- Remove 'See freescale-imx.mk' comment
- Remove debug comment
- Change BUILD_CMD in POST_PATCH_HOOK
- Explain why we patch headers files in gpu-amd-bin-mx51
- Add comment about use of gpu-amd-bin-mx51 on imx53
- Add a comment about kernel dependency
- Remove redondant dependencies on arm/imx53/gpu-mx51-xorg
- Add dependencies on BR2_ARM_EABI (libz160 and gpu-amd-bin-mx51)
- Clean dependencies on glibc, C++ and EABI: libz160 and gpu-amd-bin-mx51 directly depends on these features, xdriver indirectly depends on.
- In xdriver, split comment about dependencies in two lines
- Install libraies with execution bit set

J?r?me Pouiller (3):
gpu-amd-bin-mx51: new package
libz160: fix dependencies
xdriver_xf86-video-imx: new package

 package/freescale-imx/Config.in                    |   1 +
 package/freescale-imx/gpu-amd-bin-mx51/Config.in   |  59 ++
 package/freescale-imx/gpu-amd-bin-mx51/egl.pc      |  10 +
 package/freescale-imx/gpu-amd-bin-mx51/glesv2.pc   |  10 +
 .../gpu-amd-bin-mx51/gpu-amd-bin-mx51.mk           |  67 ++
 package/freescale-imx/gpu-amd-bin-mx51/vg.pc       |  10 +
 package/freescale-imx/libz160/Config.in            |   6 +
 package/x11r7/Config.in                            |   1 +
 .../0001-Update-to-newer-swap-macros.patch         |  65 ++
 .../0002-Fix-error-unknown-type-name-uint.patch    |  33 +
 .../0003-support-glibc-2.20.patch                  |  57 ++
 ...video-API-forward-and-backward-compatible.patch | 787 +++++++++++++++++++++
 ...-xf86-video-imxfb-fix-m4-hardcodded-paths.patch |  53 ++
 .../0006-xserver-1.14-compat.patch                 |  34 +
 package/x11r7/xdriver_xf86-video-imx/Config.in     |  33 +
 .../xdriver_xf86-video-imx.mk                      |  15 +
 16 files changed, 1241 insertions(+)
 create mode 100644 package/freescale-imx/gpu-amd-bin-mx51/Config.in
 create mode 100644 package/freescale-imx/gpu-amd-bin-mx51/egl.pc
 create mode 100644 package/freescale-imx/gpu-amd-bin-mx51/glesv2.pc
 create mode 100644 package/freescale-imx/gpu-amd-bin-mx51/gpu-amd-bin-mx51.mk
 create mode 100644 package/freescale-imx/gpu-amd-bin-mx51/vg.pc
 create mode 100644 package/x11r7/xdriver_xf86-video-imx/0001-Update-to-newer-swap-macros.patch
 create mode 100644 package/x11r7/xdriver_xf86-video-imx/0002-Fix-error-unknown-type-name-uint.patch
 create mode 100644 package/x11r7/xdriver_xf86-video-imx/0003-support-glibc-2.20.patch
 create mode 100644 package/x11r7/xdriver_xf86-video-imx/0004-Make-video-API-forward-and-backward-compatible.patch
 create mode 100644 package/x11r7/xdriver_xf86-video-imx/0005-xf86-video-imxfb-fix-m4-hardcodded-paths.patch
 create mode 100644 package/x11r7/xdriver_xf86-video-imx/0006-xserver-1.14-compat.patch
 create mode 100644 package/x11r7/xdriver_xf86-video-imx/Config.in
 create mode 100644 package/x11r7/xdriver_xf86-video-imx/xdriver_xf86-video-imx.mk
Signature · 1 line
1.9.1
#1 lore raw

PATCH v2 1/3 gpu-amd-bin-mx51: new package

Freescale libraries, headers and executables for the AMD GPU on the i.MX51, containing OpenGL/ES, OpenVG and EGL support.

Tested using:

    mx5loco_defconfig:
    BR2_TOOLCHAIN_EXTERNAL=y
    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_IMX53=y
    BR2_PACKAGE_GPU_AMD_BIN_MX51=y
---
 package/freescale-imx/Config.in                    |  1 +
 package/freescale-imx/gpu-amd-bin-mx51/Config.in   | 59 +++++++++++++++++++
 package/freescale-imx/gpu-amd-bin-mx51/egl.pc      | 10 ++++
 package/freescale-imx/gpu-amd-bin-mx51/glesv2.pc   | 10 ++++
 .../gpu-amd-bin-mx51/gpu-amd-bin-mx51.mk           | 67 ++++++++++++++++++++++
 package/freescale-imx/gpu-amd-bin-mx51/vg.pc       | 10 ++++
 6 files changed, 157 insertions(+)
 create mode 100644 package/freescale-imx/gpu-amd-bin-mx51/Config.in
 create mode 100644 package/freescale-imx/gpu-amd-bin-mx51/egl.pc
 create mode 100644 package/freescale-imx/gpu-amd-bin-mx51/glesv2.pc
 create mode 100644 package/freescale-imx/gpu-amd-bin-mx51/gpu-amd-bin-mx51.mk
 create mode 100644 package/freescale-imx/gpu-amd-bin-mx51/vg.pc
package/freescale-imx/Config.in +1 -0
index 71b7f0b..6ed99fe 100644
@@ -47,6 +47,7 @@ source "package/freescale-imx/imx-vpu/Config.in"
 source "package/freescale-imx/firmware-imx/Config.in"
 if (BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX51 || BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53)
 source "package/freescale-imx/libz160/Config.in"
+source "package/freescale-imx/gpu-amd-bin-mx51/Config.in"
 endif
 if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q
 source "package/freescale-imx/gpu-viv-bin-mx6q/Config.in"
package/freescale-imx/gpu-amd-bin-mx51/Config.in new file +59 -0

59 lines not on this page · raw message

package/freescale-imx/gpu-amd-bin-mx51/egl.pc new file +10 -0
new file mode 100644
index 0000000..b0ff229
@@ -0,0 +1,10 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: egl
+Description: Freescale amd-gpu-bin-mx51 implementation of EGL
+Version: 7.11.0
+Libs: -L${libdir} -lEGL
+Cflags: -I${includedir}
package/freescale-imx/gpu-amd-bin-mx51/glesv2.pc new file +10 -0
new file mode 100644
index 0000000..6f9b7fc
@@ -0,0 +1,10 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: glesv2
+Description: Freescale amd-gpu-bin-mx51 implementation of OpenGL ESv2
+Version: 7.11.0
+Libs: -L${libdir} -lGLESv2
+Cflags: -I${includedir}
package/freescale-imx/gpu-amd-bin-mx51/gpu-amd-bin-mx51.mk new file +67 -0

67 lines not on this page · raw message

package/freescale-imx/gpu-amd-bin-mx51/vg.pc new file +10 -0
new file mode 100644
index 0000000..8fe956e
@@ -0,0 +1,10 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: vg
+Description: Freescale amd-gpu-bin-mx51 implementation of OpenVG
+Version: 1.1
+Libs: -L${libdir} -lOpenVG
+Cflags: -I${includedir}/
Signature · 1 line
1.9.1
#2 lore raw

PATCH v2 1/3 gpu-amd-bin-mx51: new package

Dear J?r?me Pouiller,

Quoted 21 lines · J?r?me Pouiller

Freescale libraries, headers and executables for the AMD GPU on the i.MX51, containing OpenGL/ES, OpenVG and EGL support.

Tested using:

    mx5loco_defconfig:
    BR2_TOOLCHAIN_EXTERNAL=y
    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_IMX53=y
    BR2_PACKAGE_GPU_AMD_BIN_MX51=y
Quoted 1 line

Thanks, applied. I only did some minor Config.in formatting cleanup when applying.

Thanks!

Thomas

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

PATCH v2 2/3 libz160: fix dependencies

In reply to Jérôme Pouiller

libz160 is provided as binary. We need EABI toolchain with glibc to use it.

---
 package/freescale-imx/libz160/Config.in | 6 ++++++
 1 file changed, 6 insertions(+)
package/freescale-imx/libz160/Config.in +6 -0
index f956cce..f4abcc5 100644
@@ -1,5 +1,11 @@
 config BR2_PACKAGE_LIBZ160
 	bool "libz160"
+	depends on BR2_ARM_EABI
+	depends on BR2_TOOLCHAIN_USES_GLIBC
 	help
 	  An API for user space programs to perform 2D accelerated graphics
 	  operations on AMD GPU (included for examples in iMX5x chipsets)
+
+comment "libz160 needs an EABI toolchain w/ (e)glibc"
+	depends on BR2_arm
+	depends on (!BR2_ARM_EABI || !BR2_TOOLCHAIN_USES_GLIBC)
Signature · 1 line
1.9.1
#4 lore raw

PATCH v2 2/3 libz160: fix dependencies

J?r?me, All,

On 2014-11-29 10:12 +0100, J?r?me Pouiller spake thusly:

Quoted 13 lines

libz160 is provided as binary. We need EABI toolchain with glibc to use it.

---
 package/freescale-imx/libz160/Config.in | 6 ++++++
 1 file changed, 6 insertions(+)
package/freescale-imx/libz160/Config.in +0 -0
index f956cce..f4abcc5 100644

package/freescale-imx/libz160/Config.in line 10

Quoted 10 lines
package/freescale-imx/libz160/Config.in +5 -0
@@ -1,5 +1,11 @@
 config BR2_PACKAGE_LIBZ160
 	bool "libz160"
+	depends on BR2_ARM_EABI
+	depends on BR2_TOOLCHAIN_USES_GLIBC
 	help
 	  An API for user space programs to perform 2D accelerated graphics
 	  operations on AMD GPU (included for examples in iMX5x chipsets)
+
+comment "libz160 needs an EABI toolchain w/ (e)glibc"
+	depends on BR2_arm

Not needed, we're already in a depends-on-arm block thanks to BR2_PACKAGE_FREESCALE_IMX.

package/freescale-imx/libz160/Config.in line 11

Quoted 1 line
package/freescale-imx/libz160/Config.in +1 -0
+	depends on (!BR2_ARM_EABI || !BR2_TOOLCHAIN_USES_GLIBC)

The parenthesis are superfluous here.

Otherwise:

Regards,
Yann E. MORIN.

Quoted 7 lines
Signature · 6 lines
1.9.1

_______________________________________________
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.  |
'------------------------------^-------^------------------^--------------------'
#5 lore raw

PATCH v2 2/3 libz160: fix dependencies

In reply to Jérôme Pouiller

Dear J?r?me Pouiller,

Quoted 7 lines · J?r?me Pouiller

libz160 is provided as binary. We need EABI toolchain with glibc to use it.

---
 package/freescale-imx/libz160/Config.in | 6 ++++++
 1 file changed, 6 insertions(+)

Applied, after tweaking the comments as suggested by Yann.

Thanks,

Thomas

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

PATCH v2 3/3 xdriver_xf86-video-imx: new package

In reply to Jérôme Pouiller

X.Org driver for iMX5 GPU. Most of patches come from Yocto project.

Tested using:

    mx5loco_defconfig +
    BR2_TOOLCHAIN_EXTERNAL=y
    BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
    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=y
    BR2_PACKAGE_FREESCALE_IMX=y
    BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53=y
    BR2_PACKAGE_GPU_AMD_BIN_MX51=y
    BR2_PACKAGE_GPU_AMD_BIN_MX51_EXAMPLES=y
---
 package/x11r7/Config.in                            |   1 +
 .../0001-Update-to-newer-swap-macros.patch         |  65 ++
 .../0002-Fix-error-unknown-type-name-uint.patch    |  33 +
 .../0003-support-glibc-2.20.patch                  |  57 ++
 ...video-API-forward-and-backward-compatible.patch | 787 +++++++++++++++++++++
 ...-xf86-video-imxfb-fix-m4-hardcodded-paths.patch |  53 ++
 .../0006-xserver-1.14-compat.patch                 |  34 +
 package/x11r7/xdriver_xf86-video-imx/Config.in     |  33 +
 .../xdriver_xf86-video-imx.mk                      |  15 +
 9 files changed, 1078 insertions(+)
 create mode 100644 package/x11r7/xdriver_xf86-video-imx/0001-Update-to-newer-swap-macros.patch
 create mode 100644 package/x11r7/xdriver_xf86-video-imx/0002-Fix-error-unknown-type-name-uint.patch
 create mode 100644 package/x11r7/xdriver_xf86-video-imx/0003-support-glibc-2.20.patch
 create mode 100644 package/x11r7/xdriver_xf86-video-imx/0004-Make-video-API-forward-and-backward-compatible.patch
 create mode 100644 package/x11r7/xdriver_xf86-video-imx/0005-xf86-video-imxfb-fix-m4-hardcodded-paths.patch
 create mode 100644 package/x11r7/xdriver_xf86-video-imx/0006-xserver-1.14-compat.patch
 create mode 100644 package/x11r7/xdriver_xf86-video-imx/Config.in
 create mode 100644 package/x11r7/xdriver_xf86-video-imx/xdriver_xf86-video-imx.mk
package/x11r7/Config.in +1 -0
index 987f979..3bdcb64 100644
@@ -160,6 +160,7 @@ if BR2_PACKAGE_XORG7
 		source package/x11r7/xdriver_xf86-video-glide/Config.in
 		source package/x11r7/xdriver_xf86-video-glint/Config.in
 		source package/x11r7/xdriver_xf86-video-i128/Config.in
+		source package/x11r7/xdriver_xf86-video-imx/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
package/x11r7/xdriver_xf86-video-imx/0001-Update-to-newer-swap-macros.patch new file +65 -0

65 lines not on this page · raw message

package/x11r7/xdriver_xf86-video-imx/0002-Fix-error-unknown-type-name-uint.patch new file +33 -0
new file mode 100644
index 0000000..6a2fcdf
@@ -0,0 +1,33 @@
+From ccdfce5e75ba707deacdd5808a8f3de8744848d0 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Eric=20B=C3=A9nard?= <[email protected]>
+Date: Tue, 5 Feb 2013 10:57:47 +0100
+Subject: [PATCH] Fix "error: unknown type name 'uint'"
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+In file included from imx_driver.c:33:0:
+.../sysroots/imx53qsb/usr/src/kernel/include/linux/mxcfb.h:107:2: error: unknown type name 'uint'
+
+Upstream-Status: Pending
+
+Signed-off-by: Eric B?nard <[email protected]>
+---
+ src/imx_driver.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/imx_driver.c b/src/imx_driver.c
+index f4b3e38..4cf662d 100644
+--- a/src/imx_driver.c
++++ b/src/imx_driver.c
+@@ -29,6 +29,7 @@
+ #include <errno.h>
+ #include <fcntl.h>
+ #include <string.h>
++#include <sys/types.h>
+ #include <linux/fb.h>
+ #include <linux/mxcfb.h>
+ 
+-- 
+1.7.10.4
+
package/x11r7/xdriver_xf86-video-imx/0003-support-glibc-2.20.patch new file +57 -0

57 lines not on this page · raw message

package/x11r7/xdriver_xf86-video-imx/0004-Make-video-API-forward-and-backward-compatible.patch new file +787 -0

787 lines not on this page · raw message

package/x11r7/xdriver_xf86-video-imx/0005-xf86-video-imxfb-fix-m4-hardcodded-paths.patch new file +53 -0

53 lines not on this page · raw message

package/x11r7/xdriver_xf86-video-imx/0006-xserver-1.14-compat.patch new file +34 -0
new file mode 100644
index 0000000..14ccbbf
@@ -0,0 +1,34 @@
+Fix building using new Xorg 1.14
+
+mibstore functions are no longer supported. This patch removes them
+from this driver, following the pattern in
+http://patches.openembedded.org/patch/46133/
+
+This checkin shows when/where the changes to the X server were made
+that deleted the header mibstore.h and mentions the reasons.
+http://lists.x.org/archives/xorg-devel/2012-September/033575.html
+
+Upstream-Status: Pending
+
+Signed-off-by: Otavio Salvador <[email protected]>
+
+Index: xserver-xorg-video-imx-11.09.01/src/imx_driver.c
+===================================================================
+--- xserver-xorg-video-imx-11.09.01.orig/src/imx_driver.c
++++ xserver-xorg-video-imx-11.09.01/src/imx_driver.c
+@@ -37,7 +37,6 @@
+ #include "xf86_OSproc.h"
+ 
+ #include "mipointer.h"
+-#include "mibstore.h"
+ #include "micmap.h"
+ #include "colormapst.h"
+ #include "xf86cmap.h"
+@@ -722,7 +721,6 @@ imxScreenInit(SCREEN_INIT_ARGS_DECL)
+ 	/* Initialize for X extensions. */
+ 	imxExtInit();
+ 
+-	miInitializeBackingStore(pScreen);
+ 	xf86SetBackingStore(pScreen);
+ 
+ 	/* software cursor */
package/x11r7/xdriver_xf86-video-imx/Config.in new file +33 -0
new file mode 100644
index 0000000..3ec4356
@@ -0,0 +1,33 @@
+
+config BR2_PACKAGE_XDRIVER_XF86_VIDEO_IMX
+	bool "xf86-video-imx"
+	depends on BR2_ARM_EABI # libz160
+	depends on BR2_TOOLCHAIN_USES_GLIBC # libz160
+	depends on BR2_LINUX_KERNEL # linux/mxcfb.h
+	depends on BR2_PACKAGE_GPU_AMD_BIN_MX51_OUTPUT_X11
+	select BR2_PACKAGE_LIBZ160
+	select BR2_PACKAGE_XPROTO_FONTSPROTO
+	select BR2_PACKAGE_XPROTO_RANDRPROTO
+	select BR2_PACKAGE_XPROTO_RENDERPROTO
+	select BR2_PACKAGE_XPROTO_VIDEOPROTO
+	select BR2_PACKAGE_XPROTO_XF86DGAPROTO
+	select BR2_PACKAGE_XPROTO_XPROTO
+	help
+	  X.Org driver for iMX5 GPU
+
+	  To use this driver, add correct configuration to your
+	  /etc/X11/xorg.conf:
+
+	  Section "Device"
+	    [...]
+	    Driver "imx"
+	    Option "fbdev" "/dev/fb0"
+	  EndSection
+
+comment "xf86-video-imx needs an EABI toolchain w/ (e)glibc"
+	depends on BR2_arm
+	depends on (!BR2_ARM_EABI || !BR2_TOOLCHAIN_USES_GLIBC)
+
+comment "xf86-video-imx needs gpu-amd-bin-mx51 with X11 output and a Linux kernel to be built"
+	depends on BR2_arm
+	depends on (!BR2_LINUX_KERNEL || !BR2_PACKAGE_GPU_AMD_BIN_MX51_OUTPUT_X11)
package/x11r7/xdriver_xf86-video-imx/xdriver_xf86-video-imx.mk new file +15 -0
new file mode 100644
index 0000000..5684a6d
@@ -0,0 +1,15 @@
+################################################################################
+#
+# xdriver_xf86-video-imx
+#
+################################################################################
+
+XDRIVER_XF86_VIDEO_IMX_VERSION = 11.09.01
+XDRIVER_XF86_VIDEO_IMX_SOURCE = xserver-xorg-video-imx-$(XDRIVER_XF86_VIDEO_IMX_VERSION).tar.gz
+XDRIVER_XF86_VIDEO_IMX_SITE = $(FREESCALE_IMX_SITE)
+XDRIVER_XF86_VIDEO_IMX_DEPENDENCIES = linux libz160 xserver_xorg-server \
+	xproto_fontsproto xproto_randrproto xproto_renderproto xproto_videoproto \
+	xproto_xf86dgaproto xproto_xproto
+XDRIVER_XF86_VIDEO_IMX_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -I$(LINUX_DIR)/include"
+
+$(eval $(autotools-package))
Signature · 1 line
1.9.1
#7 lore raw

PATCH v2 3/3 xdriver_xf86-video-imx: new package

Dear J?r?me Pouiller,

Quoted 38 lines · J?r?me Pouiller

X.Org driver for iMX5 GPU. Most of patches come from Yocto project.

Tested using:

    mx5loco_defconfig +
    BR2_TOOLCHAIN_EXTERNAL=y
    BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
    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=y
    BR2_PACKAGE_FREESCALE_IMX=y
    BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53=y
    BR2_PACKAGE_GPU_AMD_BIN_MX51=y
    BR2_PACKAGE_GPU_AMD_BIN_MX51_EXAMPLES=y
---
 package/x11r7/Config.in                            |   1 +
 .../0001-Update-to-newer-swap-macros.patch         |  65 ++
 .../0002-Fix-error-unknown-type-name-uint.patch    |  33 +
 .../0003-support-glibc-2.20.patch                  |  57 ++
 ...video-API-forward-and-backward-compatible.patch | 787 +++++++++++++++++++++
 ...-xf86-video-imxfb-fix-m4-hardcodded-paths.patch |  53 ++
 .../0006-xserver-1.14-compat.patch                 |  34 +
 package/x11r7/xdriver_xf86-video-imx/Config.in     |  33 +
 .../xdriver_xf86-video-imx.mk                      |  15 +
 9 files changed, 1078 insertions(+)
Quoted 8 lines
 create mode 100644 package/x11r7/xdriver_xf86-video-imx/0001-Update-to-newer-swap-macros.patch
 create mode 100644 package/x11r7/xdriver_xf86-video-imx/0002-Fix-error-unknown-type-name-uint.patch
 create mode 100644 package/x11r7/xdriver_xf86-video-imx/0003-support-glibc-2.20.patch
 create mode 100644 package/x11r7/xdriver_xf86-video-imx/0004-Make-video-API-forward-and-backward-compatible.patch
 create mode 100644 package/x11r7/xdriver_xf86-video-imx/0005-xf86-video-imxfb-fix-m4-hardcodded-paths.patch
 create mode 100644 package/x11r7/xdriver_xf86-video-imx/0006-xserver-1.14-compat.patch
 create mode 100644 package/x11r7/xdriver_xf86-video-imx/Config.in
 create mode 100644 package/x11r7/xdriver_xf86-video-imx/xdriver_xf86-video-imx.mk

Applied after doing some minor tweaks to the Config.in file, thanks.

Also, I noticed that Arch has some patch to make it work with X server 1.17. Maybe we should integrate this patch as well? Could you retest this driver with the latest Buildroot, which has X server 1.17, and see if the additional Arch patch is needed or not?

See
https://github.com/archlinuxarm/PKGBUILDs/blob/master/alarm/xf86-video-imx/xserver-1.17-compat.patch.

Best regards,

Thomas

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