summaryrefslogtreecommitdiffstats
path: root/recipes-graphics/xorg-driver
diff options
context:
space:
mode:
authorOtavio Salvador <otavio@ossystems.com.br>2013-07-17 10:01:59 -0300
committerOtavio Salvador <otavio@ossystems.com.br>2013-08-29 16:14:23 -0300
commitb8e93add03f057d6d1b22e2960fc2cf964ba4a9f (patch)
tree5f65d99fcde599305c1dc7c9e63d43fe6c862bf2 /recipes-graphics/xorg-driver
parentdab385a8a59ab8067183e5e6fc23ce2a816f5b94 (diff)
downloadmeta-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')
-rw-r--r--recipes-graphics/xorg-driver/xf86-dri-vivante/fix-libdrm-link.patch33
-rw-r--r--recipes-graphics/xorg-driver/xf86-dri-vivante_3.0.35-4.0.0.bb48
-rw-r--r--recipes-graphics/xorg-driver/xf86-video-imxfb-vivante/Makefile-fix-cross-compile.patch23
-rw-r--r--recipes-graphics/xorg-driver/xf86-video-imxfb-vivante/build-Don-t-force-things-decided-by-build-system.patch82
-rw-r--r--recipes-graphics/xorg-driver/xf86-video-imxfb-vivante_3.0.35-4.0.0.bb54
-rw-r--r--recipes-graphics/xorg-driver/xf86-video-imxfb-vivante_3.5.7-1.0.0-alpha.2.bb59
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 @@
1This adds a missing link dependency on libdrm
2
3Upstream-Status: Pending
4Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
5
6Index: 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.
18Index: 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
5LICENSE = "MIT"
6SECTION = "x11/base"
7DEPENDS = "virtual/xserver xf86-video-imxfb-vivante"
8LIC_FILES_CHKSUM = "file://src/dri.h;enline=27;md5=1d0d59e1dc96f5197ea3a8b101bf1fcc"
9
10SRC_URI = "${FSL_MIRROR}/xserver-xorg-video-imx-viv-${PV}.tar.gz \
11 file://fix-libdrm-link.patch"
12SRC_URI[md5sum] = "5c5b5be029b077346610518bb729c012"
13SRC_URI[sha256sum] = "c67249e68d4233eb1d0a5f337ded8f121dc61fa26fca102a00f93acc3e37ea0f"
14
15PE = "1"
16PR = "r0"
17
18S = "${WORKDIR}/xserver-xorg-video-imx-viv-${PV}/DRI_1.10.4"
19
20inherit fsl-eula-unpack autotools pkgconfig
21
22EXTRA_OECONF_armv7a = " --enable-neon "
23CFLAGS += " -I${STAGING_INCDIR}/xorg -DXSERVER_LIBPCIACCESS"
24
25do_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
39FILES_${PN}-dev += "${includedir}/xorg/*.h"
40FILES_${PN} += " ${libdir}/xorg/modules/extensions/*.so"
41FILES_${PN}-dbg += " ${libdir}/xorg/modules/extensions/.debug"
42
43RDEPENDS_${PN} += "xserver-xorg-extension-glx \
44 xserver-xorg-extension-dri \
45 xserver-xorg-extension-dri2"
46
47PACKAGE_ARCH = "${MACHINE_ARCH}"
48COMPATIBLE_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 @@
1diff --git a/EXA/src/makefile.linux b/EXA/src/makefile.linux
2index 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 @@
1From bc46bc886c79246065cf779a7b4e197b80acd9b1 Mon Sep 17 00:00:00 2001
2From: Otavio Salvador <otavio@ossystems.com.br>
3Date: Thu, 18 Jul 2013 19:52:11 -0300
4Subject: [PATCH] build: Don't force things decided by build system
5
6The build system should't enforce build flags and linking flags which
7are not really necessary so it build system can do the "Right Thing"
8automatically.
9
10Upstream-Status: Pending
11
12Signed-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
18diff --git a/DRI_1.10.4/src/makefile.linux b/DRI_1.10.4/src/makefile.linux
19index 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
53diff --git a/EXA/src/makefile.linux b/EXA/src/makefile.linux
54index 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--
811.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
5require recipes-graphics/xorg-driver/xorg-driver-video.inc
6
7PE = "3"
8PR = "${INC_PR}.3"
9
10DEPENDS += "virtual/xserver virtual/libx11 virtual/libgal-x11 gpu-viv-bin-mx6q"
11
12LIC_FILES_CHKSUM = "file://src/vivante_fbdev/vivante.h;endline=19;md5=641ac6e6d013833e36290797f4d7089c"
13
14SRC_URI = "${FSL_MIRROR}/xserver-xorg-video-imx-viv-${PV}.tar.gz \
15 file://Makefile.am-remove-prefixed-include-path.patch"
16SRC_URI[md5sum] = "5c5b5be029b077346610518bb729c012"
17SRC_URI[sha256sum] = "c67249e68d4233eb1d0a5f337ded8f121dc61fa26fca102a00f93acc3e37ea0f"
18
19EXTRA_OECONF_armv7a = " --enable-neon --disable-static"
20CFLAGS += " -I${STAGING_INCDIR}/xorg -I${STAGING_INCDIR}/drm"
21LDFLAGS += " -lGAL"
22
23S = "${WORKDIR}/xserver-xorg-video-imx-viv-${PV}/EXA/"
24
25do_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
32do_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
39RDEPENDS_${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.
48python populate_packages_prepend() {
49 pn = d.getVar("PN", True)
50 d.appendVar("RDEPENDS_" + pn, " xorg-abi-video-11")
51}
52
53PACKAGE_ARCH = "${MACHINE_ARCH}"
54COMPATIBLE_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
5require recipes-graphics/xorg-driver/xorg-driver-video.inc
6
7PE = "3"
8
9DEPENDS += "virtual/xserver virtual/libx11 virtual/libgal-x11 gpu-viv-bin-mx6q pixman"
10
11LIC_FILES_CHKSUM = "file://EXA/src/vivante_fbdev/vivante.h;endline=19;md5=641ac6e6d013833e36290797f4d7089c"
12
13SRC_URI = "${FSL_MIRROR}/xserver-xorg-video-imx-viv-${PV}.tar.gz"
14SRC_URI[md5sum] = "3fc3d355d721656144920afd06fb1bff"
15SRC_URI[sha256sum] = "49fab65a0a1ea74ec6b04700e035b1351244fbd363301d59d6d0cbffe37d6fb9"
16
17EXTRA_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
23CFLAGS += "-I${STAGING_INCDIR}/xorg \
24 -I${STAGING_INCDIR}/drm \
25 -I../../DRI_1.10.4/src"
26
27S = "${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.
32do_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.
40base_do_compile () {
41 oe_runmake || die "make failed"
42}
43
44do_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
51RDEPENDS_${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
58PACKAGE_ARCH = "${MACHINE_ARCH}"
59COMPATIBLE_MACHINE = "(mx6)"