diff options
author | Otavio Salvador <otavio@ossystems.com.br> | 2013-07-17 10:01:59 -0300 |
---|---|---|
committer | Otavio Salvador <otavio@ossystems.com.br> | 2013-08-29 16:14:23 -0300 |
commit | b8e93add03f057d6d1b22e2960fc2cf964ba4a9f (patch) | |
tree | 5f65d99fcde599305c1dc7c9e63d43fe6c862bf2 /recipes-graphics/xorg-driver | |
parent | dab385a8a59ab8067183e5e6fc23ce2a816f5b94 (diff) | |
download | meta-fsl-arm-b8e93add03f057d6d1b22e2960fc2cf964ba4a9f.tar.gz |
xf86-video-imxfb-vivante: Upgrade to 3.5.7-1.0.0-alpha.2
The new Xorg driver does not need a DRI library anymore, so we remove
the xf86-dri-vivante recipe, but use the DRI code during the Xorg GPU
driver build.
This change has been based on changes done in meta-fsl-bsp-release,
3.5.7 dylan branch, by Lauren Post <lauren.post@freescale.com> and
Evan Kotara <evan.kotara@freescale.com>.
Change-Id: I3f666da817fb158b201dc169ae7862b199216ddd
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Diffstat (limited to 'recipes-graphics/xorg-driver')
6 files changed, 164 insertions, 135 deletions
diff --git a/recipes-graphics/xorg-driver/xf86-dri-vivante/fix-libdrm-link.patch b/recipes-graphics/xorg-driver/xf86-dri-vivante/fix-libdrm-link.patch deleted file mode 100644 index fe3e610..0000000 --- a/recipes-graphics/xorg-driver/xf86-dri-vivante/fix-libdrm-link.patch +++ /dev/null | |||
@@ -1,33 +0,0 @@ | |||
1 | This adds a missing link dependency on libdrm | ||
2 | |||
3 | Upstream-Status: Pending | ||
4 | Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> | ||
5 | |||
6 | Index: DRI_1.10.4/configure.ac | ||
7 | =================================================================== | ||
8 | --- DRI_1.10.4.orig/configure.ac | ||
9 | +++ DRI_1.10.4/configure.ac | ||
10 | @@ -55,6 +55,7 @@ XORG_DRIVER_CHECK_EXT(XV, videoproto) | ||
11 | |||
12 | # Checks for pkg-config packages | ||
13 | PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901 xproto fontsproto $REQUIRED_MODULES]) | ||
14 | +PKG_CHECK_MODULES(LIBDRM, [libdrm >= 2.3.0]) | ||
15 | sdkdir=$(pkg-config --variable=sdkdir xorg-server) | ||
16 | |||
17 | # Checks for libraries. | ||
18 | Index: DRI_1.10.4/src/Makefile.am | ||
19 | =================================================================== | ||
20 | --- DRI_1.10.4.orig/src/Makefile.am | ||
21 | +++ DRI_1.10.4/src/Makefile.am | ||
22 | @@ -11,9 +11,9 @@ | ||
23 | ############################################################################## | ||
24 | |||
25 | |||
26 | -AM_CFLAGS = @XORG_CFLAGS@ | ||
27 | +AM_CFLAGS = @XORG_CFLAGS@ @LIBDRM_CFLAGS@ | ||
28 | libdri_la_LTLIBRARIES = libdri.la | ||
29 | -libdri_la_LDFLAGS = -module -avoid-version | ||
30 | +libdri_la_LDFLAGS = -module -avoid-version @LIBDRM_LIBS@ | ||
31 | libdri_ladir = @moduledir@/extensions | ||
32 | libdri_la_SOURCES = \ | ||
33 | dri.c \ | ||
diff --git a/recipes-graphics/xorg-driver/xf86-dri-vivante_3.0.35-4.0.0.bb b/recipes-graphics/xorg-driver/xf86-dri-vivante_3.0.35-4.0.0.bb deleted file mode 100644 index c116d57..0000000 --- a/recipes-graphics/xorg-driver/xf86-dri-vivante_3.0.35-4.0.0.bb +++ /dev/null | |||
@@ -1,48 +0,0 @@ | |||
1 | # Copyright (C) 2012-2013 Freescale Semiconductor | ||
2 | # Copyright (C) 2012-2013 O.S. Systems Software LTDA. | ||
3 | # Released under the MIT license (see COPYING.MIT for the terms) | ||
4 | |||
5 | LICENSE = "MIT" | ||
6 | SECTION = "x11/base" | ||
7 | DEPENDS = "virtual/xserver xf86-video-imxfb-vivante" | ||
8 | LIC_FILES_CHKSUM = "file://src/dri.h;enline=27;md5=1d0d59e1dc96f5197ea3a8b101bf1fcc" | ||
9 | |||
10 | SRC_URI = "${FSL_MIRROR}/xserver-xorg-video-imx-viv-${PV}.tar.gz \ | ||
11 | file://fix-libdrm-link.patch" | ||
12 | SRC_URI[md5sum] = "5c5b5be029b077346610518bb729c012" | ||
13 | SRC_URI[sha256sum] = "c67249e68d4233eb1d0a5f337ded8f121dc61fa26fca102a00f93acc3e37ea0f" | ||
14 | |||
15 | PE = "1" | ||
16 | PR = "r0" | ||
17 | |||
18 | S = "${WORKDIR}/xserver-xorg-video-imx-viv-${PV}/DRI_1.10.4" | ||
19 | |||
20 | inherit fsl-eula-unpack autotools pkgconfig | ||
21 | |||
22 | EXTRA_OECONF_armv7a = " --enable-neon " | ||
23 | CFLAGS += " -I${STAGING_INCDIR}/xorg -DXSERVER_LIBPCIACCESS" | ||
24 | |||
25 | do_install_append () { | ||
26 | # Install header files | ||
27 | install -d ${D}${includedir}/xorg | ||
28 | cp -axr ${S}/src/*.h ${D}${includedir}/xorg | ||
29 | find ${D}${includedir} -type f -exec chmod 660 {} \; | ||
30 | |||
31 | # FIXME: don't install libtool (*.la) file | ||
32 | rm ${D}${libdir}/xorg/modules/extensions/*.la | ||
33 | |||
34 | # FIXME: The Xorg driver has a hardcoded library name | ||
35 | mv ${D}${libdir}/xorg/modules/extensions/libdri.so \ | ||
36 | ${D}${libdir}/xorg/modules/extensions/libvivante_dri.so | ||
37 | } | ||
38 | |||
39 | FILES_${PN}-dev += "${includedir}/xorg/*.h" | ||
40 | FILES_${PN} += " ${libdir}/xorg/modules/extensions/*.so" | ||
41 | FILES_${PN}-dbg += " ${libdir}/xorg/modules/extensions/.debug" | ||
42 | |||
43 | RDEPENDS_${PN} += "xserver-xorg-extension-glx \ | ||
44 | xserver-xorg-extension-dri \ | ||
45 | xserver-xorg-extension-dri2" | ||
46 | |||
47 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
48 | COMPATIBLE_MACHINE = "(mx6)" | ||
diff --git a/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante/Makefile-fix-cross-compile.patch b/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante/Makefile-fix-cross-compile.patch new file mode 100644 index 0000000..ce3a9ae --- /dev/null +++ b/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante/Makefile-fix-cross-compile.patch | |||
@@ -0,0 +1,23 @@ | |||
1 | diff --git a/EXA/src/makefile.linux b/EXA/src/makefile.linux | ||
2 | index 12cb8f3..005b002 100644 | ||
3 | --- a/EXA/src/makefile.linux | ||
4 | +++ b/EXA/src/makefile.linux | ||
5 | @@ -1,9 +1,6 @@ | ||
6 | |||
7 | .PHONY: all clean install | ||
8 | |||
9 | -CC := $(CROSS_COMPILE)gcc | ||
10 | -LD := $(CROSS_COMPILE)gcc | ||
11 | - | ||
12 | target := vivante_drv.so | ||
13 | |||
14 | OBJS := vivante_gal/vivante_gal_blit.o \ | ||
15 | @@ -63,7 +60,7 @@ LFLAGS += -L$(sysroot)/usr/lib -lm -ldl -lGAL -Wl,-soname -Wl,vivante_drv.so | ||
16 | all: $(target) | ||
17 | |||
18 | $(target): $(OBJS) | ||
19 | - $(LD) -shared -fPIC -o $(target) $(OBJS) $(LFLAGS) | ||
20 | + $(CC) -shared -fPIC -o $(target) $(OBJS) $(LFLAGS) | ||
21 | |||
22 | clean: | ||
23 | -@rm $(target) $(OBJS) | ||
diff --git a/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante/build-Don-t-force-things-decided-by-build-system.patch b/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante/build-Don-t-force-things-decided-by-build-system.patch new file mode 100644 index 0000000..5fda33c --- /dev/null +++ b/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante/build-Don-t-force-things-decided-by-build-system.patch | |||
@@ -0,0 +1,82 @@ | |||
1 | From bc46bc886c79246065cf779a7b4e197b80acd9b1 Mon Sep 17 00:00:00 2001 | ||
2 | From: Otavio Salvador <otavio@ossystems.com.br> | ||
3 | Date: Thu, 18 Jul 2013 19:52:11 -0300 | ||
4 | Subject: [PATCH] build: Don't force things decided by build system | ||
5 | |||
6 | The build system should't enforce build flags and linking flags which | ||
7 | are not really necessary so it build system can do the "Right Thing" | ||
8 | automatically. | ||
9 | |||
10 | Upstream-Status: Pending | ||
11 | |||
12 | Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> | ||
13 | --- | ||
14 | DRI_1.10.4/src/makefile.linux | 20 +------------------- | ||
15 | EXA/src/makefile.linux | 9 +-------- | ||
16 | 2 files changed, 2 insertions(+), 27 deletions(-) | ||
17 | |||
18 | diff --git a/DRI_1.10.4/src/makefile.linux b/DRI_1.10.4/src/makefile.linux | ||
19 | index 86aa903..9188432 100644 | ||
20 | --- a/DRI_1.10.4/src/makefile.linux | ||
21 | +++ b/DRI_1.10.4/src/makefile.linux | ||
22 | @@ -37,29 +37,11 @@ ifeq ($(SWAP_SINGLE_PARAMETER),1) | ||
23 | CFLAGS += -DSWAP_SINGLE_PARAMETER | ||
24 | endif | ||
25 | |||
26 | -ifeq ($(BUILD_HARD_VFP),1) | ||
27 | -CFLAGS += -mfpu=neon -mfloat-abi=hard | ||
28 | -else | ||
29 | -CFLAGS += -mfpu=vfp -mfloat-abi=softfp | ||
30 | -endif | ||
31 | - | ||
32 | CFLAGS += -fvisibility=hidden -fPIC -DPIC | ||
33 | CFLAGS += -I. -I.. -I$(sysroot)/usr/include -I$(sysroot)/usr/include/xorg -I$(sysroot)/usr/include/$(PIXMAN) | ||
34 | CFLAGS += -I../../EXA/src/vivante_gal | ||
35 | -ifeq ($(YOCTO),1) | ||
36 | -# Yocto: compile will fail (does not support ldrex/strexeq/...) | ||
37 | -# specify armv6 to walkaround it | ||
38 | -# armv7: not supported by the toolchain | ||
39 | -CFLAGS += -march=armv6 | ||
40 | -else | ||
41 | -CFLAGS += -marm | ||
42 | -# -Wa,-mimplicit-it=thumb | ||
43 | -endif | ||
44 | - | ||
45 | |||
46 | -#LFLAGS += -lGAL -lm -ldl -ldrm -lX11 -module -Wl,-soname -Wl,$(target) -Wl,-rpath,/usr/lib/xorg/modules/extensions | ||
47 | -#LFLAGS += -lGAL -lm -ldl -ldrm -lX11 -module -Wl,-soname -Wl,$(target) | ||
48 | -LFLAGS += -L$(sysroot)/usr/lib -lGAL -lm -ldl -ldrm -lX11 -Wl,-soname -Wl,$(target) | ||
49 | +LFLAGS += -lGAL -lm -ldl -ldrm -lX11 -Wl,-soname -Wl,$(target) | ||
50 | |||
51 | all: $(target) | ||
52 | |||
53 | diff --git a/EXA/src/makefile.linux b/EXA/src/makefile.linux | ||
54 | index eb56de5..bfaf314 100644 | ||
55 | --- a/EXA/src/makefile.linux | ||
56 | +++ b/EXA/src/makefile.linux | ||
57 | @@ -57,12 +57,6 @@ ifeq ($(BUSID_HAS_NUMBER),1) | ||
58 | CFLAGS += -DBUSID_HAS_NUMBER | ||
59 | endif | ||
60 | |||
61 | -ifeq ($(BUILD_HARD_VFP),1) | ||
62 | -CFLAGS += -mfpu=neon -mfloat-abi=hard | ||
63 | -else | ||
64 | -CFLAGS += -mfpu=vfp -mfloat-abi=softfp | ||
65 | -endif | ||
66 | - | ||
67 | # macro FREESCALE_EXTENSION is reserved for future use | ||
68 | CFLAGS += -fvisibility=hidden -fPIC -DPIC -O2 -DFREESCALE_EXTENSION | ||
69 | CFLAGS += -I. -I.. -I$(sysroot)/usr/include -I$(sysroot)/usr/include/xorg -I$(sysroot)/usr/include/$(PIXMAN) | ||
70 | @@ -73,8 +67,7 @@ CFLAGS += -marm | ||
71 | #CFLAGS += -mimplicit-it=thumb | ||
72 | |||
73 | LFLAGS += -fPIC | ||
74 | -#LFLAGS += -Wl,--no-allow-shlib-undefined -lX11 | ||
75 | -LFLAGS += -L$(sysroot)/usr/lib -lm -ldl -lGAL -Wl,-soname -Wl,vivante_drv.so | ||
76 | +LFLAGS += -lm -ldl -lGAL -Wl,-soname -Wl,vivante_drv.so | ||
77 | |||
78 | |||
79 | all: $(target) | ||
80 | -- | ||
81 | 1.8.3.2 | ||
82 | |||
diff --git a/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante_3.0.35-4.0.0.bb b/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante_3.0.35-4.0.0.bb deleted file mode 100644 index dbaf2ab..0000000 --- a/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante_3.0.35-4.0.0.bb +++ /dev/null | |||
@@ -1,54 +0,0 @@ | |||
1 | # Copyright (C) 2012-2013 Freescale Semiconductor | ||
2 | # Copyright (C) 2012-2013 O.S. Systems Software LTDA. | ||
3 | # Released under the MIT license (see COPYING.MIT for the terms) | ||
4 | |||
5 | require recipes-graphics/xorg-driver/xorg-driver-video.inc | ||
6 | |||
7 | PE = "3" | ||
8 | PR = "${INC_PR}.3" | ||
9 | |||
10 | DEPENDS += "virtual/xserver virtual/libx11 virtual/libgal-x11 gpu-viv-bin-mx6q" | ||
11 | |||
12 | LIC_FILES_CHKSUM = "file://src/vivante_fbdev/vivante.h;endline=19;md5=641ac6e6d013833e36290797f4d7089c" | ||
13 | |||
14 | SRC_URI = "${FSL_MIRROR}/xserver-xorg-video-imx-viv-${PV}.tar.gz \ | ||
15 | file://Makefile.am-remove-prefixed-include-path.patch" | ||
16 | SRC_URI[md5sum] = "5c5b5be029b077346610518bb729c012" | ||
17 | SRC_URI[sha256sum] = "c67249e68d4233eb1d0a5f337ded8f121dc61fa26fca102a00f93acc3e37ea0f" | ||
18 | |||
19 | EXTRA_OECONF_armv7a = " --enable-neon --disable-static" | ||
20 | CFLAGS += " -I${STAGING_INCDIR}/xorg -I${STAGING_INCDIR}/drm" | ||
21 | LDFLAGS += " -lGAL" | ||
22 | |||
23 | S = "${WORKDIR}/xserver-xorg-video-imx-viv-${PV}/EXA/" | ||
24 | |||
25 | do_compile_prepend () { | ||
26 | # FIXME: Allow build without depending on xserver-xorg | ||
27 | # as this is the is the only source dependency and | ||
28 | # by default Xorg does not install this header anyway. | ||
29 | cp ${S}/../DRI*/src/dri.h ${S}/../DRI*/src/sarea.h ${S}/src/vivante_fbdev/ | ||
30 | } | ||
31 | |||
32 | do_install_append () { | ||
33 | install -d ${D}${includedir} | ||
34 | cp -axr ${S}/src/vivante_gal/vivante_priv.h ${D}${includedir} | ||
35 | cp -axr ${S}/src/vivante_gal/vivante_gal.h ${D}${includedir} | ||
36 | find ${D}${includedir} -type f -exec chmod 660 {} \; | ||
37 | } | ||
38 | |||
39 | RDEPENDS_${PN} += "libvivante-dri-mx6 \ | ||
40 | xserver-xorg-module-exa \ | ||
41 | mesa-driver-swrast \ | ||
42 | xf86-dri-vivante" | ||
43 | |||
44 | # Add the ABI dependency at package generation time, as otherwise bitbake will | ||
45 | # attempt to find a provider for it (and fail) when it does the parse. | ||
46 | # | ||
47 | # This version *must* be kept correct. | ||
48 | python populate_packages_prepend() { | ||
49 | pn = d.getVar("PN", True) | ||
50 | d.appendVar("RDEPENDS_" + pn, " xorg-abi-video-11") | ||
51 | } | ||
52 | |||
53 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
54 | COMPATIBLE_MACHINE = "(mx6)" | ||
diff --git a/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante_3.5.7-1.0.0-alpha.2.bb b/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante_3.5.7-1.0.0-alpha.2.bb new file mode 100644 index 0000000..c65ad27 --- /dev/null +++ b/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante_3.5.7-1.0.0-alpha.2.bb | |||
@@ -0,0 +1,59 @@ | |||
1 | # Copyright (C) 2012-2013 Freescale Semiconductor | ||
2 | # Copyright (C) 2012-2013 O.S. Systems Software LTDA. | ||
3 | # Released under the MIT license (see COPYING.MIT for the terms) | ||
4 | |||
5 | require recipes-graphics/xorg-driver/xorg-driver-video.inc | ||
6 | |||
7 | PE = "3" | ||
8 | |||
9 | DEPENDS += "virtual/xserver virtual/libx11 virtual/libgal-x11 gpu-viv-bin-mx6q pixman" | ||
10 | |||
11 | LIC_FILES_CHKSUM = "file://EXA/src/vivante_fbdev/vivante.h;endline=19;md5=641ac6e6d013833e36290797f4d7089c" | ||
12 | |||
13 | SRC_URI = "${FSL_MIRROR}/xserver-xorg-video-imx-viv-${PV}.tar.gz" | ||
14 | SRC_URI[md5sum] = "3fc3d355d721656144920afd06fb1bff" | ||
15 | SRC_URI[sha256sum] = "49fab65a0a1ea74ec6b04700e035b1351244fbd363301d59d6d0cbffe37d6fb9" | ||
16 | |||
17 | EXTRA_OEMAKE += "-C EXA/src -f makefile.linux prefix=${D}/usr \ | ||
18 | sysroot=${STAGING_DIR_TARGET} \ | ||
19 | BUSID_HAS_NUMBER=1 \ | ||
20 | BUILD_IN_YOCTO=1 \ | ||
21 | XSERVER_GREATER_THAN_13=1" | ||
22 | |||
23 | CFLAGS += "-I${STAGING_INCDIR}/xorg \ | ||
24 | -I${STAGING_INCDIR}/drm \ | ||
25 | -I../../DRI_1.10.4/src" | ||
26 | |||
27 | S = "${WORKDIR}/xserver-xorg-video-imx-viv-${PV}/" | ||
28 | |||
29 | # FIXME: The Freescale provided Makefile has hardcodec include paths | ||
30 | # and this does not work in case prefix is different than /usr, | ||
31 | # sed it. | ||
32 | do_configure_prepend () { | ||
33 | sed -i 's,$(sysroot)/usr/include,${STAGING_INCDIR},g' \ | ||
34 | ${S}EXA/src/makefile.linux | ||
35 | } | ||
36 | |||
37 | # FIXME: This is need as Freescale didn't use standard Makefile filename | ||
38 | # thus oe_runmame thinks nothing is need to be done, use ln to | ||
39 | # workaround it. | ||
40 | base_do_compile () { | ||
41 | oe_runmake || die "make failed" | ||
42 | } | ||
43 | |||
44 | do_install_append () { | ||
45 | install -d ${D}${includedir} | ||
46 | cp -axr ${S}/EXA/src/vivante_gal/vivante_priv.h ${D}${includedir} | ||
47 | cp -axr ${S}/EXA/src/vivante_gal/vivante_gal.h ${D}${includedir} | ||
48 | find ${D}${includedir} -type f -exec chmod 660 {} \; | ||
49 | } | ||
50 | |||
51 | RDEPENDS_${PN} += "libvivante-dri-mx6 \ | ||
52 | xserver-xorg-module-exa \ | ||
53 | mesa-driver-swrast \ | ||
54 | xserver-xorg-extension-dri \ | ||
55 | xserver-xorg-extension-dri2 \ | ||
56 | xserver-xorg-extension-glx" | ||
57 | |||
58 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
59 | COMPATIBLE_MACHINE = "(mx6)" | ||