From 7059fe6442b0cf480261fbcdea3e5ba404afef27 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Mon, 13 Dec 2010 22:40:15 -0600 Subject: meta-crownbay: new layer for E6xx/EG20T systems This layer provides support for Tunnel Creek + Topcliff Intel systems to laverne (0.90). It supports the E6xx embedded on-chip graphics via the Intel Embedded Media and Graphics Driver (EMGD) 1.5 Gold Driver. The EMGD and EG20T PCH kernel drivers are of course GPL'ed and are submitted in a separate patchset for the 2.6.34 yocto kernel. The userspace X drivers and supporting libraries however are closed and need to be manually copied into the layer before building. The details on how to do this can be found in the README doc in meta-crownbay/. Signed-off-by: Tom Zanussi --- .../xserver-xf86-config/crownbay/xorg.conf | 47 +++++++++++ .../xorg-xserver/xserver-xf86-config_0.1.bbappend | 3 + .../xorg-xserver/xserver-xf86-emgd-bin/.gitignore | 0 .../xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb | 90 ++++++++++++++++++++++ .../xserver-xf86-emgd/crosscompile.patch | 19 +++++ .../fix_open_max_preprocessor_error.patch | 13 ++++ .../xserver-xf86-emgd/macro_tweak.patch | 18 +++++ .../xorg-xserver/xserver-xf86-emgd/nodolt.patch | 12 +++ .../xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb | 25 ++++++ 9 files changed, 227 insertions(+) create mode 100644 meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf create mode 100644 meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend create mode 100644 meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd-bin/.gitignore create mode 100644 meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb create mode 100644 meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/crosscompile.patch create mode 100644 meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/fix_open_max_preprocessor_error.patch create mode 100644 meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/macro_tweak.patch create mode 100644 meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/nodolt.patch create mode 100644 meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb (limited to 'meta-crownbay/recipes-graphics') diff --git a/meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf b/meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf new file mode 100644 index 00000000..f78a538a --- /dev/null +++ b/meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf @@ -0,0 +1,47 @@ +## +## X Config options generated from CED +## x11 conf skeleton +## DriverVer= +## + +Section "Screen" + Identifier "Screen0" + Device "IntelEMGD-0" + Monitor "Monitor0" + SubSection "Display" + EndSubSection +EndSection + +# Primary (First/only) display +Section "Device" + Identifier "IntelEMGD-0" + Driver "emgd" + VendorName "Intel(R) DEG" + BoardName "Embedded Graphics" + BusID "0:2:0" + Screen 0 + Option "PcfVersion" "1792" + Option "ConfigId" "1" + Option "ALL/1/name" "e6xx" + Option "ALL/1/General/PortOrder" "40000" + Option "ALL/1/General/DisplayConfig" "1" + Option "ALL/1/General/DisplayDetect" "1" + Option "ALL/1/Port/4/General/name" "lvds" + Option "ALL/1/Port/4/General/EdidAvail" "3" + Option "ALL/1/Port/4/General/EdidNotAvail" "1" + Option "ALL/1/Port/4/General/Rotation" "0" + Option "ALL/1/Port/4/General/Edid" "1" +EndSection + +Section "ServerLayout" + Identifier "Default Layout" + Screen 0 "Screen0" 0 0 + # InputDevice "Mouse0" "CorePointer" + # InputDevice "Keyboard0" "CoreKeyboard" + # InputDevice "DevInputMice" "SendCoreEvents" +EndSection + +Section "ServerFlags" + Option "DontZap" "0" + Option "AutoAddDevices" "False" +EndSection diff --git a/meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend b/meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend new file mode 100644 index 00000000..4b8d0e65 --- /dev/null +++ b/meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend @@ -0,0 +1,3 @@ +THISDIR := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}" +FILESPATH =. "${@base_set_filespath(["${THISDIR}/${PN}"], d)}:" + diff --git a/meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd-bin/.gitignore b/meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd-bin/.gitignore new file mode 100644 index 00000000..e69de29b diff --git a/meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb b/meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb new file mode 100644 index 00000000..95068722 --- /dev/null +++ b/meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb @@ -0,0 +1,90 @@ +SUMMARY = "EMGD 1.5 xserver binaries" +DESCRIPTION = "EMGD 1.5 includes some userspace binaries that use non-free licensing. Intel Open Source Technology Center unfortunately has no power to change that, but tries to make their use as painless as possible. Please see the README.before.building in meta-crownbay/recipes/xorg-xerver for instructions on the (simple) manual steps necessary to make the necessary binaries available to this recipe. Please do that before building an image." + +LICENSE = "Intel-binary-only" +LIC_FILES_CHKSUM = "file://${WORKDIR}/License.txt;md5=95c4d031b83ab803f3f2401b04ecfbcd" +PR = "r0" + +FILESPATH = "${FILE_DIRNAME}/xserver-xf86-emgd-bin" + +FILES_${PN} = "${libdir}/*.so.* ${libdir}/dri ${libdir}/xorg/modules/drivers" + +SRC_URI = "file://emgd_dri.so \ + file://emgd_drv.so \ + file://emgd_drv_video.so \ + file://libEGL.so \ + file://libGLES_CM.so \ + file://libGLESv2.so \ + file://libIMGegl.so \ + file://libOpenVG.so \ + file://libOpenVGU.so \ + file://libPVROGL.so \ + file://libPVRScopeServices.so \ + file://libXegd_escape.so.2.0.0 \ + file://libglslcompiler.so \ + file://libpvr2d.so \ + file://libpvrPVR2D_DRIWSEGL.so \ + file://libsrv_init.so \ + file://libsrv_um.so \ + file://libva-x11.so.1.0.1 \ + file://libva.so.1.0.1 \ + file://License.txt" + +S = "${WORKDIR}" + +do_install () { + install -d -m 0755 ${D}/${libdir}/dri ${D}/${libdir}/xorg/modules/drivers + + install -m 0755 ${S}/emgd_dri.so ${D}${libdir}/dri/emgd_dri.so.1.1.15.3082 + ln -sf emgd_dri.so.1.1.15.3082 ${D}${libdir}/dri/emgd_dri.so + + install -m 0755 ${S}/emgd_drv.so ${D}${libdir}/xorg/modules/drivers/emgd_drv.so + install -m 0755 ${S}/emgd_drv_video.so ${D}${libdir}/xorg/modules/drivers/emgd_drv_video.so + + install -m 0755 ${S}/libEGL.so ${D}${libdir}/libEGL.so.1.1.15.3082 + ln -sf libEGL.so.1.1.15.3082 ${D}${libdir}/libEGL.so + + install -m 0755 ${S}/libGLES_CM.so ${D}${libdir}/libGLES_CM.so.1.1.15.3082 + ln -sf libGLES_CM.so.1.1.15.3082 ${D}${libdir}/libGLES_CM.so + + install -m 0755 ${S}/libGLESv2.so ${D}${libdir}/libGLESv2.so.1.1.15.3082 + ln -sf libGLESv2.so.1.1.15.3082 ${D}${libdir}/libGLESv2.so + + install -m 0755 ${S}/libIMGegl.so ${D}${libdir}/libIMGegl.so.1.1.15.3082 + ln -sf libIMGegl.so.1.1.15.3082 ${D}${libdir}/libIMGegl.so + + install -m 0755 ${S}/libOpenVG.so ${D}${libdir}/libOpenVG.so.1.1.15.3082 + ln -sf libOpenVG.so.1.1.15.3082 ${D}${libdir}/libOpenVG.so + + install -m 0755 ${S}/libOpenVGU.so ${D}${libdir}/libOpenVGU.so.1.1.15.3082 + ln -sf libOpenVG.so.1.1.15.3082 ${D}${libdir}/libOpenVGU.so + + install -m 0755 ${S}/libPVROGL.so ${D}${libdir}/libPVROGL.so.1.1.15.3082 + ln -sf libPVROGL.so.1.1.15.3082 ${D}${libdir}/libPVROGL.so + + install -m 0755 ${S}/libPVRScopeServices.so ${D}${libdir}/libPVRScopeServices.so.1.1.15.3082 + ln -sf libPVRScopeServices.so.1.1.15.3082 ${D}${libdir}/libPVRScopeServices.so + + install -m 0755 ${S}/libXegd_escape.so.2.0.0 ${D}${libdir}/libXegd_escape.so.2.0.0 + + install -m 0755 ${S}/libglslcompiler.so ${D}${libdir}/libglslcompiler.so.1.1.15.3082 + ln -sf libglslcompiler.so.1.1.15.3082 ${D}${libdir}/libglslcompiler.so + + install -m 0755 ${S}/libpvr2d.so ${D}${libdir}/libpvr2d.so.1.1.15.3082 + ln -sf libpvr2d.so.1.1.15.3082 ${D}${libdir}/libpvr2d.so + + install -m 0755 ${S}/libpvrPVR2D_DRIWSEGL.so ${D}${libdir}/libpvrPVR2D_DRIWSEGL.so.1.1.15.3082 + ln -sf libpvrPVR2D_DRIWSEGL.so.1.1.15.3082 ${D}${libdir}/libpvrPVR2D_DRIWSEGL.so + + install -m 0755 ${S}/libsrv_init.so ${D}${libdir}/libsrv_init.so.1.1.15.3082 + ln -sf libsrv_init.so.1.1.15.3082 ${D}${libdir}/libsrv_init.so + + install -m 0755 ${S}/libsrv_um.so ${D}${libdir}/libsrv_um.so.1.1.15.3082 + ln -sf libsrv_um.so.1.1.15.3082 ${D}${libdir}/libsrv_um.so + + install -m 0755 ${S}/libva-x11.so.1.0.1 ${D}${libdir}/libva-x11.so.1.0.1 + + install -m 0755 ${S}/libva.so.1.0.1 ${D}${libdir}/libva.so.1.0.1 +} + +LEAD_SONAME = "libEGL.so" diff --git a/meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/crosscompile.patch b/meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/crosscompile.patch new file mode 100644 index 00000000..2341e40b --- /dev/null +++ b/meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/crosscompile.patch @@ -0,0 +1,19 @@ +Index: xorg-server-1.7.99.2/configure.ac +=================================================================== +--- xorg-server-1.7.99.2.orig/configure.ac 2010-01-29 16:38:49.000000000 +0000 ++++ xorg-server-1.7.99.2/configure.ac 2010-01-29 16:42:39.000000000 +0000 +@@ -503,14 +503,10 @@ + + dnl Uses --default-font-path if set, otherwise checks for /etc/X11/fontpath.d, + dnl otherwise uses standard subdirectories of FONTROOTDIR +-AC_CHECK_FILE([${sysconfdir}/X11/fontpath.d], +- [DEFAULT_FONT_PATH='catalogue:${sysconfdir}/X11/fontpath.d'], +- [ + DEFAULT_FONT_PATH="${FONTMISCDIR}/,${FONTTTFDIR}/,${FONTOTFDIR}/,${FONTTYPE1DIR}/,${FONT100DPIDIR}/,${FONT75DPIDIR}/" + case $host_os in + darwin*) DEFAULT_FONT_PATH="${DEFAULT_FONT_PATH},/Library/Fonts,/System/Library/Fonts" ;; + esac +- ]) + AC_ARG_WITH(default-font-path, AS_HELP_STRING([--with-default-font-path=PATH], [Comma separated list of font dirs]), + [ FONTPATH="$withval" ], + [ FONTPATH="${DEFAULT_FONT_PATH}" ]) diff --git a/meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/fix_open_max_preprocessor_error.patch b/meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/fix_open_max_preprocessor_error.patch new file mode 100644 index 00000000..565832ee --- /dev/null +++ b/meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/fix_open_max_preprocessor_error.patch @@ -0,0 +1,13 @@ +Index: git/os/osdep.h +=================================================================== +--- git.orig/os/osdep.h 2008-10-07 18:38:21.000000000 +0100 ++++ git/os/osdep.h 2008-10-07 18:39:36.000000000 +0100 +@@ -92,7 +92,7 @@ + * like sysconf(_SC_OPEN_MAX) is not supported. + */ + +-#if OPEN_MAX <= 256 ++#if 0 + #define MAXSOCKS (OPEN_MAX - 1) + #else + #define MAXSOCKS 256 diff --git a/meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/macro_tweak.patch b/meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/macro_tweak.patch new file mode 100644 index 00000000..6998adff --- /dev/null +++ b/meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/macro_tweak.patch @@ -0,0 +1,18 @@ +Index: xorg-server-1.5.0/xorg-server.m4 +=================================================================== +--- xorg-server-1.5.0.orig/xorg-server.m4 2007-05-29 20:36:51.000000000 +0100 ++++ xorg-server-1.5.0/xorg-server.m4 2008-11-04 23:56:55.000000000 +0000 +@@ -28,9 +28,12 @@ + # Checks for the $1 define in xorg-server.h (from the sdk). If it + # is defined, then add $1 to $REQUIRED_MODULES. + ++m4_pattern_allow(PKG_CONFIG_SYSROOT_DIR) ++ + AC_DEFUN([XORG_DRIVER_CHECK_EXT],[ ++ PKG_PROG_PKG_CONFIG + SAVE_CFLAGS="$CFLAGS" +- CFLAGS="$CFLAGS -I`pkg-config --variable=sdkdir xorg-server`" ++ CFLAGS="$CFLAGS -I$PKG_CONFIG_SYSROOT_DIR`pkg-config --variable=sdkdir xorg-server`" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #include "xorg-server.h" + #if !defined $1 diff --git a/meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/nodolt.patch b/meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/nodolt.patch new file mode 100644 index 00000000..6b34032a --- /dev/null +++ b/meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/nodolt.patch @@ -0,0 +1,12 @@ +Index: git/configure.ac +=================================================================== +--- git.orig/configure.ac 2009-01-15 20:35:31.000000000 +0000 ++++ git/configure.ac 2009-01-15 20:35:38.000000000 +0000 +@@ -62,7 +62,6 @@ + AC_LIBTOOL_WIN32_DLL + AC_DISABLE_STATIC + AC_PROG_LIBTOOL +-DOLT + AC_PROG_MAKE_SET + PKG_PROG_PKG_CONFIG + AC_PROG_LEX diff --git a/meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb b/meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb new file mode 100644 index 00000000..5f22213a --- /dev/null +++ b/meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb @@ -0,0 +1,25 @@ +require recipes-graphics/xorg-xserver/xserver-xf86-dri-lite.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=3dd2bbe3563837f80ed8926b06c1c353" + +PROTO_DEPS += "xf86driproto dri2proto" + +DEPENDS += "font-util" + +PE = "1" +PR = "r0" + +SRC_URI += "file://nodolt.patch \ + file://crosscompile.patch" + +# Misc build failure for master HEAD +SRC_URI += "file://fix_open_max_preprocessor_error.patch" + +SRC_URI[md5sum] = "5c8773499a6a8c1ddaedf33577ec9634" +SRC_URI[sha256sum] = "8b30800004c98fc7a8e6ff31a339f28451be5132e774443be22bf226e1791e34" + +RDEPENDS_${PN} += "xserver-xf86-emgd-bin mesa-dri" + +COMPATIBLE_MACHINE = "crownbay" + +EXTRA_OECONF += "--enable-dga --enable-dri --enable-dri2" -- cgit v1.2.3-54-g00ecf