summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcin Juszkiewicz <hrw@openedhand.com>2007-05-09 17:05:25 +0000
committerMarcin Juszkiewicz <hrw@openedhand.com>2007-05-09 17:05:25 +0000
commitfbf4ba6b29527b913aa98a1ed5794ebdfb5ef625 (patch)
tree4e92eb9a63ac0850735297af979c015a54a8c75d
parent082a34fa0b1840116109c88ad24a11f4bfa51484 (diff)
downloadopenembedded-core-fbf4ba6b29527b913aa98a1ed5794ebdfb5ef625.tar.gz
openembedded-core-fbf4ba6b29527b913aa98a1ed5794ebdfb5ef625.tar.bz2
openembedded-core-fbf4ba6b29527b913aa98a1ed5794ebdfb5ef625.zip
xserver-kdrive: added 1.3.0.0
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1684 311d38ba-8fff-0310-9ca6-ca027cbcb966
-rw-r--r--meta/packages/xorg-xserver/xserver-kdrive-1.3.0.0/disable-xf86-dga-xorgcfg.patch39
-rw-r--r--meta/packages/xorg-xserver/xserver-kdrive-1.3.0.0/enable-epson.patch11
-rw-r--r--meta/packages/xorg-xserver/xserver-kdrive-1.3.0.0/enable-tslib.patch12
-rw-r--r--meta/packages/xorg-xserver/xserver-kdrive-1.3.0.0/enable-xcalibrate.patch51
-rw-r--r--meta/packages/xorg-xserver/xserver-kdrive-1.3.0.0/optional-xkb.patch58
-rw-r--r--meta/packages/xorg-xserver/xserver-kdrive-common.inc124
-rw-r--r--meta/packages/xorg-xserver/xserver-kdrive/build-fix-panoramix.patch18
-rw-r--r--meta/packages/xorg-xserver/xserver-kdrive/enable-epson.patch11
-rw-r--r--meta/packages/xorg-xserver/xserver-kdrive/kdrive-imageon.patch8851
-rw-r--r--meta/packages/xorg-xserver/xserver-kdrive/kdrive-use-evdev.patch3
-rw-r--r--meta/packages/xorg-xserver/xserver-kdrive/kdrive-vidmemarea.patch756
-rw-r--r--meta/packages/xorg-xserver/xserver-kdrive/kmode-palm.patch34
-rw-r--r--meta/packages/xorg-xserver/xserver-kdrive/w100-fix-offscreen-bmp.patch15
-rw-r--r--meta/packages/xorg-xserver/xserver-kdrive/w100.patch6388
-rw-r--r--meta/packages/xorg-xserver/xserver-kdrive/xcalibrate.patch4
-rw-r--r--meta/packages/xorg-xserver/xserver-kdrive_1.3.0.0.bb19
16 files changed, 16391 insertions, 3 deletions
diff --git a/meta/packages/xorg-xserver/xserver-kdrive-1.3.0.0/disable-xf86-dga-xorgcfg.patch b/meta/packages/xorg-xserver/xserver-kdrive-1.3.0.0/disable-xf86-dga-xorgcfg.patch
new file mode 100644
index 0000000000..ccc19139c8
--- /dev/null
+++ b/meta/packages/xorg-xserver/xserver-kdrive-1.3.0.0/disable-xf86-dga-xorgcfg.patch
@@ -0,0 +1,39 @@
+Index: xorg-server-1.3.0.0/configure.ac
+===================================================================
+--- xorg-server-1.3.0.0.orig/configure.ac 2007-04-20 03:23:40.000000000 +0200
++++ xorg-server-1.3.0.0/configure.ac 2007-05-09 16:51:34.000000000 +0200
+@@ -520,7 +520,11 @@
+ XEXTXORG_LIB='$(top_builddir)/Xext/libXextbuiltin.la'
+
+ dnl Core modules for most extensions, et al.
++if test "$KDRIVE" = yes; then
++REQUIRED_MODULES="[randrproto >= 1.2] renderproto [fixesproto >= 4.0] [damageproto >= 1.1] xcmiscproto xextproto xproto xtrans xf86bigfontproto [scrnsaverproto >= 1.1] bigreqsproto resourceproto fontsproto inputproto [kbproto >= 1.0.3]"
++else
+ REQUIRED_MODULES="[randrproto >= 1.2] renderproto [fixesproto >= 4.0] [damageproto >= 1.1] xcmiscproto xextproto xproto xtrans xf86miscproto xf86vidmodeproto xf86bigfontproto [scrnsaverproto >= 1.1] bigreqsproto resourceproto fontsproto inputproto xf86dgaproto [kbproto >= 1.0.3]"
++fi
+ REQUIRED_LIBS="xfont xau fontenc"
+
+ AM_CONDITIONAL(XV, [test "x$XV" = xyes])
+@@ -1603,7 +1607,9 @@
+ AC_SUBST(XKB_COMPILED_DIR)
+
+ dnl and the rest of these are generic, so they're in config.h
++if test ! x"$KDRIVE" = xyes; then
+ AC_DEFINE(XFreeXDGA, 1, [Build XDGA support])
++fi
+ AC_DEFINE(XResExtension, 1, [Build XRes extension])
+
+ AC_TRY_COMPILE([
+@@ -1616,10 +1622,12 @@
+
+ AC_DEFINE_DIR(PROJECTROOT, prefix, [Overall prefix])
+
++if test ! "x$KDRIVE" = xyes ; then
+ dnl xorgconfig CLI configuration utility
+ PKG_CHECK_MODULES([XORGCONFIG_DEP], [xkbfile x11])
+ AC_SUBST(XORGCONFIG_DEP_CFLAGS)
+ AC_SUBST(XORGCONFIG_DEP_LIBS)
++fi
+
+ dnl xorgcfg GUI configuration utility
+ AC_ARG_ENABLE(xorgcfg, AS_HELP_STRING([--enable-xorgcfg],
diff --git a/meta/packages/xorg-xserver/xserver-kdrive-1.3.0.0/enable-epson.patch b/meta/packages/xorg-xserver/xserver-kdrive-1.3.0.0/enable-epson.patch
new file mode 100644
index 0000000000..8ec3a37c78
--- /dev/null
+++ b/meta/packages/xorg-xserver/xserver-kdrive-1.3.0.0/enable-epson.patch
@@ -0,0 +1,11 @@
+Index: xorg-server-1.2.0/hw/kdrive/Makefile.am
+===================================================================
+--- xorg-server-1.2.0.orig/hw/kdrive/Makefile.am 2007-03-28 17:11:38.000000000 +0200
++++ xorg-server-1.2.0/hw/kdrive/Makefile.am 2007-03-28 17:12:28.000000000 +0200
+@@ -1,5 +1,5 @@
+ if KDRIVEFBDEV
+-FBDEV_SUBDIRS = fbdev
++FBDEV_SUBDIRS = fbdev epson
+ endif
+
+ if KDRIVEIMAGEON
diff --git a/meta/packages/xorg-xserver/xserver-kdrive-1.3.0.0/enable-tslib.patch b/meta/packages/xorg-xserver/xserver-kdrive-1.3.0.0/enable-tslib.patch
new file mode 100644
index 0000000000..9a59530ed3
--- /dev/null
+++ b/meta/packages/xorg-xserver/xserver-kdrive-1.3.0.0/enable-tslib.patch
@@ -0,0 +1,12 @@
+Index: xorg-server-1.2.0/configure.ac
+===================================================================
+--- xorg-server-1.2.0.orig/configure.ac 2007-03-29 13:28:10.000000000 +0200
++++ xorg-server-1.2.0/configure.ac 2007-03-29 13:28:35.000000000 +0200
+@@ -1517,6 +1517,7 @@
+ AC_MSG_ERROR([tslib must be installed to build the tslib driver. See http://tslib.berlios.de/])
+ fi
+ AC_DEFINE(TSLIB, 1, [Have tslib support])
++ AC_DEFINE(TOUCHSCREEN, 1, [Have touchscreen support])
+ fi
+
+ # damage shadow extension glx (NOTYET) fb mi
diff --git a/meta/packages/xorg-xserver/xserver-kdrive-1.3.0.0/enable-xcalibrate.patch b/meta/packages/xorg-xserver/xserver-kdrive-1.3.0.0/enable-xcalibrate.patch
new file mode 100644
index 0000000000..11931f83d6
--- /dev/null
+++ b/meta/packages/xorg-xserver/xserver-kdrive-1.3.0.0/enable-xcalibrate.patch
@@ -0,0 +1,51 @@
+Index: xorg-server-1.2.0/mi/miinitext.c
+===================================================================
+--- xorg-server-1.2.0.orig/mi/miinitext.c 2007-01-23 06:39:17.000000000 +0100
++++ xorg-server-1.2.0/mi/miinitext.c 2007-03-30 11:28:44.000000000 +0200
+@@ -372,6 +372,9 @@
+ #ifdef DMXEXT
+ extern void DMXExtensionInit(INITARGS);
+ #endif
++#ifdef XCALIBRATE
++extern void XCalibrateExtensionInit(INITARGS);
++#endif
+ #ifdef XEVIE
+ extern void XevieExtensionInit(INITARGS);
+ #endif
+@@ -663,6 +666,9 @@
+ #ifdef DAMAGE
+ if (!noDamageExtension) DamageExtensionInit();
+ #endif
++#ifdef XCALIBRATE
++ XCalibrateExtensionInit ();
++#endif
+ }
+
+ void
+Index: xorg-server-1.2.0/include/kdrive-config.h.in
+===================================================================
+--- xorg-server-1.2.0.orig/include/kdrive-config.h.in 2007-03-30 11:31:07.000000000 +0200
++++ xorg-server-1.2.0/include/kdrive-config.h.in 2007-03-30 11:34:09.000000000 +0200
+@@ -22,6 +22,9 @@
+ /* Support tslib touchscreen abstraction library */
+ #undef TSLIB
+
++/* Build XCalibrate extension */
++#undef XCALIBRATE
++
+ /* Verbose debugging output hilarity */
+ #undef DEBUG
+
+Index: xorg-server-1.2.0/configure.ac
+===================================================================
+--- xorg-server-1.2.0.orig/configure.ac 2007-03-30 12:47:25.000000000 +0200
++++ xorg-server-1.2.0/configure.ac 2007-03-30 12:39:01.000000000 +0200
+@@ -1540,7 +1540,7 @@
+ ;;
+ esac
+ KDRIVE_STUB_LIB='$(top_builddir)/hw/kdrive/src/libkdrivestubs.a'
+- KDRIVE_LIBS="$DIX_LIB $KDRIVE_LIB $KDRIVE_OS_LIB $KDRIVE_PURE_LIBS $KDRIVE_STUB_LIB $TSLIB_LIBS"
++ KDRIVE_LIBS="$DIX_LIB $KDRIVE_LIB $KDRIVE_PURE_LIBS $KDRIVE_OS_LIB $KDRIVE_STUB_LIB $TSLIB_LIBS"
+
+ # check if we can build Xephyr
+ PKG_CHECK_MODULES(XEPHYR, x11 xext xfont xau xdmcp, [xephyr="yes"], [xephyr="no"])
diff --git a/meta/packages/xorg-xserver/xserver-kdrive-1.3.0.0/optional-xkb.patch b/meta/packages/xorg-xserver/xserver-kdrive-1.3.0.0/optional-xkb.patch
new file mode 100644
index 0000000000..a580b500b7
--- /dev/null
+++ b/meta/packages/xorg-xserver/xserver-kdrive-1.3.0.0/optional-xkb.patch
@@ -0,0 +1,58 @@
+Index: xorg-server-1.2.0/Makefile.am
+===================================================================
+--- xorg-server-1.2.0.orig/Makefile.am 2007-01-23 06:39:15.000000000 +0100
++++ xorg-server-1.2.0/Makefile.am 2007-03-28 20:26:19.000000000 +0200
+@@ -30,6 +30,10 @@
+ XINPUT_DIR=Xi
+ endif
+
++if XKB
++XKB_DIR=xkb
++endif
++
+ if DBE
+ DBE_DIR=dbe
+ endif
+@@ -46,7 +50,7 @@
+ randr \
+ render \
+ $(XINPUT_DIR) \
+- xkb \
++ $(XKB_DIR) \
+ $(DBE_DIR) \
+ $(MFB_DIR) \
+ $(AFB_DIR) \
+Index: xorg-server-1.2.0/configure.ac
+===================================================================
+--- xorg-server-1.2.0.orig/configure.ac 2007-01-23 06:39:15.000000000 +0100
++++ xorg-server-1.2.0/configure.ac 2007-03-28 20:27:13.000000000 +0200
+@@ -428,6 +428,7 @@
+ AC_ARG_ENABLE(dpms, AS_HELP_STRING([--disable-dpms], [Build DPMS extension (default: enabled)]), [DPMSExtension=$enableval], [DPMSExtension=yes])
+ AC_ARG_ENABLE(xinput, AS_HELP_STRING([--disable-xinput], [Build XInput Extension (default: enabled)]), [XINPUT=$enableval], [XINPUT=yes])
+ AC_ARG_ENABLE(xfree86-utils, AS_HELP_STRING([--enable-xfree86-utils], [Build xfree86 DDX utilities (default: enabled)]), [XF86UTILS=$enableval], [XF86UTILS=yes])
++AC_ARG_ENABLE(xkb, AS_HELP_STRING([--disable-xkb], [Build XKB (default: enabled)]), [XKB=$enableval], [XKB=yes])
+
+ dnl DDXes.
+ AC_ARG_ENABLE(xorg, AS_HELP_STRING([--enable-xorg], [Build Xorg server (default: auto)]), [XORG=$enableval], [XORG=auto])
+@@ -754,12 +755,15 @@
+
+ AC_DEFINE(SHAPE, 1, [Support SHAPE extension])
+
+-AC_DEFINE(XKB, 1, [Build XKB])
+-AC_DEFINE(XKB_IN_SERVER, 1, [Build XKB server])
+-AC_DEFINE(XKB_DFLT_DISABLED, 0, [Disable XKB per default])
+-REQUIRED_MODULES="$REQUIRED_MODULES xkbfile"
+-XKB_LIB='$(top_builddir)/xkb/libxkb.la'
+-XKB_STUB_LIB='$(top_builddir)/xkb/libxkbstubs.la'
++AM_CONDITIONAL(XKB, [test "x$XKB" = xyes])
++if test "x$XKB" = xyes; then
++ AC_DEFINE(XKB, 1, [Build XKB])
++ AC_DEFINE(XKB_IN_SERVER, 1, [Build XKB server])
++ AC_DEFINE(XKB_DFLT_DISABLED, 0, [Disable XKB per default])
++ REQUIRED_MODULES="$REQUIRED_MODULES xkbfile"
++ XKB_LIB='$(top_builddir)/xkb/libxkb.la'
++ XKB_STUB_LIB='$(top_builddir)/xkb/libxkbstubs.la'
++fi
+
+ AC_CHECK_FUNC(strcasecmp, [], AC_DEFINE([NEED_STRCASECMP], 1,
+ [Do not have `strcasecmp'.]))
diff --git a/meta/packages/xorg-xserver/xserver-kdrive-common.inc b/meta/packages/xorg-xserver/xserver-kdrive-common.inc
new file mode 100644
index 0000000000..02df9d2d4e
--- /dev/null
+++ b/meta/packages/xorg-xserver/xserver-kdrive-common.inc
@@ -0,0 +1,124 @@
+LICENSE = "MIT"
+DEPENDS = "compositeproto damageproto fixesproto recordproto resourceproto scrnsaverproto videoproto xextproto xproto \
+ libxau libxext libxdmcp libxfont libxrandr tslib virtual/libsdl virtual/libx11 xtrans"
+
+PROVIDES = "virtual/xserver"
+RPROVIDES = "virtual/xserver"
+PACKAGES =+ "xserver-kdrive-fbdev \
+ xserver-kdrive-sdl \
+ xserver-kdrive-fake \
+ xserver-kdrive-xephyr \
+ xserver-kdrive-epson \
+ xserver-kdrive-ati \
+ xserver-kdrive-chips \
+ xserver-kdrive-i810 \
+ xserver-kdrive-mach64 \
+ xserver-kdrive-mga \
+ xserver-kdrive-neomagic \
+ xserver-kdrive-nvidia \
+ xserver-kdrive-pm2 \
+ xserver-kdrive-r128 \
+ xserver-kdrive-smi \
+ xserver-kdrive-vesa \
+ xserver-kdrive-via \
+ xserver-kdrive-w100 \
+ "
+
+SECTION = "x11/base"
+DESCRIPTION = "X server from freedesktop.org"
+DESCRIPTION_xserver-kdrive-fbdev = "X server from freedesktop.org, supporting generic framebuffer devices"
+DESCRIPTION_xserver-kdrive-fake = "Fake X server"
+DESCRIPTION_xserver-kdrive-xephyr = "X server in an X window"
+DESCRIPTION_xserver-kdrive-epson = "X server from freedesktop.org, supporting Epson S1D13806 devices"
+DESCRIPTION_xserver-kdrive-sdl = "X server from freedesktop.org, SDL version"
+DESCRIPTION_xserver-kdrive-w100 = "X server from freedesktop.org, supporting the ATI imageon w100 chipset"
+DESCRIPTION_xserver-kdrive-ati = "X server from freedesktop.org, supporting ATI devices"
+DESCRIPTION_xserver-kdrive-chips = "X server from freedesktop.org, supporting Chips chipsets"
+DESCRIPTION_xserver-kdrive-i810 = "X server from freedesktop.org, supporting Intel chipsets"
+DESCRIPTION_xserver-kdrive-imageon = "X server from freedesktop.org, supporting the ATI imageon 100 chipset"
+DESCRIPTION_xserver-kdrive-mach64 = "X server from freedesktop.org, supporting mach64 chipsets"
+DESCRIPTION_xserver-kdrive-mga = "X server from freedesktop.org, supporting mga chipsets"
+DESCRIPTION_xserver-kdrive-neomagic = "X server from freedesktop.org, supporting neomagic chipsets"
+DESCRIPTION_xserver-kdrive-nvidia = "X server from freedesktop.org, supporting nvidia devices"
+DESCRIPTION_xserver-kdrive-pm2 = "X server from freedesktop.org, supporting Permedia2 chipsets"
+DESCRIPTION_xserver-kdrive-r128 = "X server from freedesktop.org, supporting rage128 chipsets"
+DESCRIPTION_xserver-kdrive-smi = "X server from freedesktop.org, supporting Silicon Motion devices"
+DESCRIPTION_xserver-kdrive-vesa = "X server from freedesktop.org, supporting any card with a VESA, VGA or even EGA BIOS. x86 hardware only"
+DESCRIPTION_xserver-kdrive-via = "X server from freedesktop.org, supporting VIA chipsets"
+
+FILES_${PN} += "${libdir}/xserver/SecurityPolicy"
+
+FILES_xserver-kdrive-fbdev = "${bindir}/Xfbdev"
+FILES_xserver-kdrive-fake = "${bindir}/Xfake"
+FILES_xserver-kdrive-xephyr = "${bindir}/Xephyr"
+FILES_xserver-kdrive-epson = "${bindir}/Xepson"
+FILES_xserver-kdrive-sdl = "${bindir}/Xsdl"
+FILES_xserver-kdrive-w100 = "${bindir}/Xw100"
+FILES_xserver-kdrive-ati = "${bindir}/Xati"
+FILES_xserver-kdrive-chips = "${bindir}/Xchips"
+FILES_xserver-kdrive-i810 = "${bindir}/Xi810"
+FILES_xserver-kdrive-imageon = "${bindir}/Ximageon"
+FILES_xserver-kdrive-mach64 = "${bindir}/Xmach64"
+FILES_xserver-kdrive-mga = "${bindir}/Xmga"
+FILES_xserver-kdrive-neomagic = "${bindir}/Xneomagic"
+FILES_xserver-kdrive-nvidia = "${bindir}/Xnvidia"
+FILES_xserver-kdrive-pm2 = "${bindir}/Xpm2"
+FILES_xserver-kdrive-r128 = "${bindir}/Xr128"
+FILES_xserver-kdrive-smi = "${bindir}/Xsmi"
+FILES_xserver-kdrive-vesa = "${bindir}/Xvesa"
+FILES_xserver-kdrive-via = "${bindir}/Xvia"
+
+RDEPENDS_xserver-kdrive-fbdev = "${PN}"
+RDEPENDS_xserver-kdrive-fake = "${PN}"
+RDEPENDS_xserver-kdrive-xephyr = "${PN}"
+RDEPENDS_xserver-kdrive-epson = "${PN}"
+RDEPENDS_xserver-kdrive-sdl = "${PN}"
+RDEPENDS_xserver-kdrive-w100 = "${PN}"
+RDEPENDS_xserver-kdrive-ati = "${PN}"
+RDEPENDS_xserver-kdrive-chips = "${PN}"
+RDEPENDS_xserver-kdrive-i810 = "${PN}"
+RDEPENDS_xserver-kdrive-mach64 = "${PN}"
+RDEPENDS_xserver-kdrive-mga = "${PN}"
+RDEPENDS_xserver-kdrive-neomagic = "${PN}"
+RDEPENDS_xserver-kdrive-nvidia = "${PN}"
+RDEPENDS_xserver-kdrive-pm2 = "${PN}"
+RDEPENDS_xserver-kdrive-r128 = "${PN}"
+RDEPENDS_xserver-kdrive-smi = "${PN}"
+RDEPENDS_xserver-kdrive-vesa = "${PN}"
+RDEPENDS_xserver-kdrive-via = "${PN}"
+
+SRC_URI ?= "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \
+ ${KDRIVE_COMMON_PATCHES}"
+KDRIVE_COMMON_PATCHES = " \
+ file://kmode.patch;patch=1 \
+ file://disable-apm.patch;patch=1 \
+ file://no-serial-probing.patch;patch=1 \
+ file://kdrive-evdev.patch;patch=1 \
+ file://kdrive-use-evdev.patch;patch=1 \
+ file://fbdev-not-fix.patch;patch=1 \
+ file://enable-builtin-fonts.patch;patch=1 \
+ file://disable-xf86-dga-xorgcfg.patch;patch=1 \
+ file://optional-xkb.patch;patch=1 \
+ file://enable-epson.patch;patch=1 \
+ file://enable-tslib.patch;patch=1 \
+ file://kmode-palm.patch;patch=1 \
+ "
+
+SRC_URI_append_mnci = " file://onlyfb.patch;patch=1"
+SRC_URI_append_poodle = " file://xserver-kdrive-poodle.patch;patch=1"
+PACKAGE_ARCH_poodle = "poodle"
+
+inherit autotools pkgconfig
+
+ARM_INSTRUCTION_SET = "arm"
+
+EXTRA_OECONF = "--enable-composite --enable-kdrive \
+ --disable-dga --disable-dri --disable-xinerama \
+ --disable-xf86misc --disable-xf86vidmode \
+ --disable-xorg --disable-xorgcfg \
+ --disable-xkb --disable-xnest --disable-xvfb \
+ --disable-xevie --disable-xprint --disable-xtrap \
+ --disable-dmx ${W100_OECONF} ${IMAGEON_OECONF} \
+ --with-default-font-path=built-ins \
+ --enable-tslib --enable-xcalibrate \
+ ac_cv_file__usr_share_X11_sgml_defs_ent=no"
diff --git a/meta/packages/xorg-xserver/xserver-kdrive/build-fix-panoramix.patch b/meta/packages/xorg-xserver/xserver-kdrive/build-fix-panoramix.patch
new file mode 100644
index 0000000000..f919b48f0e
--- /dev/null
+++ b/meta/packages/xorg-xserver/xserver-kdrive/build-fix-panoramix.patch
@@ -0,0 +1,18 @@
+Index: git/composite/compext.c
+===================================================================
+--- git.orig/composite/compext.c 2007-03-28 16:25:12.000000000 +0200
++++ git/composite/compext.c 2007-03-28 16:25:15.000000000 +0200
+@@ -696,11 +696,13 @@
+ if (GetPictureScreenIfSet(pScreen) == NULL)
+ return;
+ }
++#ifdef PANORAMIX
+ /* Xinerama's rewriting of window drawing before Composite gets to it
+ * breaks Composite.
+ */
+ if (!noPanoramiXExtension)
+ return;
++#endif
+
+ CompositeClientWindowType = CreateNewResourceType (FreeCompositeClientWindow);
+ if (!CompositeClientWindowType)
diff --git a/meta/packages/xorg-xserver/xserver-kdrive/enable-epson.patch b/meta/packages/xorg-xserver/xserver-kdrive/enable-epson.patch
new file mode 100644
index 0000000000..63b13a4511
--- /dev/null
+++ b/meta/packages/xorg-xserver/xserver-kdrive/enable-epson.patch
@@ -0,0 +1,11 @@
+--- /tmp/Makefile.am 2006-08-30 09:51:21.000000000 +0200
++++ git/hw/kdrive/Makefile.am 2006-08-30 09:51:44.425780000 +0200
+@@ -4,7 +4,7 @@
+ endif
+
+ if KDRIVEFBDEV
+-FBDEV_SUBDIRS = fbdev
++FBDEV_SUBDIRS = fbdev epson
+ endif
+
+ if XSDLSERVER
diff --git a/meta/packages/xorg-xserver/xserver-kdrive/kdrive-imageon.patch b/meta/packages/xorg-xserver/xserver-kdrive/kdrive-imageon.patch
new file mode 100644
index 0000000000..f4272f80e0
--- /dev/null
+++ b/meta/packages/xorg-xserver/xserver-kdrive/kdrive-imageon.patch
@@ -0,0 +1,8851 @@
+# Author: Manuel Teira <manuel.teira@telefonica.net> (sirfred in #oe)
+# Description: New driver for the Imageon ATI Card. Implementing:
+# -Hardware solid fills
+# -Hardware bitblt
+# -Hardware cursors
+# -XV Extension
+# -Internal and External Imageon offscreen memory support
+# -Hardware RandR rotation (without using a shadow framebuffer)
+# -Support for RandR mode changing
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- xorg-server-X11R7.1-1.1.0.work/configure.ac~kdrive-imageon
++++ xorg-server-X11R7.1-1.1.0.work/configure.ac
+@@ -435,6 +435,7 @@
+ AC_ARG_ENABLE(kdrive, AS_HELP_STRING([--enable-kdrive], [Build kdrive servers (default: no)]), [KDRIVE=$enableval], [KDRIVE=no])
+ AC_ARG_ENABLE(xephyr, AS_HELP_STRING([--enable-xephyr], [Build the kdrive Xephyr server (default: auto)]), [XEPHYR=$enableval], [XEPHYR=auto])
+ AC_ARG_ENABLE(xsdl, AS_HELP_STRING([--enable-xsdl], [Build the kdrive Xsdl server (default: auto)]), [XSDL=$enableval], [XSDL=auto])
++AC_ARG_ENABLE(imageon, AS_HELP_STRING([--enable-imageon], [Build the kdrive Ximageon server (default: no)]), [KDRIVEIMAGEON=$enableval], [KDRIVEIMAGEON=no])
+ dnl xprint
+ AC_ARG_ENABLE(freetype, AS_HELP_STRING([ --enable-freetype], [Build Xprint FreeType backend (default: yes)]), [XP_USE_FREETYPE=$enableval],[XP_USE_FREETYPE=no])
+ AC_ARG_WITH(freetype-config, AS_HELP_STRING([ --with-freetype-config=PROG], [Use FreeType configuration program PROG (default: auto)]), freetype_config=$withval, freetype_config=auto)
+@@ -1509,6 +1510,11 @@
+ AC_SUBST([XSDL_INCS])
+
+
++AM_CONDITIONAL(KDRIVEIMAGEON, [test "x$KDRIVEIMAGEON" = xyes])
++if test "x$KDRIVEIMAGEON" = xyes; then
++ AC_DEFINE(KDRIVEIMAGEON, 1, [Build Ximageon server])
++fi
++
+ dnl these only go in xkb-config.h (which is shared by the Xorg and Xnest servers)
+ AC_DEFINE(__XKBDEFRULES__, "xorg", [Default XKB rules])
+ AC_DEFINE_DIR(XKB_BASE_DIRECTORY, XKBPATH, [Path to XKB data])
+@@ -1750,6 +1756,7 @@
+ hw/kdrive/epson/Makefile
+ hw/kdrive/fake/Makefile
+ hw/kdrive/fbdev/Makefile
++hw/kdrive/imageon/Makefile
+ hw/kdrive/i810/Makefile
+ hw/kdrive/linux/Makefile
+ hw/kdrive/mach64/Makefile
+--- xorg-server-X11R7.1-1.1.0.work/hw/kdrive/Makefile.am~kdrive-imageon
++++ xorg-server-X11R7.1-1.1.0.work/hw/kdrive/Makefile.am
+@@ -1,18 +1,9 @@
+-if KDRIVEVESA
+-VESA_SUBDIRS = vesa ati chips epson i810 mach64 mga neomagic nvidia pm2 r128 \
+- smi via
+-endif
+-
+ if KDRIVEFBDEV
+ FBDEV_SUBDIRS = fbdev
+ endif
+
+-if XSDLSERVER
+-XSDL_SUBDIRS = sdl
+-endif
+-
+-if XEPHYR
+-XEPHYR_SUBDIRS = ephyr
++if KDRIVEIMAGEON
++IMAGEON_SUBDIRS = imageon
+ endif
+
+ SUBDIRS = \
+@@ -20,9 +11,9 @@
+ linux \
+ $(XSDL_SUBDIRS) \
+ $(FBDEV_SUBDIRS) \
++ $(IMAGEON_SUBDIRS) \
+ $(VESA_SUBDIRS) \
+- $(XEPHYR_SUBDIRS) \
+- fake
++ $(XEPHYR_SUBDIRS)
+
+ DIST_SUBDIRS = vesa ati chips epson i810 mach64 mga neomagic nvidia pm2 r128 \
+ smi via fbdev sdl ephyr src linux fake sis300
+--- /dev/null
++++ xorg-server-X11R7.1-1.1.0.work/hw/kdrive/imageon/Makefile.am
+@@ -0,0 +1,47 @@
++if KDRIVEFBDEV
++FBDEV_INCLUDES =-I$(top_srcdir)/hw/kdrive/fbdev
++FBDEV_LIBS = $(top_builddir)/hw/kdrive/fbdev/libfbdev.a
++endif
++
++INCLUDES = \
++ @KDRIVE_INCS@ \
++ $(FBDEV_INCLUDES) \
++ @KDRIVE_CFLAGS@
++
++bin_PROGRAMS = Ximageon
++
++if TSLIB
++TSLIB_FLAG = -lts
++endif
++
++noinst_LIBRARIES = libimageon.a
++
++libimageon_a_SOURCES = \
++ imageon.h \
++ imageon_regs.h \
++ imageon_const.h \
++ imageon.c \
++ imageon_cursor.c \
++ imageon_draw.c \
++ imageon_support.c \
++ imageon_video.c
++
++
++
++Ximageon_SOURCES = \
++ imageon_stub.c
++
++W100_LIBS = \
++ libimageon.a \
++ $(FBDEV_LIBS) \
++ @KDRIVE_LIBS@
++
++Ximageon_LDADD = \
++ $(W100_LIBS) \
++ @XSERVER_LIBS@ \
++ $(TSLIB_FLAG)
++
++
++Ximageon_DEPENDENCIES = \
++ libimageon.a \
++ $(FBDEV_LIBS)
+--- /dev/null
++++ xorg-server-X11R7.1-1.1.0.work/hw/kdrive/imageon/imageon.c
+@@ -0,0 +1,606 @@
++/*
++ * Copyright © 2007 Manuel Teira
++ *
++ * Permission to use, copy, modify, distribute, and sell this software and its
++ * documentation for any purpose is hereby granted without fee, provided that
++ * the above copyright notice appear in all copies and that both that
++ * copyright notice and this permission notice appear in supporting
++ * documentation, and that the name of Manuel Teira not be used in
++ * advertising or publicity pertaining to distribution of the software without
++ * specific, written prior permission. Manuel Teira makes no
++ * representations about the suitability of this software for any purpose. It
++ * is provided "as is" without express or implied warranty.
++ *
++ * MANUEL TEIRA DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
++ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
++ * EVENT SHALL MANUEL TEIRA BE LIABLE FOR ANY SPECIAL, INDIRECT OR
++ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
++ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
++ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
++ * PERFORMANCE OF THIS SOFTWARE.
++ */
++
++#ifdef HAVE_CONFIG_H
++#include <kdrive-config.h>
++#endif
++#include "imageon.h"
++#include "imageon_regs.h"
++#include "imageon_support.h"
++
++W100CardEntry w100_cards[] = {
++ {0x1002, 0x5644, 0, "ATI Imageon 3200"},
++ {0x1002, 0x5741, W100XVSupport, "ATI Imageon 100"},
++ {0x1002, 0x5744, 0, "ATI Imageon 3220"},
++ {0, 0, 0, NULL}
++};
++
++W100ModeSpec w100_modes[] = {
++ {800, 600, 16, W100_EXTMEM, FALSE},
++ {640, 480, 16, W100_EXTMEM, FALSE},
++ {320, 240, 16, W100_INTMEM, FALSE},
++ { 0, 0, 0, 0, FALSE}
++};
++
++W100StartupInfo w100StartupInfo;
++
++extern void (*tslib_transform_coords)(long *x, long *y, void *closure);
++extern void *tslib_transform_closure;
++
++static void
++W100Startup(W100CardInfo *w100c)
++{
++ int i;
++ DBG_IMAGEON(("--W100Startup\n"));
++ W100ModeSpec *modes;
++ /* Take the current graphics mode */
++ if (!W100GetFbMode(w100c, &w100StartupInfo.mode)) {
++ ErrorF("(E) Unable to get current mode\n");
++ }
++ w100StartupInfo.randr = W100GetRotation(w100c);
++ w100StartupInfo.portrait = w100StartupInfo.mode.width < w100StartupInfo.mode.height;
++
++ /* Test the valid modes */
++ for (modes = w100_modes; modes->width; modes++) {
++ modes->supported = W100CheckFbMode(w100c, modes);
++ }
++
++ DBG_IMAGEON(("Startup Mode: %dx%d@%d, rot: %d, portrait: %s\n",
++ w100StartupInfo.mode.width,
++ w100StartupInfo.mode.height,
++ w100StartupInfo.mode.bpp,
++ w100StartupInfo.randr,
++ w100StartupInfo.portrait ? "Yes" : "No"));
++
++ /* Tell the kernel to never switch off external memory */
++ W100SysFsSet(w100c, W100_SYSFS_BASE "extmem", "1");
++
++ /* Disable framebuffer accel */
++ W100SysFsSet(w100c, W100_SYSFS_BASE "accel", "0");
++
++ /* Enable fastsysclk */
++ W100SysFsSet(w100c, W100_SYSFS_BASE "fastpllclk", "1");
++
++}
++
++
++static Bool
++W100Map(KdCardInfo * card, W100CardInfo *w100c)
++{
++ DBG_IMAGEON(("--W100Map\n"));
++ w100c->mem_base = (CARD8 *) KdMapDevice(W100_MEM_BASE, W100_MEM_SIZE);
++
++ if (w100c->mem_base == NULL) {
++ return FALSE;
++ }
++
++ w100c->reg_base = w100c->mem_base + W100_REG_OFFSET;
++
++ /*
++ * It doesn't matter mapping all the area as registers.
++ * There's only difference when HAVE_ASM_MTRR_H is defined.
++ * So, this call is doing nothing.
++ */
++ KdSetMappedMode(W100_MEM_BASE, W100_MEM_SIZE, KD_MAPPED_MODE_REGISTERS);
++
++ return TRUE;
++}
++
++static void
++W100Unmap(KdCardInfo * card, W100CardInfo *w100c)
++{
++ DBG_IMAGEON(("--W100Unmap\n"));
++ if (w100c->mem_base) {
++ KdResetMappedMode(W100_MEM_BASE, W100_MEM_SIZE,
++ KD_MAPPED_MODE_REGISTERS);
++ KdUnmapDevice((void *) w100c->mem_base, W100_MEM_SIZE);
++ w100c->mem_base = w100c->reg_base = 0;
++ }
++}
++
++static void W100MemSetup(W100CardInfo *w100c)
++{
++ int reg_value;
++ int int_start, int_size;
++ int ext_start, ext_size;
++ int i;
++ DBG_IMAGEON(("--W100MemSetup\n"));
++
++ for (i = 0; i < w100c->num_memareas; i++) {
++ xfree(w100c->memareas[i]);
++ }
++ xfree(w100c->memareas);
++
++ reg_value = MMIO_IN32(mmMC_FB_LOCATION);
++ int_start = (reg_value & 0xffff) << 8;
++ int_size = (((reg_value >> 16) & 0xffff) - (reg_value & 0xffff)) << 8;
++ DBG_IMAGEON(("(I) MC_FB_LOCATION: 0x%08x. Start: 0x%08x, size: %d\n",
++ reg_value, int_start, int_size));
++
++ reg_value = MMIO_IN32(mmMC_EXT_MEM_LOCATION);
++ ext_start = (reg_value & 0xffff) << 8;
++ ext_size = (((reg_value >> 16) & 0xffff) - (reg_value & 0xffff)) << 8;
++ DBG_IMAGEON(("(I) MC_EXT_MEM_LOCATION: 0x%08x. Start: 0x%08x, size: %d\n",
++ reg_value, ext_start, ext_size));
++
++ w100c->num_memareas = (ext_size > 0) ? 2 : 1;
++ w100c->memareas = xcalloc(sizeof(W100MemArea *), w100c->num_memareas);
++
++ w100c->memareas[W100_INTMEM] = xcalloc(sizeof(W100MemArea), 1);
++ w100c->memareas[W100_INTMEM]->priority = KD_VIDMEM_MAXPRIO;
++ w100c->memareas[W100_INTMEM]->start = (CARD8 *) int_start;
++ w100c->memareas[W100_INTMEM]->size = int_size;
++
++ if (w100c->num_memareas == 2) {
++ w100c->memareas[W100_EXTMEM] = xcalloc(sizeof(W100MemArea), 1);
++ w100c->memareas[W100_EXTMEM]->priority = KD_VIDMEM_MINPRIO;
++ w100c->memareas[W100_EXTMEM]->start = (CARD8 *) ext_start;
++ w100c->memareas[W100_EXTMEM]->size = ext_size;
++ }
++
++ for (i = 0; i < w100c->num_memareas; i++) {
++ DBG_IMAGEON(("(I) Memory mapped at 0x%08x(0x%08x), size %d bytes\n",
++ W100_CARD2HOST(w100c->memareas[i]->start),
++ w100c->memareas[i]->start,
++ w100c->memareas[i]->size));
++ }
++
++}
++
++static Bool
++W100CardInit(KdCardInfo * card)
++{
++ W100CardInfo *w100c;
++
++ W100CardEntry *model = &w100_cards[0];
++ static Bool initialized = FALSE;
++
++ DBG_IMAGEON(("--W100CardInit\n"));
++
++ w100c = xcalloc(sizeof(W100CardInfo), 1);
++ if (w100c == NULL)
++ return FALSE;
++
++ if (!fbdevInitialize(card, &w100c->fbdev)) {
++ return FALSE;
++ }
++
++ if (!W100Map(card, w100c)) {
++ xfree(w100c);
++ return FALSE;
++ }
++ card->driver = w100c;
++
++ while (model->name) {
++ if (model->device == card->attr.deviceID) {
++ w100c->card_id = model;
++ break;
++ }
++ model++;
++ }
++
++ ErrorF("(I) Using ATI card: %s\n", w100c->card_id->name);
++
++ if (!initialized) {
++ initialized = TRUE;
++ W100Startup(w100c);
++ }
++
++ w100c->hw_window.mode = W100GetModeSpec(w100c, &w100StartupInfo.mode);
++ w100c->hw_window.randr = w100StartupInfo.randr;
++
++ tslib_transform_closure = w100c;
++ tslib_transform_coords = W100TransformTsLibCoordinates;
++ return TRUE;
++}
++
++
++static void
++W100CardFini(KdCardInfo * card)
++{
++ W100CardInfo *w100c = (W100CardInfo *) card->driver;
++
++ DBG_IMAGEON(("--W100CardFini\n"));
++ W100Unmap(card, w100c);
++ fbdevCardFini(card);
++}
++
++static void
++W100Setup(KdScreenInfo *screen)
++{
++ W100CardInfo(screen);
++ W100MemArea *mem;
++ KdMouseMatrix m;
++ int fb_size, i;
++
++ DBG_IMAGEON(("--W100Setup\n"));
++
++ /* Adjust mode */
++ w100c->hw_window.width = screen->width;
++ w100c->hw_window.height = screen->height;
++ w100c->hw_window.bpp = screen->fb[0].bitsPerPixel;
++ W100SetupGraphicWindow(w100c);
++
++ /* Get some register values */
++ w100c->regs.ENG_CNTL = MMIO_IN32(mmENG_CNTL);
++ w100c->regs.VIDEO_CTRL = MMIO_IN32(mmVIDEO_CTRL);
++ w100c->regs.GRAPHIC_H_DISP = MMIO_IN32(mmGRAPHIC_H_DISP);
++ w100c->regs.GRAPHIC_V_DISP = MMIO_IN32(mmGRAPHIC_V_DISP);
++ w100c->regs.DISP_DEBUG2 = MMIO_IN32(mmDISP_DEBUG2);
++
++ W100MemSetup(w100c);
++
++ /* Clear the VideoMemAreas set up by the framebuffer initialization */
++ for (i = 0; i < screen->num_videomem_areas; i++) {
++ xfree(screen->videomem_areas[i]);
++ }
++ xfree(screen->videomem_areas);
++
++ screen->videomem_areas = xcalloc(sizeof(KdVideoMemArea *),
++ w100c->num_memareas);
++ screen->num_videomem_areas = w100c->num_memareas;
++
++ screen->fb[0].byteStride = screen->width * screen->fb[0].bitsPerPixel / 8;
++ fb_size = screen->fb[0].byteStride * screen->height;
++
++ DBG_IMAGEON(("(I) Framebuffer required size: %d bytes\n", fb_size));
++
++ for (i = 0; i < w100c->num_memareas; i++) {
++ mem = w100c->memareas[i];
++ screen->videomem_areas[i] = xcalloc(sizeof(KdVideoMemArea), 1);
++ screen->videomem_areas[i]->priority = mem->priority;
++ screen->videomem_areas[i]->base = W100_CARD2HOST(mem->start);
++ screen->videomem_areas[i]->size = mem->size;
++ if (w100c->hw_window.mode->fbpool == i) {
++ DBG_IMAGEON(("(I) FrameBuffer in w100 memzone 0x%08x(0x%08x)\n",
++ W100_CARD2HOST(mem->start), mem->start));
++ screen->videomem_areas[i]->available_offset = fb_size;
++ screen->fb[0].frameBuffer = W100_CARD2HOST(mem->start);
++ } else {
++ screen->videomem_areas[i]->available_offset = 0;
++ }
++ DBG_IMAGEON(("New videomem_area(priority:%d, start:0x%08x, size:%d, available_offset:%d\n",
++ screen->videomem_areas[i]->priority,
++ screen->videomem_areas[i]->base,
++ screen->videomem_areas[i]->size,
++ screen->videomem_areas[i]->available_offset));
++ }
++
++
++ w100c->hw_window.offset = W100_HOST2CARD(screen->fb[0].frameBuffer);
++
++ KdComputeMouseMatrix(&m, screen->randr,
++ w100StartupInfo.portrait ?
++ W100_MIN(screen->width, screen->height) :
++ W100_MAX(screen->width, screen->height),
++ w100StartupInfo.portrait ?
++ W100_MAX(screen->width, screen->height) :
++ W100_MIN(screen->width, screen->height));
++
++ KdSetMouseMatrix(&m);
++
++ DBG_IMAGEON(("Window(width:%d,height:%d,bpp:%d,offset:0x%08x"
++ "(0x%08x), randr:%d)\n",
++ w100c->hw_window.width,
++ w100c->hw_