summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Sokolovsky <pmiscml@gmail.com>2007-09-09 00:00:20 +0000
committerPaul Sokolovsky <pmiscml@gmail.com>2007-09-09 00:00:20 +0000
commit2c67f7bcc05a97ffd2d31e64524b437e41d9d8b7 (patch)
treeb4f98dda6ecf5dffd5ae5947a31af711f9dfb739
parent0ab24892b0ac70a43d7fb8cd22ae9271a382127a (diff)
parent7d36e174f745ff0c1f3a1a1e3971668056981e13 (diff)
merge of '66ade0070cf3f1ade4dad0f5a9286530409b0feb'
and '71b3a433c7a64638a3d2bdc28a87d962bf4a2c8c'
-rw-r--r--packages/base-files/base-files_3.0.14.bb6
-rw-r--r--packages/linux/linux-ezx_2.6.21.bb12
-rw-r--r--packages/netbase/netbase/a780/interfaces44
-rw-r--r--packages/netbase/netbase/e680/interfaces44
-rw-r--r--packages/netbase/netbase_4.21.bb2
-rw-r--r--packages/xorg-xserver/xserver-kdrive-1.1.0/.mtn2git_empty (renamed from packages/netbase/netbase/a780/.mtn2git_empty)0
-rw-r--r--packages/xorg-xserver/xserver-kdrive-1.1.0/enable-epson.patch11
-rw-r--r--packages/xorg-xserver/xserver-kdrive-1.1.0/enable-tslib.patch (renamed from packages/xorg-xserver/xserver-kdrive/enable-tslib.patch)0
-rw-r--r--packages/xorg-xserver/xserver-kdrive-1.1.0/optional-xkb.patch54
-rw-r--r--packages/xorg-xserver/xserver-kdrive-1.3.0.0/hide-cursor-and-ppm-root.patch307
-rw-r--r--packages/xorg-xserver/xserver-kdrive-1.4/.mtn2git_empty (renamed from packages/netbase/netbase/e680/.mtn2git_empty)0
-rw-r--r--packages/xorg-xserver/xserver-kdrive-1.4/disable-xf86-dga-xorgcfg.patch39
-rw-r--r--packages/xorg-xserver/xserver-kdrive-1.4/enable-tslib.patch24
-rw-r--r--packages/xorg-xserver/xserver-kdrive-1.4/enable-xcalibrate.patch77
-rw-r--r--packages/xorg-xserver/xserver-kdrive-1.4/w100-autofoo.patch54
-rw-r--r--packages/xorg-xserver/xserver-kdrive-common.inc2
-rw-r--r--packages/xorg-xserver/xserver-kdrive-git/.mtn2git_empty0
-rw-r--r--packages/xorg-xserver/xserver-kdrive-git/enable-epson.patch17
-rw-r--r--packages/xorg-xserver/xserver-kdrive-git/enable-tslib.patch26
-rw-r--r--packages/xorg-xserver/xserver-kdrive-git/enable-xcalibrate.patch68
-rw-r--r--packages/xorg-xserver/xserver-kdrive-git/w100-autofoo.patch54
-rw-r--r--packages/xorg-xserver/xserver-kdrive-git/w100-post-1.4-buildfix.patch12
-rw-r--r--packages/xorg-xserver/xserver-kdrive-git/xephyr-post-1.4-buildfix.patch11
-rw-r--r--packages/xorg-xserver/xserver-kdrive/build-fix-panoramix.patch18
-rw-r--r--packages/xorg-xserver/xserver-kdrive/devfs.patch47
-rw-r--r--packages/xorg-xserver/xserver-kdrive/enable-epson.patch16
-rw-r--r--packages/xorg-xserver/xserver-kdrive/faster-rotated.patch241
-rw-r--r--packages/xorg-xserver/xserver-kdrive/fbdev-evdev.patch19
-rw-r--r--packages/xorg-xserver/xserver-kdrive/fix_default_mode.patch (renamed from packages/xorg-xserver/xserver-kdrive-1.3.0.0/fix_default_mode.patch)0
-rw-r--r--packages/xorg-xserver/xserver-kdrive/optional-xkb.patch32
-rw-r--r--packages/xorg-xserver/xserver-kdrive/tslib-default-device.patch15
-rw-r--r--packages/xorg-xserver/xserver-kdrive/w100-autofoo.patch54
-rw-r--r--packages/xorg-xserver/xserver-kdrive/w100-new-input-world-order.patch28
-rw-r--r--packages/xorg-xserver/xserver-kdrive/w100.patch55
-rw-r--r--packages/xorg-xserver/xserver-kdrive/xcalibrate-new-input-world-order.patch159
-rw-r--r--packages/xorg-xserver/xserver-kdrive/xcalibrate_coords.patch122
-rw-r--r--packages/xorg-xserver/xserver-kdrive_1.2.0.bb3
-rw-r--r--packages/xorg-xserver/xserver-kdrive_1.3.0.0.bb3
-rw-r--r--packages/xorg-xserver/xserver-kdrive_1.4.bb28
-rw-r--r--packages/xorg-xserver/xserver-kdrive_git.bb61
40 files changed, 942 insertions, 823 deletions
diff --git a/packages/base-files/base-files_3.0.14.bb b/packages/base-files/base-files_3.0.14.bb
index ac12f5e08a..0d3a411095 100644
--- a/packages/base-files/base-files_3.0.14.bb
+++ b/packages/base-files/base-files_3.0.14.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "Miscellaneous files for the base system."
SECTION = "base"
PRIORITY = "required"
-PR = "r71"
+PR = "r72"
LICENSE = "GPL"
SRC_URI = " \
@@ -24,8 +24,6 @@ SRC_URI = " \
file://licenses/Artistic "
S = "${WORKDIR}"
-SRC_URI_OVERRIDES_PACKAGE_ARCH = "1"
-
docdir_append = "/${P}"
dirs1777 = "/tmp ${localstatedir}/volatile/lock ${localstatedir}/volatile/tmp"
dirs2775 = "/home ${prefix}/src ${localstatedir}/local"
@@ -152,6 +150,8 @@ FILES_${PN}-doc = "${docdir} ${datadir}/common-licenses"
PACKAGE_ARCH_mnci = "mnci"
PACKAGE_ARCH_rt3000 = "rt3000"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
# Unslung distribution specific packaging
PACKAGES_unslung = "${PN}-unslung"
diff --git a/packages/linux/linux-ezx_2.6.21.bb b/packages/linux/linux-ezx_2.6.21.bb
index 61681b4c00..2a2d4d05fc 100644
--- a/packages/linux/linux-ezx_2.6.21.bb
+++ b/packages/linux/linux-ezx_2.6.21.bb
@@ -4,7 +4,7 @@ AUTHOR = "Harald Welte and the OpenEZX Team <openezx-devel@lists.openezx.org>"
HOMEPAGE = "http://www.openezx.org"
LICENSE = "GPL"
EZX = "ezxdev"
-PR = "${EZX}-r7"
+PR = "${EZX}-r8"
inherit kernel
@@ -13,7 +13,7 @@ require linux.inc
SRC_URI = " \
${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \
file://logo_linux_clut224.ppm \
- \
+ \
file://patches/patch-2.6.21.4;patch=1 \
file://patches/ezx-core.patch;patch=1 \
file://patches/ezx-bp.patch;patch=1 \
@@ -72,16 +72,16 @@ COMPATIBLE_HOST = "arm.*-linux"
COMPATIBLE_MACHINE = '(a780|e680|a1200)'
# For now the code for serial console is disabled in compress.c
-#CMDLINE_CON = "console=ttyS2,115200n8 console=tty1 noinitrd"
-CMDLINE_CON = "console=tty1 noinitrd"
+#CMDLINE_CON = "console=ttyS2,115200n8 console=tty1 "
+CMDLINE_CON = "console=tty1 "
CMDLINE_ROOT = "root=/dev/mmcblk0p1 rootfstype=ext3 rootdelay=5"
# uncomment if you want to boot over NFS
-#CMDLINE_ROOT = "root=/dev/nfs nfsroot=192.168.1.10:/export/opie-image rootdelay=5 3"
+#CMDLINE_ROOT = "root=301 root=/dev/nfs nfsroot=192.168.0.200:/export/ezx-image rootdelay=5 "
# uncomment to enable dyntick
#CMDLINE_OTHER = "dyntick=enable"
CMDLINE_DEBUG = '${@base_conditional("DISTRO_TYPE", "release", "quiet", "debug",d)}'
-CMDLINE_IP = "ip=192.168.1.2:192.168.1.10:192.168.1.10:255.255.255.0:ezx:usb0:off"
+CMDLINE_IP = "ip=192.168.0.202:192.168.0.200:192.168.0.200:255.255.255.0"
CMDLINE = "${CMDLINE_CON} ${CMDLINE_ROOT} ${CMDLINE_IP} ${CMDLINE_ROTATE} ${CMDLINE_OTHER} ${CMDLINE_DEBUG} mem=32M@0xA0000000 mem=16M@0xAC000000"
###############################################################
diff --git a/packages/netbase/netbase/a780/interfaces b/packages/netbase/netbase/a780/interfaces
deleted file mode 100644
index 4e5d85e2c7..0000000000
--- a/packages/netbase/netbase/a780/interfaces
+++ /dev/null
@@ -1,44 +0,0 @@
-# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
-
-# The loopback interface
-auto lo
-iface lo inet loopback
-
-# Wireless interfaces
-iface wlan0 inet dhcp
-wireless_mode managed
-wireless_essid any
-iface atml0 inet dhcp
-
-# Wired or wireless interfaces
-iface eth0 inet dhcp
-iface eth1 inet dhcp
-
-auto usb0
-# Ethernet/RNDIS gadget (g_ether)
-# ... or on host side, usbnet and random hwaddr
-iface usb0 inet static
- address 192.168.1.2
- netmask 255.255.255.0
- network 192.168.1.0
- gateway 192.168.1.10
-
-
-# Zaurus 2.4 Lineo net_fd; obsolete
-iface usbd0 inet static
- address 192.168.129.201
- netmask 255.255.255.0
- network 192.168.129.0
- gateway 192.168.129.200
-
-# iPAQ 2.4 mach-sa1100/usb-eth
-# (192.168.0.202 is the iPAQ's IP, 192.168.0.200 is the host's IP)
-iface usbf inet static
- address 192.168.0.202
- netmask 255.255.255.0
- network 192.168.0.0
- gateway 192.168.0.200
-
-# Bluetooth networking
-iface bnep0 inet dhcp
-
diff --git a/packages/netbase/netbase/e680/interfaces b/packages/netbase/netbase/e680/interfaces
deleted file mode 100644
index 4e5d85e2c7..0000000000
--- a/packages/netbase/netbase/e680/interfaces
+++ /dev/null
@@ -1,44 +0,0 @@
-# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
-
-# The loopback interface
-auto lo
-iface lo inet loopback
-
-# Wireless interfaces
-iface wlan0 inet dhcp
-wireless_mode managed
-wireless_essid any
-iface atml0 inet dhcp
-
-# Wired or wireless interfaces
-iface eth0 inet dhcp
-iface eth1 inet dhcp
-
-auto usb0
-# Ethernet/RNDIS gadget (g_ether)
-# ... or on host side, usbnet and random hwaddr
-iface usb0 inet static
- address 192.168.1.2
- netmask 255.255.255.0
- network 192.168.1.0
- gateway 192.168.1.10
-
-
-# Zaurus 2.4 Lineo net_fd; obsolete
-iface usbd0 inet static
- address 192.168.129.201
- netmask 255.255.255.0
- network 192.168.129.0
- gateway 192.168.129.200
-
-# iPAQ 2.4 mach-sa1100/usb-eth
-# (192.168.0.202 is the iPAQ's IP, 192.168.0.200 is the host's IP)
-iface usbf inet static
- address 192.168.0.202
- netmask 255.255.255.0
- network 192.168.0.0
- gateway 192.168.0.200
-
-# Bluetooth networking
-iface bnep0 inet dhcp
-
diff --git a/packages/netbase/netbase_4.21.bb b/packages/netbase/netbase_4.21.bb
index 4bc77b004b..bfb178d0a0 100644
--- a/packages/netbase/netbase_4.21.bb
+++ b/packages/netbase/netbase_4.21.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "This package provides the necessary \
infrastructure for basic TCP/IP based networking."
SECTION = "base"
LICENSE = "GPL"
-PR = "r22"
+PR = "r23"
inherit update-rc.d
diff --git a/packages/netbase/netbase/a780/.mtn2git_empty b/packages/xorg-xserver/xserver-kdrive-1.1.0/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/netbase/netbase/a780/.mtn2git_empty
+++ b/packages/xorg-xserver/xserver-kdrive-1.1.0/.mtn2git_empty
diff --git a/packages/xorg-xserver/xserver-kdrive-1.1.0/enable-epson.patch b/packages/xorg-xserver/xserver-kdrive-1.1.0/enable-epson.patch
new file mode 100644
index 0000000000..63b13a4511
--- /dev/null
+++ b/packages/xorg-xserver/xserver-kdrive-1.1.0/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/packages/xorg-xserver/xserver-kdrive/enable-tslib.patch b/packages/xorg-xserver/xserver-kdrive-1.1.0/enable-tslib.patch
index e488657b74..e488657b74 100644
--- a/packages/xorg-xserver/xserver-kdrive/enable-tslib.patch
+++ b/packages/xorg-xserver/xserver-kdrive-1.1.0/enable-tslib.patch
diff --git a/packages/xorg-xserver/xserver-kdrive-1.1.0/optional-xkb.patch b/packages/xorg-xserver/xserver-kdrive-1.1.0/optional-xkb.patch
new file mode 100644
index 0000000000..d9ef51c5ba
--- /dev/null
+++ b/packages/xorg-xserver/xserver-kdrive-1.1.0/optional-xkb.patch
@@ -0,0 +1,54 @@
+--- git/Makefile.am.orig 2006-06-09 16:01:51.000000000 +0200
++++ git/Makefile.am 2006-06-09 16:02:59.000000000 +0200
+@@ -35,6 +35,10 @@
+ XINPUT_DIR=Xi
+ endif
+
++if XKB
++XKB_DIR=xkb
++endif
++
+ if DBE
+ DBE_DIR=dbe
+ endif
+@@ -51,7 +55,7 @@
+ randr \
+ render \
+ $(XINPUT_DIR) \
+- xkb \
++ $(XKB_DIR) \
+ $(DBE_DIR) \
+ $(MFB_DIR) \
+ $(AFB_DIR) \
+--- git/configure.ac.orig 2006-05-22 22:40:00.000000000 +0200
++++ git/configure.ac 2006-06-10 15:10:14.000000000 +0200
+@@ -418,6 +418,7 @@
+ AC_ARG_ENABLE(xf86bigfont, AS_HELP_STRING([--disable-xf86bigfont], [Build XF86 Big Font extension (default: enabled)]), [XF86BIGFONT=$enableval], [XF86BIGFONT=yes])
+ AC_ARG_ENABLE(dpms, AS_HELP_STRING([--disable-dpms], [Build DPMS extension (default: enabled)]), [DPMS=$enableval], [DPMSExtension=yes])
+ AC_ARG_ENABLE(xinput, AS_HELP_STRING([--disable-xinput], [Build XInput Extension (default: enabled)]), [XINPUT=$enableval], [XINPUT=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])
+@@ -739,12 +740,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/packages/xorg-xserver/xserver-kdrive-1.3.0.0/hide-cursor-and-ppm-root.patch b/packages/xorg-xserver/xserver-kdrive-1.3.0.0/hide-cursor-and-ppm-root.patch
deleted file mode 100644
index c160cd41dc..0000000000
--- a/packages/xorg-xserver/xserver-kdrive-1.3.0.0/hide-cursor-and-ppm-root.patch
+++ /dev/null
@@ -1,307 +0,0 @@
-diff -u -r xorg-server-X11R7.1-1.1.0.orig/dix/window.c xorg-server-X11R7.1-1.1.0/dix/window.c
---- xorg-server-X11R7.1-1.1.0.orig/dix/window.c 2007-01-08 14:30:38.000000000 +0000
-+++ xorg-server-X11R7.1-1.1.0/dix/window.c 2007-01-16 17:16:19.000000000 +0000
-@@ -185,6 +185,8 @@
- _X_EXPORT int numSaveUndersViewable = 0;
- _X_EXPORT int deltaSaveUndersViewable = 0;
-
-+char* RootPPM = NULL;
-+
- #ifdef DEBUG
- /******
- * PrintWindowTree
-@@ -311,6 +313,115 @@
- #endif
- }
-
-+static int
-+get_int(FILE *fp)
-+{
-+ int c = 0;
-+
-+ while ((c = getc(fp)) != EOF)
-+ {
-+ if (isspace(c))
-+ continue;
-+
-+ if (c == '#')
-+ while (c = getc(fp))
-+ if (c == EOF)
-+ return 0;
-+ else if (c == '\n')
-+ break;
-+
-+ if (isdigit(c))
-+ {
-+ int val = c - '0';
-+ while ((c = getc(fp)) && isdigit(c))
-+ val = (val * 10) + (c - '0');
-+ return val;
-+ }
-+ }
-+
-+ return 0;
-+}
-+
-+static unsigned char*
-+ppm_load (const char* path, int depth, int *width, int *height)
-+{
-+ FILE *fp;
-+ int max, n = 0, w, h, i, j, bytes_per_line;
-+ unsigned char *data, *res, h1, h2;
-+
-+ if (depth < 16 || depth > 32)
-+ return NULL;
-+
-+ if (depth > 16)
-+ depth = 32;
-+
-+ fp = fopen (path, "r");
-+ if (fp == NULL)
-+ return FALSE;
-+
-+ h1 = getc(fp);
-+ h2 = getc(fp);
-+
-+ /* magic is 'P6' for raw ppm */
-+ if (h1 != 'P' && h2 != '6')
-+ goto fail;
-+
-+ w = get_int(fp);
-+ h = get_int(fp);
-+
-+ if (w == 0 || h == 0)
-+ goto fail;
-+
-+ max = get_int(fp);
-+
-+ if (max != 255)
-+ goto fail;
-+
-+ bytes_per_line = ((w * depth + 31) >> 5) << 2;
-+
-+ res = data = malloc(bytes_per_line * h);
-+
-+ for (i=0; i<h; i++)
-+ {
-+ for (j=0; j<w; j++)
-+ {
-+ unsigned char buf[3];
-+ fread(buf, 1, 3, fp);
-+
-+ switch (depth)
-+ {
-+ case 24:
-+ case 32:
-+ *data = buf[2];
-+ *(data+1) = buf[1];
-+ *(data+2) = buf[0];
-+ data += 4;
-+ break;
-+ case 16:
-+ default:
-+ *(unsigned short*)data
-+ = ((buf[0] >> 3) << 11) | ((buf[1] >> 2) << 5) | (buf[2] >> 3);
-+ data += 2;
-+ break;
-+ }
-+ }
-+ data += (bytes_per_line - (w*(depth>>3)));
-+ }
-+
-+ data = res;
-+
-+ *width = w;
-+ *height = h;
-+
-+ fclose(fp);
-+
-+ return res;
-+
-+ fail:
-+ fclose(fp);
-+ return NULL;
-+}
-+
- static void
- MakeRootTile(WindowPtr pWin)
- {
-@@ -321,6 +432,36 @@
- register unsigned char *from, *to;
- register int i, j;
-
-+ if (RootPPM != NULL)
-+ {
-+ int w, h;
-+ unsigned char *data;
-+
-+ if ((data = ppm_load (RootPPM, pScreen->rootDepth, &w, &h)) != NULL)
-+ {
-+ pWin->background.pixmap
-+ = (*pScreen->CreatePixmap)(pScreen, w, h, pScreen->rootDepth);
-+
-+ pWin->backgroundState = BackgroundPixmap;
-+ pGC = GetScratchGC(pScreen->rootDepth, pScreen);
-+ if (!pWin->background.pixmap || !pGC)
-+ FatalError("could not create root tile");
-+
-+ ValidateGC((DrawablePtr)pWin->background.pixmap, pGC);
-+
-+ (*pGC->ops->PutImage)((DrawablePtr)pWin->background.pixmap,
-+ pGC,
-+ pScreen->rootDepth,
-+ 0, 0, w, h, 0, ZPixmap, (char *)data);
-+ FreeScratchGC(pGC);
-+
-+ free(data);
-+ return;
-+ }
-+ else
-+ ErrorF("Unable to load root window image.");
-+ }
-+
- pWin->background.pixmap = (*pScreen->CreatePixmap)(pScreen, 4, 4,
- pScreen->rootDepth);
-
-@@ -357,6 +498,7 @@
-
- }
-
-+
- WindowPtr
- AllocateWindow(ScreenPtr pScreen)
- {
-diff -u -r xorg-server-X11R7.1-1.1.0.orig/hw/kdrive/src/kdrive.c xorg-server-X11R7.1-1.1.0/hw/kdrive/src/kdrive.c
---- xorg-server-X11R7.1-1.1.0.orig/hw/kdrive/src/kdrive.c 2007-01-08 14:30:38.000000000 +0000
-+++ xorg-server-X11R7.1-1.1.0/hw/kdrive/src/kdrive.c 2007-01-15 17:53:06.000000000 +0000
-@@ -58,6 +58,9 @@
- { 32, 32 }
- };
-
-+int
-+ProcXFixesHideCursor (ClientPtr client) ;
-+
- #define NUM_KD_DEPTHS (sizeof (kdDepths) / sizeof (kdDepths[0]))
-
- int kdScreenPrivateIndex;
-@@ -84,6 +87,9 @@
- KdOsFuncs *kdOsFuncs;
- extern WindowPtr *WindowTable;
-
-+extern Bool CursorInitiallyHidden; /* See Xfixes cursor.c */
-+extern char* RootPPM; /* dix/window.c */
-+
- void
- KdSetRootClip (ScreenPtr pScreen, BOOL enable)
- {
-@@ -312,6 +318,7 @@
- KdSetRootClip (pScreen, TRUE);
- if (pScreenPriv->card->cfuncs->dpms)
- (*pScreenPriv->card->cfuncs->dpms) (pScreen, pScreenPriv->dpmsState);
-+
- return TRUE;
- }
-
-@@ -686,10 +693,14 @@
- ErrorF("-mouse path[,n] Filename of mouse device, n is number of buttons\n");
- ErrorF("-switchCmd Command to execute on vt switch\n");
- ErrorF("-nozap Don't terminate server on Ctrl+Alt+Backspace\n");
-+ ErrorF("-hide-cursor Start with cursor hidden\n");
-+ ErrorF("-root-ppm [path] Specify ppm file to use as root window background.\n");
- ErrorF("vtxx Use virtual terminal xx instead of the next available\n");
- #ifdef PSEUDO8
- p8UseMsg ();
- #endif
-+
-+
- }
-
- int
-@@ -761,6 +772,19 @@
- kdSoftCursor = TRUE;
- return 1;
- }
-+ if (!strcmp (argv[i], "-hide-cursor"))
-+ {
-+ CursorInitiallyHidden = TRUE;
-+ return 1;
-+ }
-+ if (!strcmp (argv[i], "-root-ppm"))
-+ {
-+ if ((i+1) < argc)
-+ RootPPM = argv[i+1];
-+ else
-+ UseMsg ();
-+ return 2;
-+ }
- if (!strcmp (argv[i], "-videoTest"))
- {
- kdVideoTest = TRUE;
-diff -u -r xorg-server-X11R7.1-1.1.0.orig/xfixes/cursor.c xorg-server-X11R7.1-1.1.0/xfixes/cursor.c
---- xorg-server-X11R7.1-1.1.0.orig/xfixes/cursor.c 2007-01-08 14:30:38.000000000 +0000
-+++ xorg-server-X11R7.1-1.1.0/xfixes/cursor.c 2007-01-11 16:33:00.000000000 +0000
-@@ -59,9 +59,12 @@
- static RESTYPE CursorWindowType;
- static int CursorScreenPrivateIndex = -1;
- static int CursorGeneration;
-+static Bool CursorGloballyHidden;
- static CursorPtr CursorCurrent;
- static CursorPtr pInvisibleCursor = NULL;
-
-+Bool CursorInitiallyHidden = FALSE;
-+
- static void deleteCursorHideCountsForScreen (ScreenPtr pScreen);
-
- #define VERIFY_CURSOR(pCursor, cursor, client, access) { \
-@@ -130,7 +133,7 @@
-
- Unwrap (cs, pScreen, DisplayCursor);
-
-- if (cs->pCursorHideCounts != NULL) {
-+ if (cs->pCursorHideCounts != NULL || CursorGloballyHidden) {
- ret = (*pScreen->DisplayCursor) (pScreen, pInvisibleCursor);
- } else {
- ret = (*pScreen->DisplayCursor) (pScreen, pCursor);
-@@ -848,6 +851,12 @@
- return BadWindow;
- }
-
-+ /* Is cursor set to be initially hidden ?, if so reset this
-+ * flag as now visibility assumed under control of client.
-+ */
-+ if (CursorGloballyHidden)
-+ CursorGloballyHidden = FALSE;
-+
- /*
- * Has client hidden the cursor before on this screen?
- * If so, just increment the count.
-@@ -899,9 +908,19 @@
- return BadWindow;
- }
-
-+ /* X was started with cursor hidden, therefore just reset our flag
-+ * (returning to normal client control) and cause cursor to now be
-+ * shown.
-+ */
-+ if (CursorGloballyHidden == TRUE)
-+ {
-+ CursorGloballyHidden = FALSE;
-+ return (client->noClientException);
-+ }
-+
- /*
- * Has client hidden the cursor on this screen?
-- * If not, generate an error.
-+ * If so, generate an error.
- */
- pChc = findCursorHideCount(client, pWin->drawable.pScreen);
- if (pChc == NULL) {
-@@ -1009,6 +1028,8 @@
- XFixesCursorInit (void)
- {
- int i;
-+
-+ CursorGloballyHidden = CursorInitiallyHidden;
-
- if (CursorGeneration != serverGeneration)
- {
diff --git a/packages/netbase/netbase/e680/.mtn2git_empty b/packages/xorg-xserver/xserver-kdrive-1.4/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/netbase/netbase/e680/.mtn2git_empty
+++ b/packages/xorg-xserver/xserver-kdrive-1.4/.mtn2git_empty
diff --git a/packages/xorg-xserver/xserver-kdrive-1.4/disable-xf86-dga-xorgcfg.patch b/packages/xorg-xserver/xserver-kdrive-1.4/disable-xf86-dga-xorgcfg.patch
new file mode 100644
index 0000000000..ccc19139c8
--- /dev/null
+++ b/packages/xorg-xserver/xserver-kdrive-1.4/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/packages/xorg-xserver/xserver-kdrive-1.4/enable-tslib.patch b/packages/xorg-xserver/xserver-kdrive-1.4/enable-tslib.patch
new file mode 100644
index 0000000000..3746be5f53
--- /dev/null
+++ b/packages/xorg-xserver/xserver-kdrive-1.4/enable-tslib.patch
@@ -0,0 +1,24 @@
+Index: xorg-server-1.4/configure.ac
+===================================================================
+--- xorg-server-1.4.orig/configure.ac 2007-09-08 16:36:37.000000000 +0200
++++ xorg-server-1.4/configure.ac 2007-09-08 16:38:10.000000000 +0200
+@@ -1816,7 +1816,7 @@
+ AC_CHECK_LIB([rt], [nanosleep], XEPHYR_LIBS="$XEPHYR_LIBS -lrt"))
+
+ if test "x$TSLIB" = xyes; then
+- PKG_CHECK_MODULES([TSLIB], [tslib-0.0], [HAVE_TSLIB="yes"], [HAVE_TSLIB="no"])
++ PKG_CHECK_MODULES([TSLIB], [tslib-1.0], [HAVE_TSLIB="yes"], [HAVE_TSLIB="no"])
+ if test "x$HAVE_TSLIB" = xno; then
+ AC_MSG_ERROR([tslib must be installed to build the tslib driver. See http://tslib.berlios.de/])
+ fi
+@@ -1840,8 +1840,8 @@
+ ;;
+ esac
+ KDRIVE_STUB_LIB='$(top_builddir)/hw/kdrive/src/libkdrivestubs.a'
+- KDRIVE_LOCAL_LIBS="$DIX_LIB $CONFIG_LIB $KDRIVE_LIB $TSLIB_LIBS $KDRIVE_OS_LIB $KDRIVE_PURE_LIBS $KDRIVE_STUB_LIB"
+- KDRIVE_LIBS="$XSERVERLIBS_LIBS $KDRIVE_LOCAL_LIBS"
++ KDRIVE_LOCAL_LIBS="$DIX_LIB $CONFIG_LIB $KDRIVE_LIB $KDRIVE_OS_LIB $KDRIVE_PURE_LIBS $KDRIVE_STUB_LIB"
++ KDRIVE_LIBS="$XSERVERLIBS_LIBS $TSLIB_LIBS $KDRIVE_LOCAL_LIBS"
+
+ # check if we can build Xephyr
+ PKG_CHECK_MODULES(XEPHYR, x11 xext xfont xau xdmcp, [xephyr="yes"], [xephyr="no"])
diff --git a/packages/xorg-xserver/xserver-kdrive-1.4/enable-xcalibrate.patch b/packages/xorg-xserver/xserver-kdrive-1.4/enable-xcalibrate.patch
new file mode 100644
index 0000000000..113f1cc584
--- /dev/null
+++ b/packages/xorg-xserver/xserver-kdrive-1.4/enable-xcalibrate.patch
@@ -0,0 +1,77 @@
+---
+ Xext/Makefile.am | 6 ++++++
+ configure.ac | 9 ++++++++-
+ include/kdrive-config.h.in | 3 +++
+ mi/miinitext.c | 6 ++++++
+ 4 files changed, 23 insertions(+), 1 deletion(-)
+
+Index: xorg-server-1.4/mi/miinitext.c
+===================================================================
+--- xorg-server-1.4.orig/mi/miinitext.c 2007-08-23 21:04:54.000000000 +0200
++++ xorg-server-1.4/mi/miinitext.c 2007-09-06 23:25:35.000000000 +0200
+@@ -374,6 +374,9 @@
+ #ifdef DMXEXT
+ extern void DMXExtensionInit(INITARGS);
+ #endif
++#ifdef XCALIBRATE
++extern void XCalibrateExtensionInit(INITARGS);
++#endif
+ #ifdef XEVIE
+ extern void XevieExtensionInit(INITARGS);
+ #endif
+@@ -666,6 +669,9 @@
+ #ifdef DAMAGE
+ if (!noDamageExtension) DamageExtensionInit();
+ #endif
++#ifdef XCALIBRATE
++ XCalibrateExtensionInit ();
++#endif
+ }
+
+ void
+Index: xorg-server-1.4/configure.ac
+===================================================================
+--- xorg-server-1.4.orig/configure.ac 2007-09-06 23:25:15.000000000 +0200
++++ xorg-server-1.4/configure.ac 2007-09-06 23:26:40.000000000 +0200
+@@ -500,6 +500,7 @@
+ AC_ARG_ENABLE(xf86misc, AS_HELP_STRING([--disable-xf86misc], [Build XF86Misc extension (default: auto)]), [XF86MISC=$enableval], [XF86MISC=auto])
+ AC_ARG_ENABLE(xace, AS_HELP_STRING([--disable-xace], [Build X-ACE extension (default: enabled)]), [XACE=$enableval], [XACE=yes])
+ AC_ARG_ENABLE(xcsecurity, AS_HELP_STRING([--disable-xcsecurity], [Build Security extension (default: enabled)]), [XCSECURITY=$enableval], [XCSECURITY=$XACE])
++AC_ARG_ENABLE(xcalibrate, AS_HELP_STRING([--enable-xcalibrate], [Build XCalibrate extension (default: disabled)]), [XCALIBRATE=$enableval], [XCALIBRATE=no])
+ AC_ARG_ENABLE(appgroup, AS_HELP_STRING([--disable-appgroup], [Build XC-APPGROUP extension (default: enabled)]), [APPGROUP=$enableval], [APPGROUP=$XCSECURITY])
+ AC_ARG_ENABLE(xcalibrate, AS_HELP_STRING([--enable-xcalibrate], [Build XCalibrate extension (default: disabled)]), [XCALIBRATE=$enableval], [XCALIBRATE=no])
+ AC_ARG_ENABLE(tslib, AS_HELP_STRING([--enable-tslib], [Build kdrive tslib touchscreen support (default: disabled)]), [TSLIB=$enableval], [TSLIB=no])
+@@ -787,6 +788,12 @@
+ AC_DEFINE(XCSECURITY, 1, [Build Security extension])
+ fi
+
++AM_CONDITIONAL(XCALIBRATE, [test "x$XCALIBRATE" = xyes])
++if test "x$XCALIBRATE" = xyes; then
++ AC_DEFINE(XCALIBRATE, 1, [Build XCalibrate extension])
++ REQUIRED_MODULES="$REQUIRED_MODULES xcalibrateproto"
++fi
++
+ AM_CONDITIONAL(XEVIE, [test "x$XEVIE" = xyes])
+ if test "x$XEVIE" = xyes; then
+ AC_DEFINE(XEVIE, 1, [Build XEvIE extension])
+@@ -1841,7 +1848,7 @@
+ ;;
+ esac
+ KDRIVE_STUB_LIB='$(top_builddir)/hw/kdrive/src/libkdrivestubs.a'
+- KDRIVE_LOCAL_LIBS="$DIX_LIB $CONFIG_LIB $KDRIVE_LIB $KDRIVE_OS_LIB $KDRIVE_PURE_LIBS $KDRIVE_STUB_LIB"
++ KDRIVE_LOCAL_LIBS="$DIX_LIB $CONFIG_LIB $KDRIVE_LIB $KDRIVE_PURE_LIBS $KDRIVE_OS_LIB $KDRIVE_STUB_LIB"
+ KDRIVE_LIBS="$XSERVERLIBS_LIBS $TSLIB_LIBS $KDRIVE_LOCAL_LIBS"
+
+ # check if we can build Xephyr
+Index: xorg-server-1.4/include/kdrive-config.h.in
+===================================================================
+--- xorg-server-1.4.orig/include/kdrive-config.h.in 2007-08-23 21:04:54.000000000 +0200
++++ xorg-server-1.4/include/kdrive-config.h.in 2007-09-06 23:25:35.000000000 +0200
+@@ -31,4 +31,7 @@
+ /* Have execinfo.h for backtrace(). */
+ #undef HAVE_EXECINFO_H
+
++/* Enable XCalibrate extension */
++#undef XCALIBRATE
++
+ #endif /* _KDRIVE_CONFIG_H_ */
diff --git a/packages/xorg-xserver/xserver-kdrive-1.4/w100-autofoo.patch b/packages/xorg-xserver/xserver-kdrive-1.4/w100-autofoo.patch
new file mode 100644
index 0000000000..0812a2e856
--- /dev/null
+++ b/packages/xorg-xserver/xserver-kdrive-1.4/w100-autofoo.patch
@@ -0,0 +1,54 @@
+Index: xorg-server-1.4/hw/kdrive/Makefile.am
+===================================================================
+--- xorg-server-1.4.orig/hw/kdrive/Makefile.am 2007-09-06 23:32:04.000000000 +0200
++++ xorg-server-1.4/hw/kdrive/Makefile.am 2007-09-06 23:33:44.000000000 +0200
+@@ -11,6 +11,10 @@
+ XFAKE_SUBDIRS = fake
+ endif
+
++if KDRIVEW100
++W100_SUBDIRS = w100
++endif
++
+ if XSDLSERVER
+ XSDL_SUBDIRS = sdl
+ endif
+@@ -26,6 +30,7 @@
+ SERVER_SUBDIRS = \
+ $(XSDL_SUBDIRS) \
+ $(FBDEV_SUBDIRS) \
++ $(W100_SUBDIRS) \
+ $(VESA_SUBDIRS) \
+ $(XEPHYR_SUBDIRS) \
+ $(XFAKE_SUBDIRS)
+Index: xorg-server-1.4/configure.ac
+===================================================================
+--- xorg-server-1.4.orig/configure.ac 2007-09-06 23:32:05.000000000 +0200
++++ xorg-server-1.4/configure.ac 2007-09-06 23:34:41.000000000 +0200
+@@ -535,6 +535,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(w100, AS_HELP_STRING([--enable-w100], [Build the kdrive Xw100 server (default: no)]), [KDRIVEW100=$enableval], [KDRIVEW100=no])
+ AC_ARG_ENABLE(xfake, AS_HELP_STRING([--enable-xfake], [Build the kdrive 'fake' server (default: auto)]), [XFAKE=$enableval], [XFAKE=auto])
+ AC_ARG_ENABLE(xfbdev, AS_HELP_STRING([--enable-xfbdev], [Build the kdrive framebuffer device server (default: auto)]), [XFBDEV=$enableval], [XFBDEV=auto])
+ AC_ARG_ENABLE(kdrive-vesa, AS_HELP_STRING([--enable-kdrive-vesa], [Build the kdrive VESA-based servers (default: auto)]), [KDRIVEVESA=$enableval], [KDRIVEVESA=auto])
+@@ -1669,6 +1670,10 @@
+ fi
+ AM_CONDITIONAL(XP_USE_FREETYPE, [test "x$XPRINT" = xyes && test "x$XP_USE_FREETYPE" = xyes])
+
++AM_CONDITIONAL(KDRIVEW100, [test "x$KDRIVEW100" = xyes])
++if test "x$KDRIVEW100" = xyes; then
++ AC_DEFINE(KDRIVEW100, 1, [Build Xw100 server])
++fi
+
+ dnl XWin DDX
+
+@@ -2112,6 +2117,7 @@
+ hw/kdrive/epson/Makefile
+ hw/kdrive/fake/Makefile
+ hw/kdrive/fbdev/Makefile
++hw/kdrive/w100/Makefile
+ hw/kdrive/i810/Makefile
+ hw/kdrive/linux/Makefile
+ hw/kdrive/mach64/Makefile
diff --git a/packages/xorg-xserver/xserver-kdrive-common.inc b/packages/xorg-xserver/xserver-kdrive-common.inc
index a3e38b185b..b0d5e39813 100644
--- a/packages/xorg-xserver/xserver-kdrive-common.inc
+++ b/packages/xorg-xserver/xserver-kdrive-common.inc
@@ -93,9 +93,7 @@ KDRIVE_COMMON_PATCHES = " \
file://disable-apm.patch;patch=1 \
file://no-serial-probing.patch;patch=1 \
file://fbdev-not-fix.patch;patch=1 \
- file://enable-builtin-fonts.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 \
"
diff --git a/packages/xorg-xserver/xserver-kdrive-git/.mtn2git_empty b/packages/xorg-xserver/xserver-kdrive-git/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/xorg-xserver/xserver-kdrive-git/.mtn2git_empty
diff --git a/packages/xorg-xserver/xserver-kdrive-git/enable-epson.patch b/packages/xorg-xserver/xserver-kdrive-git/enable-epson.patch
new file mode 100644
index 0000000000..23988cb815
--- /dev/null
+++ b/packages/xorg-xserver/xserver-kdrive-git/enable-epson.patch
@@ -0,0 +1,17 @@
+Index: git/hw/kdrive/Makefile.am
+===================================================================
+--- git.orig/hw/kdrive/Makefile.am 2007-09-08 23:24:21.000000000 +0200
++++ git/hw/kdrive/Makefile.am 2007-09-08 23:24:31.000000000 +0200
+@@ -1,10 +1,10 @@
+ if KDRIVEVESA
+-VESA_SUBDIRS = vesa ati chips epson i810 mach64 mga nvidia pm2 r128 \
++VESA_SUBDIRS = vesa ati chips i810 mach64 mga nvidia pm2 r128 \
+ smi via
+ endif
+
+ if BUILD_KDRIVEFBDEVLIB
+-FBDEV_SUBDIRS = fbdev
++FBDEV_SUBDIRS = fbdev epson
+ endif
+
+ if XFAKESERVER
diff --git a/packages/xorg-xserver/xserver-kdrive-git/enable-tslib.patch b/packages/xorg-xserver/xserver-kdrive-git/enable-tslib.patch
new file mode 100644
index 0000000000..bbb4a60a16
--- /dev/null
+++ b/packages/xorg-xserver/xserver-kdrive-git/enable-tslib.patch
@@ -0,0 +1,26 @@
+Index: git/configure.ac
+===================================================================
+--- git.orig/configure.ac 2007-09-08 22:17:11.000000000 +0200
++++ git/configure.ac 2007-09-08 22:32:45.000000000 +0200
+@@ -1834,7 +1834,7 @@
+ AC_CHECK_LIB([rt], [nanosleep], XEPHYR_LIBS="$XEPHYR_LIBS -lrt"))
+
+ if test "x$TSLIB" = xyes; then
+- PKG_CHECK_MODULES([TSLIB], [tslib-0.0], [HAVE_TSLIB="yes"], [HAVE_TSLIB="no"])
++ PKG_CHECK_MODULES([TSLIB], [tslib-1.0], [HAVE_TSLIB="yes"], [HAVE_TSLIB="no"])
+ if test "x$HAVE_TSLIB" = xno; then
+ AC_MSG_ERROR([tslib must be installed to build the tslib driver. See http://tslib.berlios.de/])
+ fi
+@@ -1858,10 +1858,10 @@
+ ;;
+ esac
+ KDRIVE_STUB_LIB='$(top_builddir)/hw/kdrive/src/libkdrivestubs.a'
+- KDRIVE_LOCAL_LIBS="$TSLIB_LIBS $DIX_LIB $KDRIVE_LIB $KDRIVE_STUB_LIB $CONFIG_LIB"
++ KDRIVE_LOCAL_LIBS="$DIX_LIB $KDRIVE_LIB $KDRIVE_STUB_LIB $CONFIG_LIB"
+ KDRIVE_LOCAL_LIBS="$KDRIVE_LOCAL_LIBS $FB_LIB $MI_LIB $KDRIVE_PURE_LIBS"
+ KDRIVE_LOCAL_LIBS="$KDRIVE_LOCAL_LIBS $KDRIVE_OS_LIB $OS_LIB"
+- KDRIVE_LIBS="$KDRIVE_LOCAL_LIBS $XSERVERLIBS_LIBS"
++ KDRIVE_LIBS="$TSLIB_LIBS $KDRIVE_LOCAL_LIBS $XSERVERLIBS_LIBS"
+
+ # check if we can build Xephyr
+ PKG_CHECK_MODULES(XEPHYR, x11 xext xfont xau xdmcp, [xephyr="yes"], [xephyr="no"])
diff --git a/packages/xorg-xserver/xserver-kdrive-git/enable-xcalibrate.patch b/packages/xorg-xserver/xserver-kdrive-git/enable-xcalibrate.patch
new file mode 100644
index 0000000000..ffd46fb58c
--- /dev/null
+++ b/packages/xorg-xserver/xserver-kdrive-git/enable-xcalibrate.patch
@@ -0,0 +1,68 @@
+---
+ Xext/Makefile.am | 6 ++++++
+ configure.ac | 9 ++++++++-
+ include/kdrive-config.h.in | 3 +++
+ mi/miinitext.c | 6 ++++++
+ 4 files changed, 23 insertions(+), 1 deletion(-)
+
+Index: git/mi/miinitext.c
+===================================================================
+--- git.orig/mi/miinitext.c 2007-09-08 22:17:19.000000000 +0200
++++ git/mi/miinitext.c 2007-09-08 22:37:51.000000000 +0200
+@@ -374,6 +374,9 @@
+ #ifdef DMXEXT
+ extern void DMXExtensionInit(INITARGS);
+ #endif
++#ifdef XCALIBRATE
++extern void XCalibrateExtensionInit(INITARGS);
++#endif
+ #ifdef XEVIE
+ extern void XevieExtensionInit(INITARGS);
+ #endif
+@@ -666,6 +669,9 @@
+ #ifdef DAMAGE
+ if (!noDamageExtension) DamageExtensionInit();
+ #endif
++#ifdef XCALIBRATE
++ XCalibrateExtensionInit ();
++#endif
+ }
+
+ void
+Index: git/configure.ac
+===================================================================
+--- git.orig/configure.ac 2007-09-08 22:37:43.000000000 +0200
++++ git/configure.ac 2007-09-08 22:38:36.000000000 +0200
+@@ -505,6 +505,7 @@
+ AC_ARG_ENABLE(xf86misc, AS_HELP_STRING([--disable-xf86misc], [Build XF86Misc extension (default: auto)]), [XF86MISC=$enableval], [XF86MISC=auto])
+ AC_ARG_ENABLE(xace, AS_HELP_STRING([--disable-xace], [Build X-ACE extension (default: enabled)]), [XACE=$enableval], [XACE=yes])
+ AC_ARG_ENABLE(xcsecurity, AS_HELP_STRING([--disable-xcsecurity], [Build Security extension (default: enabled)]), [XCSECURITY=$enableval], [XCSECURITY=$XACE])
++AC_ARG_ENABLE(xcalibrate, AS_HELP_STRING([--enable-xcalibrate], [Build XCalibrate extension (default: disabled)]), [XCALIBRATE=$enableval], [XCALIBRATE=no])
+ AC_ARG_ENABLE(appgroup, AS_HELP_STRING([--disable-appgroup], [Build XC-APPGROUP extension (default: enabled)]), [APPGROUP=$enableval], [APPGROUP=$XCSECURITY])
+ AC_ARG_ENABLE(xcalibrate, AS_HELP_STRING([--enable-xcalibrate], [Build XCalibrate extension (default: disabled)]), [XCALIBRATE=$enableval], [XCALIBRATE=no])
+ AC_ARG_ENABLE(tslib, AS_HELP_STRING([--enable-tslib], [Build kdrive tslib touchscreen support (default: disabled)]), [TSLIB=$enableval], [TSLIB=no])
+@@ -833,6 +834,12 @@
+ AC_DEFINE(XCSECURITY, 1, [Build Security extension])
+ fi
+
++AM_CONDITIONAL(XCALIBRATE, [test "x$XCALIBRATE" = xyes])
++if test "x$XCALIBRATE" = xyes; then
++ AC_DEFINE(XCALIBRATE, 1, [Build XCalibrate extension])
++ REQUIRED_MODULES="$REQUIRED_MODULES xcalibrateproto"
++fi
++
+ AM_CONDITIONAL(XEVIE, [test "x$XEVIE" = xyes])
+ if test "x$XEVIE" = xyes; then
+ AC_DEFINE(XEVIE, 1, [Build XEvIE extension])
+Index: git/include/kdrive-config.h.in
+===================================================================
+--- git.orig/include/kdrive-config.h.in 2007-09-08 22:17:19.000000000 +0200
++++ git/include/kdrive-config.h.in 2007-09-08 22:37:51.000000000 +0200
+@@ -31,4 +31,7 @@
+ /* Have execinfo.h for backtrace(). */
+ #undef HAVE_EXECINFO_H
+
++/* Enable XCalibrate extension */
++#undef XCALIBRATE
++
+ #endif /* _KDRIVE_CONFIG_H_ */
diff --git a/packages/xorg-xserver/xserver-kdrive-git/w100-autofoo.patch b/packages/xorg-xserver/xserver-kdrive-git/w100-autofoo.patch
new file mode 100644
index 0000000000..16c0352697
--- /dev/null
+++ b/packages/xorg-xserver/xserver-kdrive-git/w100-autofoo.patch
@@ -0,0 +1,54 @@
+Index: git/hw/kdrive/Makefile.am
+===================================================================
+--- git.orig/hw/kdrive/Makefile.am 2007-09-08 22:17:12.000000000 +0200
++++ git/hw/kdrive/Makefile.am 2007-09-08 22:40:22.000000000 +0200
+@@ -11,6 +11,10 @@
+ XFAKE_SUBDIRS = fake
+ endif
+
++if KDRIVEW100
++W100_SUBDIRS = w100
++endif
++
+ if XSDLSERVER
+ XSDL_SUBDIRS = sdl
+ endif
+@@ -26,6 +30,7 @@
+ SERVER_SUBDIRS = \
+ $(XSDL_SUBDIRS) \
+ $(FBDEV_SUBDIRS) \
++ $(W100_SUBDIRS) \
+ $(VESA_SUBDIRS) \
+ $(XEPHYR_SUBDIRS) \
+ $(XFAKE_SUBDIRS)
+Index: git/configure.ac
+===================================================================
+--- git.orig/configure.ac 2007-09-08 22:39:48.000000000 +0200
++++ git/configure.ac 2007-09-08 22:40:59.000000000 +0200
+@@ -540,6 +540,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(w100, AS_HELP_STRING([--enable-w100], [Build the kdrive Xw100 server (default: no)]), [KDRIVEW100=$enableval], [KDRIVEW100=no])
+ AC_ARG_ENABLE(xfake, AS_HELP_STRING([--enable-xfake], [Build the kdrive 'fake' server (default: auto)]), [XFAKE=$enableval], [XFAKE=auto])
+ AC_ARG_ENABLE(xfbdev, AS_HELP_STRING([--enable-xfbdev], [Build the kdrive framebuffer device server (default: auto)]), [XFBDEV=$enableval], [XFBDEV=auto])
+ AC_ARG_ENABLE(kdrive-vesa, AS_HELP_STRING([--enable-kdrive-vesa], [Build the kdrive VESA-based servers (default: auto)]), [KDRIVEVESA=$enableval], [KDRIVEVESA=auto])
+@@ -1620,6 +1621,10 @@
+ fi
+ AM_CONDITIONAL(XP_USE_FREETYPE, [test "x$XPRINT" = xyes && test "x$XP_USE_FREETYPE" = xyes])
+
++AM_CONDITIONAL(KDRIVEW100, [test "x$KDRIVEW100" = xyes])
++if test "x$KDRIVEW100" = xyes; then
++ AC_DEFINE(KDRIVEW100, 1, [Build Xw100 server])
++fi
+
+ dnl XWin DDX
+
+@@ -2128,6 +2133,7 @@
+ hw/kdrive/epson/Makefile
+ hw/kdrive/fake/Makefile
+ hw/kdrive/fbdev/Makefile
++hw/kdrive/w100/Makefile
+ hw/kdrive/i810/Makefile
+ hw/kdrive/linux/Makefile
+ hw/kdrive/mach64/Makefile
diff --git a/packages/xorg-xserver/xserver-kdrive-git/w100-post-1.4-buildfix.patch b/packages/xorg-xserver/xserver-kdrive-git/w100-post-1.4-buildfix.patch
new file mode 100644
index 0000000000..741af64283
--- /dev/null
+++ b/packages/xorg-xserver/xserver-kdrive-git/w100-post-1.4-buildfix.patch
@@ -0,0 +1,12 @@
+Index: git/hw/kdrive/w100/Makefile.am
+===================================================================
+--- git.orig/hw/kdrive/w100/Makefile.am 2007-09-08 23:37:42.000000000 +0200
++++ git/hw/kdrive/w100/Makefile.am 2007-09-08 23:37:43.000000000 +0200
+@@ -46,7 +46,6 @@
+
+ Xw100_LDADD = \
+ $(W100_LIBS) \
+- @XSERVER_LIBS@ \
+ $(TSLIB_FLAG)
+
+
diff --git a/packages/xorg-xserver/xserver-kdrive-git/xephyr-post-1.4-buildfix.patch b/packages/xorg-xserver/xserver-kdrive-git/xephyr-post-1.4-buildfix.patch
new file mode 100644
index 0000000000..8e7cde9641
--- /dev/null
+++ b/packages/xorg-xserver/xserver-kdrive-git/xephyr-post-1.4-buildfix.patch
@@ -0,0 +1,11 @@
+Index: git/hw/kdrive/ephyr/ephyr_draw.c
+===================================================================
+--- git.orig/hw/kdrive/ephyr/ephyr_draw.c 2007-09-08 23:57:03.000000000 +0200
++++ git/hw/kdrive/ephyr/ephyr_draw.c 2007-09-08 23:57:13.000000000 +0200
+@@ -520,6 +520,5 @@
+ ExaScreenPriv(pScreen);
+
+ pExaScr->migration = ExaMigrationSmart;
+- pExaScr->hideOffscreenPixmapData = TRUE;
+ pExaScr->checkDirtyCorrectness = TRUE;
+ }
diff --git a/packages/xorg-xserver/xserver-kdrive/build-fix-panoramix.patch b/packages/xorg-xserver/xserver-kdrive/build-fix-panoramix.patch
deleted file mode 100644
index f919b48f0e..0000000000
--- a/packages/xorg-xserver/xserver-kdrive/build-fix-panoramix.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-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/packages/xorg-xserver/xserver-kdrive/devfs.patch b/packages/xorg-xserver/xserver-kdrive/devfs.patch
deleted file mode 100644
index a6238126c0..0000000000
--- a/packages/xorg-xserver/xserver-kdrive/devfs.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- xserver/hw/kdrive/linux/linux.c~devfs
-+++ xserver/hw/kdrive/linux/linux.c
-@@ -82,10 +82,10 @@
- vtno = kdVirtualTerminal;
- else
- {
-- if ((fd = open("/dev/tty0",O_WRONLY,0)) < 0)
-+ if ((fd = open("/dev/vc/0",O_WRONLY,0)) < 0)
- {
- FatalError(
-- "LinuxInit: Cannot open /dev/tty0 (%s)\n",
-+ "LinuxInit: Cannot open /dev/tty/0 (%s)\n",
- strerror(errno));
- }
- if ((ioctl(fd, VT_OPENQRY, &vtno) < 0) ||
-@@ -96,7 +96,7 @@
- }
- close(fd);
-
-- sprintf(vtname,"/dev/tty%d",vtno); /* /dev/tty1-64 */
-+ sprintf(vtname,"/dev/vc/%d",vtno); /* /dev/tty1-64 */
-
- if ((LinuxConsoleFd = open(vtname, O_RDWR|O_NDELAY, 0)) < 0)
- {
-@@ -113,7 +113,7 @@
- *
- * Why is this needed?
- */
-- LinuxCheckChown ("/dev/tty0");
-+ LinuxCheckChown ("/dev/vc/0");
- /*
- * Linux doesn't switch to an active vt after the last close of a vt,
- * so we do this ourselves by remembering which is active now.
-@@ -453,7 +453,7 @@
- activeVT = -1;
- }
- close(LinuxConsoleFd); /* make the vt-manager happy */
-- fd = open ("/dev/tty0", O_RDWR|O_NDELAY, 0);
-+ fd = open ("/dev/vc/0", O_RDWR|O_NDELAY, 0);
- if (fd >= 0)
- {
- memset (&vts, '\0', sizeof (vts)); /* valgrind */
diff --git a/packages/xorg-xserver/xserver-kdrive/enable-epson.patch b/packages/xorg-xserver/xserver-kdrive/enable-epson.patch
index 63b13a4511..0fffd71dce 100644
--- a/packages/xorg-xserver/xserver-kdrive/enable-epson.patch
+++ b/packages/xorg-xserver/xserver-kdrive/enable-epson.patch
@@ -1,11 +1,17 @@
---- /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 @@
+Index: xorg-server-1.4/hw/kdrive/Makefile.am
+===================================================================
+--- xorg-server-1.4.orig/hw/kdrive/Makefile.am 2007-08-30 01:48:57.000000000 +0200
++++ xorg-server-1.4/hw/kdrive/Makefile.am 2007-09-06 23:24:29.000000000 +0200
+@@ -1,10 +1,10 @@
+ if KDRIVEVESA
+-VESA_SUBDIRS = vesa ati chips epson i810 mach64 mga nvidia pm2 r128 \
++VESA_SUBDIRS = vesa ati chips i810 mach64 mga nvidia pm2 r128 \
+ smi via
endif
- if KDRIVEFBDEV
+ if BUILD_KDRIVEFBDEVLIB
-FBDEV_SUBDIRS = fbdev
+FBDEV_SUBDIRS = fbdev epson
endif
- if XSDLSERVER
+ if XFAKESERVER
diff --git a/packages/xorg-xserver/xserver-kdrive/faster-rotated.patch b/packages/xorg-xserver/xserver-kdrive/faster-rotated.patch
deleted file mode 100644
index eaf7ddec36..0000000000
--- a/packages/xorg-xserver/xserver-kdrive/faster-rotated.patch
+++ /dev/null
@@ -1,241 +0,0 @@
-Index: xserver/miext/shadow/shrotate.c
-===================================================================
-RCS file: /scratch/openbsd/cvs/XF4/xc/programs/Xserver/miext/shadow/shrotate.c,v
-retrieving revision 1.2
-diff -u -r1.2 shrotate.c
---- xserver/miext/shadow/shrotate.c 3 Nov 2004 00:09:54 -0000 1.2
-+++ xserver/miext/shadow/shrotate.c 20 Sep 2005 23:07:58 -0000
-@@ -45,6 +45,106 @@
- #define TOP_TO_BOTTOM 2
- #define BOTTOM_TO_TOP -2
-
-+
-+static void
-+shadowUpdateRotatePackedSubRectangle(shadowBufPtr pBuf,
-+ FbBits *shaLine, int shaFirstShift,
-+ int shaStepOverX, int shaStepOverY,
-+ int shaStepDownX, int shaStepDownY,
-+ int shaBpp, FbBits shaMask,
-+ ScreenPtr pScreen,
-+ int scr_x1, int scr_y,
-+ int scr_h, int scr_w,
-+ int pixelsPerBits)
-+{
-+ FbBits *sha;
-+ int shaShift;
-+ int scr_x;
-+ int w;
-+
-+ /*
-+ * Copy the bits, always write across the physical frame buffer
-+ * to take advantage of write combining.
-+ */
-+ while (scr_h--)
-+ {
-+ int p;
-+ FbBits bits;
-+ FbBits *win;
-+ int i;
-+ CARD32 winSize;
-+
-+ sha = shaLine;
-+ shaShift = shaFirstShift;
-+ w = scr_w;
-+ scr_x = scr_x1 * shaBpp >> FB_SHIFT;
-+
-+ while (w)
-+ {
-+ /*
-+ * Map some of this line
-+ */
-+ win = (FbBits *) (*pBuf->window) (pScreen,
-+ scr_y,
-+ scr_x << 2,
-+ SHADOW_WINDOW_WRITE,
-+ &winSize,
-+ pBuf->closure);
-+ i = (winSize >> 2);
-+ if (i > w)
-+ i = w;
-+ w -= i;
-+ scr_x += i;
-+ /*
-+ * Copy the portion of the line mapped
-+ */
-+ while (i--)
-+ {
-+ bits = 0;
-+ p = pixelsPerBits;
-+ /*
-+ * Build one word of output from multiple inputs
-+ */
-+ while (p--)
-+ {
-+ bits = FbScrLeft(bits, shaBpp);
-+ bits |= FbScrRight (*sha, shaShift) & shaMask;
-+
-+ shaShift -= shaStepOverX;
-+ if (shaShift >= FB_UNIT)
-+ {
-+ shaShift -= FB_UNIT;
-+ sha--;
-+ }
-+ else if (shaShift < 0)
-+ {
-+ shaShift += FB_UNIT;
-+ sha++;
-+ }
-+ sha += shaStepOverY;
-+ }
-+ *win++ = bits;
-+ }
-+ }
-+ scr_y++;
-+ shaFirstShift -= shaStepDownX;
-+ if (shaFirstShift >= FB_UNIT)
-+ {
-+ shaFirstShift -= FB_UNIT;
-+ shaLine--;
-+ }
-+ else if (shaFirstShift < 0)
-+ {
-+ shaFirstShift += FB_UNIT;
-+ shaLine++;
-+ }
-+ shaLine += shaStepDownY;
-+ }
-+}
-+
-+#define BLOCKSIZE_HEIGHT 32
-+#define BLOCKSIZE_WIDTH 32
-+
- void
- shadowUpdateRotatePacked (ScreenPtr pScreen,
- shadowBufPtr pBuf)
-@@ -61,7 +161,6 @@
- int sha_x1 = 0, sha_y1 = 0;
- int scr_x1 = 0, scr_x2 = 0, scr_y1 = 0, scr_y2 = 0, scr_w, scr_h;
- int scr_x, scr_y;
-- int w;
- int pixelsPerBits;
- int pixelsMask;
- FbStride shaStepOverY = 0, shaStepDownY = 0;
-@@ -221,86 +320,46 @@
- ((sha_x1 * shaBpp) >> FB_SHIFT));
-
- /*
-- * Copy the bits, always write across the physical frame buffer
-- * to take advantage of write combining.
-+ * Copy in blocks of size BLOCKSIZE_WIDTH x BLOCKSIZE_HEIGHT
-+ * to reduce the number of cache misses when rotating 90 or
-+ * 270 degrees.
- */
-- while (scr_h--)
-+ for (scr_y = scr_y1; scr_y < scr_y2; scr_y += BLOCKSIZE_HEIGHT)
- {
-- int p;
-- FbBits bits;
-- FbBits *win;
-- int i;
-- CARD32 winSize;
--
- sha = shaLine;
- shaShift = shaFirstShift;
-- w = scr_w;
-- scr_x = scr_x1 * shaBpp >> FB_SHIFT;
-
-- while (w)
-+ for (scr_x = scr_x1; scr_x < scr_x2; scr_x += BLOCKSIZE_WIDTH)
- {
-- /*
-- * Map some of this line
-- */
-- win = (FbBits *) (*pBuf->window) (pScreen,
-- scr_y,
-- scr_x << 2,
-- SHADOW_WINDOW_WRITE,
-- &winSize,
-- pBuf->closure);
-- i = (winSize >> 2);
-- if (i > w)
-- i = w;
-- w -= i;
-- scr_x += i;
-- /*
-- * Copy the portion of the line mapped
-- */
-- while (i--)
-- {
-- bits = 0;
-- p = pixelsPerBits;
-- /*
-- * Build one word of output from multiple inputs
-- *
-- * Note that for 90/270 rotations, this will walk
-- * down the shadow hitting each scanline once.
-- * This is probably not very efficient.
-- */
-- while (p--)
-- {
-- bits = FbScrLeft(bits, shaBpp);
-- bits |= FbScrRight (*sha, shaShift) & shaMask;
-+ int h = BLOCKSIZE_HEIGHT;
-+ int w = BLOCKSIZE_WIDTH;
-
-- shaShift -= shaStepOverX;
-- if (shaShift >= FB_UNIT)
-- {
-- shaShift -= FB_UNIT;
-- sha--;
-- }
-- else if (shaShift < 0)
-- {
-- shaShift += FB_UNIT;
-- sha++;
-- }
-- sha += shaStepOverY;
-- }
-- *win++ = bits;
-- }
-- }
-- scr_y++;
-- shaFirstShift -= shaStepDownX;
-- if (shaFirstShift >= FB_UNIT)
-- {
-- shaFirstShift -= FB_UNIT;
-- shaLine--;
-- }
-- else if (shaFirstShift < 0)
-- {
-- shaFirstShift += FB_UNIT;
-- shaLine++;
-+ if (scr_y + h > scr_y2)
-+ h = scr_y2 - scr_y;
-+ if (scr_x + w > scr_x2)
-+ w = scr_x2 - scr_x;
-+ w = (w * shaBpp) >> FB_SHIFT;
-+
-+ shadowUpdateRotatePackedSubRectangle
-+ (pBuf,
-+ sha, shaShift,
-+ shaStepOverX, shaStepOverY,
-+ shaStepDownX, shaStepDownY,
-+ shaBpp, shaMask,
-+ pScreen,
-+ scr_x, scr_y,
-+ h, w,
-+ pixelsPerBits);
-+
-+ shaShift -= BLOCKSIZE_WIDTH * shaStepOverX;
-+ sha += BLOCKSIZE_WIDTH * shaStepOverY;
-+ sha -= (shaShift >> FB_SHIFT);
-+ shaShift &= FB_MASK;
- }
-- shaLine += shaStepDownY;
-+ shaFirstShift -= BLOCKSIZE_HEIGHT * shaStepDownX;
-+ shaLine += BLOCKSIZE_HEIGHT * shaStepDownY;
-+ shaLine -= (shaFirstShift >> FB_SHIFT);
-+ shaFirstShift &= FB_MASK;
- }
- }
- }
diff --git a/packages/xorg-xserver/xserver-kdrive/fbdev-evdev.patch b/packages/xorg-xserver/xserver-kdrive/fbdev-evdev.patch
new file mode 100644
index 0000000000..5f9b21b627
--- /dev/null
+++ b/packages/xorg-xserver/xserver-kdrive/fbdev-evdev.patch
@@ -0,0 +1,19 @@
+Index: xorg-server-1.4/hw/kdrive/fbdev/fbinit.c
+===================================================================
+--- xorg-server-1.4.orig/hw/kdrive/fbdev/fbinit.c 2007-09-08 21:27:44.000000000 +0200
++++ xorg-server-1.4/hw/kdrive/fbdev/fbinit.c 2007-09-08 21:28:55.000000000 +0200
+@@ -46,11 +46,13 @@
+
+ KdAddKeyboardDriver (&LinuxKeyboardDriver);
+ KdAddPointerDriver (&LinuxMouseDriver);
++ KdAddKeyboardDriver (&LinuxEvdevKeyboardDriver);
++ KdAddPointerDriver (&LinuxEvdevMouseDriver);
+ #ifdef TSLIB
+ KdAddPointerDriver (&TsDriver);
+ #endif
+
+- ki = KdParseKeyboard ("keybd");
++ ki = KdParseKeyboard ("keyboard");
+ KdAddKeyboard(ki);
+
+ KdInitInput ();
diff --git a/packages/xorg-xserver/xserver-kdrive-1.3.0.0/fix_default_mode.patch b/packages/xorg-xserver/xserver-kdrive/fix_default_mode.patch
index edc5146302..edc5146302 100644
--- a/packages/xorg-xserver/xserver-kdrive-1.3.0.0/fix_default_mode.patch
+++ b/packages/xorg-xserver/xserver-kdrive/fix_default_mode.patch
diff --git a/packages/xorg-xserver/xserver-kdrive/optional-xkb.patch b/packages/xorg-xserver/xserver-kdrive/optional-xkb.patch
index d9ef51c5ba..22d8c94c78 100644
--- a/packages/xorg-xserver/xserver-kdrive/optional-xkb.patch
+++ b/packages/xorg-xserver/xserver-kdrive/optional-xkb.patch
@@ -1,7 +1,9 @@
---- git/Makefile.am.orig 2006-06-09 16:01:51.000000000 +0200
-+++ git/Makefile.am 2006-06-09 16:02:59.000000000 +0200
-@@ -35,6 +35,10 @@
- XINPUT_DIR=Xi
+Index: xorg-server-1.4/Makefile.am
+===================================================================
+--- xorg-server-1.4.orig/Makefile.am 2007-08-23 21:04:52.000000000 +0200
++++ xorg-server-1.4/Makefile.am 2007-09-06 23:19:59.000000000 +0200
+@@ -26,6 +26,10 @@
+ GLX_DIR=GL
endif
+if XKB
@@ -11,26 +13,28 @@
if DBE
DBE_DIR=dbe
endif
-@@ -51,7 +55,7 @@
+@@ -42,7 +46,7 @@
randr \
render \
- $(XINPUT_DIR) \
+ Xi \
- xkb \
+ $(XKB_DIR) \
$(DBE_DIR) \
$(MFB_DIR) \
$(AFB_DIR) \
---- git/configure.ac.orig 2006-05-22 22:40:00.000000000 +0200
-+++ git/configure.ac 2006-06-10 15:10:14.000000000 +0200
-@@ -418,6 +418,7 @@
- AC_ARG_ENABLE(xf86bigfont, AS_HELP_STRING([--disable-xf86bigfont], [Build XF86 Big Font extension (default: enabled)]), [XF86BIGFONT=$enableval], [XF86BIGFONT=yes])
- AC_ARG_ENABLE(dpms, AS_HELP_STRING([--disable-dpms], [Build DPMS extension (default: enabled)]), [DPMS=$enableval], [DPMSExtension=yes])
- AC_ARG_ENABLE(xinput, AS_HELP_STRING([--disable-xinput], [Build XInput Extension (default: enabled)]), [XINPUT=$enableval], [XINPUT=yes])
+Index: xorg-server-1.4/configure.ac
+===================================================================
+--- xorg-server-1.4.orig/configure.ac 2007-09-06 07:59:00.000000000 +0200
++++ xorg-server-1.4/configure.ac 2007-09-06 23:19:19.000000000 +0200
+@@ -514,6 +514,7 @@
+ AC_ARG_ENABLE(config-dbus, AS_HELP_STRING([--enable-config-dbus], [Build D-BUS API support (default: no)]), [CONFIG_DBUS_API=$enableval], [CONFIG_DBUS_API=no])
+ AC_ARG_ENABLE(config-hal, AS_HELP_STRING([--disable-config-hal], [Build HAL support (default: auto)]), [CONFIG_HAL=$enableval], [CONFIG_HAL=auto])
+ 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])
-@@ -739,12 +740,15 @@
+@@ -889,12 +890,15 @@
AC_DEFINE(SHAPE, 1, [Support SHAPE extension])
@@ -51,4 +55,4 @@
+fi
AC_CHECK_FUNC(strcasecmp, [], AC_DEFINE([NEED_STRCASECMP], 1,
- [Do not have `strcasecmp'.]))
+ [Do not have 'strcasecmp'.]))
diff --git a/packages/xorg-xserver/xserver-kdrive/tslib-default-device.patch b/packages/xorg-xserver/xserver-kdrive/tslib-default-device.patch
new file mode 100644
index 0000000000..c1bc49f58e
--- /dev/null
+++ b/packages/xorg-xserver/xserver-kdrive/tslib-default-device.patch
@@ -0,0 +1,15 @@
+Index: xorg-server-1.4/hw/kdrive/linux/tslib.c
+===================================================================
+--- xorg-server-1.4.orig/hw/kdrive/linux/tslib.c 2007-09-08 19:58:08.000000000 +0200
++++ xorg-server-1.4/hw/kdrive/linux/tslib.c 2007-09-08 19:58:09.000000000 +0200
+@@ -121,6 +121,10 @@
+
+ private->raw_event_hook = NULL;
+ private->raw_event_closure = NULL;
++ if (!pi->path) {
++ pi->path = "/dev/input/touchscreen0";
++ ErrorF("[tslib/TslibEnable] no device path given, trying %s\n", pi->path);
++ }
+ private->tsDev = ts_open(pi->path, 0);
+ private->fd = ts_fd(private->tsDev);
+ if (!private->tsDev || ts_config(private->tsDev) || private->fd < 0) {
diff --git a/packages/xorg-xserver/xserver-kdrive/w100-autofoo.patch b/packages/xorg-xserver/xserver-kdrive/w100-autofoo.patch
new file mode 100644
index 0000000000..b53e327dae
--- /dev/null
+++ b/packages/xorg-xserver/xserver-kdrive/w100-autofoo.patch
@@ -0,0 +1,54 @@
+Index: git/hw/kdrive/Makefile.am
+===================================================================
+--- git.orig/hw/kdrive/Makefile.am 2006-09-02 12:12:13.000000000 +0200
++++ git/hw/kdrive/Makefile.am 2006-09-02 12:12:14.000000000 +0200
+@@ -7,6 +7,10 @@
+ FBDEV_SUBDIRS = fbdev epson
+ endif
+
++if KDRIVEW100
++W100_SUBDIRS = w100
++endif
++
+ if XSDLSERVER
+ XSDL_SUBDIRS = sdl
+ endif
+@@ -20,6 +24,7 @@
+ linux \
+ $(XSDL_SUBDIRS) \
+ $(FBDEV_SUBDIRS) \
++ $(W100_SUBDIRS) \
+ $(VESA_SUBDIRS) \
+ $(XEPHYR_SUBDIRS) \
+ fake
+Index: git/configure.ac
+===================================================================
+--- git.orig/configure.ac 2006-09-02 12:12:14.000000000 +0200
++++ git/configure.ac 2006-09-02 12:12:14.000000000 +0200
+@@ -442,6 +442,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(w100, AS_HELP_STRING([--enable-w100], [Build the kdrive Xw100 server (default: no)]), [KDRIVEW100=$enableval], [KDRIVEW100=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)
+@@ -1519,6 +1520,10 @@
+ AC_SUBST([XSDL_LIBS])
+ AC_SUBST([XSDL_INCS])
+
++AM_CONDITIONAL(KDRIVEW100, [test "x$KDRIVEW100" = xyes])
++if test "x$KDRIVEW100" = xyes; then
++ AC_DEFINE(KDRIVEW100, 1, [Build Xw100 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])
+@@ -1753,6 +1758,7 @@
+ hw/kdrive/epson/Makefile
+ hw/kdrive/fake/Makefile
+ hw/kdrive/fbdev/Makefile
++hw/kdrive/w100/Makefile
+ hw/kdrive/i810/Makefile
+ hw/kdrive/linux/Makefile
+ hw/kdrive/mach64/Makefile
diff --git a/packages/xorg-xserver/xserver-kdrive/w100-new-input-world-order.patch b/packages/xorg-xserver/xserver-kdrive/w100-new-input-world-order.patch
new file mode 100644
index 0000000000..239ae0bb67
--- /dev/null
+++ b/packages/xorg-xserver/xserver-kdrive/w100-new-input-world-order.patch
@@ -0,0 +1,28 @@
+Index: xorg-server-1.4/hw/kdrive/w100/ati_stub.c
+===================================================================
+--- xorg-server-1.4.orig/hw/kdrive/w100/ati_stub.c 2007-09-08 21:40:26.000000000 +0200
++++ xorg-server-1.4/hw/kdrive/w100/ati_stub.c 2007-09-08 22:04:27.000000000 +0200
+@@ -74,10 +74,20 @@
+ void
+ InitInput(int argc, char **argv)
+ {
+- KdInitInput(&LinuxMouseFuncs, &LinuxKeyboardFuncs);
+-#ifdef TOUCHSCREEN
+- KdAddMouseDriver(&TsFuncs);
++ KdKeyboardInfo *ki;
++
++ KdAddKeyboardDriver (&LinuxKeyboardDriver);
++ KdAddPointerDriver (&LinuxMouseDriver);
++ KdAddKeyboardDriver (&LinuxEvdevKeyboardDriver);
++ KdAddPointerDriver (&LinuxEvdevMouseDriver);
++#ifdef TSLIB
++ KdAddPointerDriver (&TsDriver);
+ #endif
++
++ ki = KdParseKeyboard ("keyboard");
++ KdAddKeyboard(ki);
++
++ KdInitInput ();
+ }
+
+ void
diff --git a/packages/xorg-xserver/xserver-kdrive/w100.patch b/packages/xorg-xserver/xserver-kdrive/w100.patch
index 9a20fa1f1e..1bb6f357c6 100644
--- a/packages/xorg-xserver/xserver-kdrive/w100.patch
+++ b/packages/xorg-xserver/xserver-kdrive/w100.patch
@@ -6332,57 +6332,4 @@ Index: git/hw/kdrive/w100/w100_regs.h
+
+
+#endif //_W100_REGS_H_
-Index: git/hw/kdrive/Makefile.am
-===================================================================
---- git.orig/hw/kdrive/Makefile.am 2006-09-02 12:12:13.000000000 +0200
-+++ git/hw/kdrive/Makefile.am 2006-09-02 12:12:14.000000000 +0200
-@@ -7,6 +7,10 @@
- FBDEV_SUBDIRS = fbdev epson
- endif
-
-+if KDRIVEW100
-+W100_SUBDIRS = w100
-+endif
-+
- if XSDLSERVER
- XSDL_SUBDIRS = sdl
- endif
-@@ -20,6 +24,7 @@
- linux \
- $(XSDL_SUBDIRS) \
- $(FBDEV_SUBDIRS) \
-+ $(W100_SUBDIRS) \
- $(VESA_SUBDIRS) \
- $(XEPHYR_SUBDIRS) \
- fake
-Index: git/configure.ac
-===================================================================
---- git.orig/configure.ac 2006-09-02 12:12:14.000000000 +0200
-+++ git/configure.ac 2006-09-02 12:12:14.000000000 +0200
-@@ -442,6 +442,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(w100, AS_HELP_STRING([--enable-w100], [Build the kdrive Xw100 server (default: no)]), [KDRIVEW100=$enableval], [KDRIVEW100=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)
-@@ -1519,6 +1520,10 @@
- AC_SUBST([XSDL_LIBS])
- AC_SUBST([XSDL_INCS])
-
-+AM_CONDITIONAL(KDRIVEW100, [test "x$KDRIVEW100" = xyes])
-+if test "x$KDRIVEW100" = xyes; then
-+ AC_DEFINE(KDRIVEW100, 1, [Build Xw100 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])
-@@ -1753,6 +1758,7 @@
- hw/kdrive/epson/Makefile
- hw/kdrive/fake/Makefile
- hw/kdrive/fbdev/Makefile
-+hw/kdrive/w100/Makefile
- hw/kdrive/i810/Makefile
- hw/kdrive/linux/Makefile
- hw/kdrive/mach64/Makefile
+
diff --git a/packages/xorg-xserver/xserver-kdrive/xcalibrate-new-input-world-order.patch b/packages/xorg-xserver/xserver-kdrive/xcalibrate-new-input-world-order.patch
new file mode 100644
index 0000000000..2cc9e60d8d
--- /dev/null
+++ b/packages/xorg-xserver/xserver-kdrive/xcalibrate-new-input-world-order.patch
@@ -0,0 +1,159 @@
+CRUDE HACK ALERT: this patch adds a new device control (DEVICE_RAWEVENT)
+which cannot be exported in the protocol because the xDeviceRaweventCtl
+carries a C pointer to the tslib event hook. For lack of a better idea,
+I added this to get the event hook pointer from Xext/xcalibrate.c into
+tslib.c, where the now-private _raw_event_hook and _raw_event_closure
+pointers are manipulated instead of, like before, in the Xcalibrate
+extension itself.
+
+Index: xorg-server-1.4/Xext/xcalibrate.c
+===================================================================
+--- xorg-server-1.4.orig/Xext/xcalibrate.c 2007-09-08 13:22:55.000000000 +0200
++++ xorg-server-1.4/Xext/xcalibrate.c 2007-09-08 16:03:17.000000000 +0200
+@@ -33,14 +33,14 @@
+ #include "os.h"
+ #include "dixstruct.h"
+ #include "extnsionst.h"
++#include "inputstr.h" /* for inputInfo */
+ #include "swaprep.h"
+
++#include <X11/extensions/XI.h> /* for XI_TOUCHSCREEN */
++#include <X11/extensions/XIproto.h> /* for xDeviceCtl */
+ #include <X11/extensions/xcalibrateproto.h>
+ #include <X11/extensions/xcalibratewire.h>
+
+-extern void (*tslib_raw_event_hook)(int x, int y, int pressure, void *closure);
+-extern void *tslib_raw_event_closure;
+-
+ static CARD8 XCalibrateReqCode;
+ int XCalibrateEventBase;
+ int XCalibrateReqBase;
+@@ -64,6 +64,31 @@
+ WriteEventsToClient (pClient, 1, (xEvent *) &ev);
+ }
+
++#define DEVICE_RAWEVENT 6
++typedef struct {
++ CARD16 control B16;
++ CARD16 length B16;
++ void *hook;
++} xDeviceRaweventCtl;
++
++static void
++xcalibrate_set_event_hook (void *hook, ClientPtr client)
++{
++ DeviceIntPtr devtmp;
++ Atom xiclass;
++ xDeviceRaweventCtl rawevent;
++
++ rawevent.control = DEVICE_RAWEVENT;
++ rawevent.length = sizeof(rawevent);
++ rawevent.hook = hook;
++
++ xiclass = MakeAtom(XI_TOUCHSCREEN, strlen(XI_TOUCHSCREEN), 1);
++
++ for (devtmp = inputInfo.devices; devtmp; devtmp = devtmp->next)
++ if (devtmp->type == xiclass)
++ ChangeDeviceControl(client, devtmp, (xDeviceCtl *) &rawevent);
++}
++
+ static int
+ ProcXCalibrateQueryVersion (ClientPtr client)
+ {
+@@ -124,8 +149,7 @@
+ {
+ /* Start calibrating. */
+ xcalibrate_client = client;
+- tslib_raw_event_hook = xcalibrate_event_hook;
+- tslib_raw_event_closure = client;
++ xcalibrate_set_event_hook(xcalibrate_event_hook, client);
+ rep.status = GrabSuccess;
+ }
+ else
+@@ -139,8 +163,7 @@
+ {
+ /* Stop calibrating. */
+ xcalibrate_client = NULL;
+- tslib_raw_event_hook = NULL;
+- tslib_raw_event_closure = NULL;
++ xcalibrate_set_event_hook(NULL, NULL);
+ rep.status = GrabSuccess;
+
+ /* Cycle input off and on to reload configuration. */
+@@ -277,8 +300,7 @@
+ {
+ /* Stop calibrating. */
+ xcalibrate_client = NULL;
+- tslib_raw_event_hook = NULL;
+- tslib_raw_event_closure = NULL;
++ xcalibrate_set_event_hook(NULL, NULL);
+ }
+ }
+
+Index: xorg-server-1.4/hw/kdrive/linux/tslib.c
+===================================================================
+--- xorg-server-1.4.orig/hw/kdrive/linux/tslib.c 2007-09-08 14:46:41.000000000 +0200
++++ xorg-server-1.4/hw/kdrive/linux/tslib.c 2007-09-08 16:10:57.000000000 +0200
+@@ -56,6 +56,13 @@
+ int phys_screen;
+ };
+
++void
++tslib_set_raw_event_hook(KdPointerInfo *pi, void *hook, void *closure)
++{
++ struct TslibPrivate *private = pi->driverPrivate;
++ private->raw_event_hook = hook;
++ private->raw_event_closure = closure;
++}
+
+ static void
+ TsRead (int fd, void *closure)
+Index: xorg-server-1.4/hw/kdrive/src/kinput.c
+===================================================================
+--- xorg-server-1.4.orig/hw/kdrive/src/kinput.c 2007-09-08 14:45:01.000000000 +0200
++++ xorg-server-1.4/hw/kdrive/src/kinput.c 2007-09-08 16:09:32.000000000 +0200
+@@ -2389,10 +2389,19 @@
+ return BadMatch;
+ }
+
++#define DEVICE_RAWEVENT 6
++typedef struct {
++ CARD16 control B16;
++ CARD16 length B16;
++ void *hook;
++} xDeviceRaweventCtl;
++
+ int
+ ChangeDeviceControl(register ClientPtr client, DeviceIntPtr pDev,
+ xDeviceCtl *control)
+ {
++ KdPointerInfo *pi;
++
+ switch (control->control) {
+ case DEVICE_RESOLUTION:
+ /* FIXME do something more intelligent here */
+@@ -2406,6 +2415,24 @@
+ case DEVICE_ENABLE:
+ return Success;
+
++ case DEVICE_RAWEVENT:
++ if (!pDev)
++ return BadImplementation;
++
++ for (pi = kdPointers; pi; pi = pi->next) {
++ if (pi->dixdev && pi->dixdev->id == pDev->id)
++ break;
++ }
++
++ if (!pi || !pi->dixdev || pi->dixdev->id != pDev->id) {
++ ErrorF("[ChangeDeviceControl] Failed to find pointer for device %d!\n",
++ pDev->id);
++ return BadImplementation;
++ }
++
++ tslib_set_raw_event_hook(pi, ((xDeviceRaweventCtl *)control)->hook, client);
++ return Success;
++
+ default:
+ return BadMatch;
+ }
diff --git a/packages/xorg-xserver/xserver-kdrive/xcalibrate_coords.patch b/packages/xorg-xserver/xserver-kdrive/xcalibrate_coords.patch
new file mode 100644
index 0000000000..7f4ec09d68
--- /dev/null
+++ b/packages/xorg-xserver/xserver-kdrive/xcalibrate_coords.patch
@@ -0,0 +1,122 @@
+---
+ Xext/xcalibrate.c | 47 ++++++++++++++++++++++++++++++++++++++++++++++-
+ hw/kdrive/src/kdrive.h | 3 +++
+ hw/kdrive/src/kinput.c | 12 ++++++++++++
+ 3 files changed, 61 insertions(+), 1 deletion(-)
+
+Index: xorg-server-1.4/Xext/xcalibrate.c
+===================================================================
+--- xorg-server-1.4.orig/Xext/xcalibrate.c 2007-08-23 21:04:52.000000000 +0200
++++ xorg-server-1.4/Xext/xcalibrate.c 2007-09-06 23:27:40.000000000 +0200
+@@ -164,7 +164,6 @@
+ return (client->noClientException);
+ }
+
+-
+ static int
+ SProcXCalibrateSetRawMode (ClientPtr client)
+ {
+@@ -178,6 +177,47 @@
+ return ProcXCalibrateSetRawMode(client);
+ }
+
++static int
++ProcXCalibrateScreenToCoord (ClientPtr client)
++{
++ REQUEST(xXCalibrateScreenToCoordReq);
++ xXCalibrateScreenToCoordReply rep;
++
++ REQUEST_SIZE_MATCH (xXCalibrateScreenToCoordReq);
++
++ memset (&rep, 0, sizeof (rep));
++ rep.type = X_Reply;
++ rep.sequenceNumber = client->sequence;
++ rep.x = stuff->x;
++ rep.y = stuff->y;
++
++ KdScreenToPointerCoords(&rep.x, &rep.y);
++
++ if (client->swapped)
++ {
++ int n;
++
++ swaps (&rep.x, n);
++ swaps (&rep.y, n);
++ }
++ WriteToClient(client, sizeof (rep), (char *) &rep);
++ return (client->noClientException);
++}
++
++static int
++SProcXCalibrateScreenToCoord (ClientPtr client)
++{
++ REQUEST(xXCalibrateScreenToCoordReq);
++ int n;
++
++ REQUEST_SIZE_MATCH (xXCalibrateScreenToCoordReq);
++
++ swaps(&stuff->x, n);
++ swaps(&stuff->y, n);
++
++ return ProcXCalibrateScreenToCoord(client);
++}
++
+ static void
+ XCalibrateResetProc (ExtensionEntry *extEntry)
+ {
+@@ -192,6 +232,9 @@
+ return ProcXCalibrateQueryVersion(client);
+ case X_XCalibrateRawMode:
+ return ProcXCalibrateSetRawMode(client);
++ case X_XCalibrateScreenToCoord:
++ return ProcXCalibrateScreenToCoord(client);
++
+ default: break;
+ }
+
+@@ -211,6 +254,8 @@
+ return SProcXCalibrateQueryVersion(client);
+ case X_XCalibrateRawMode:
+ return SProcXCalibrateSetRawMode(client);
++ case X_XCalibrateScreenToCoord:
++ return SProcXCalibrateScreenToCoord(client);
+
+ default: break;
+ }
+Index: xorg-server-1.4/hw/kdrive/src/kdrive.h
+===================================================================
+--- xorg-server-1.4.orig/hw/kdrive/src/kdrive.h 2007-08-23 21:04:53.000000000 +0200
++++ xorg-server-1.4/hw/kdrive/src/kdrive.h 2007-09-06 23:28:50.000000000 +0200
+@@ -848,6 +848,9 @@
+ KdSetPointerMatrix (KdPointerMatrix *pointer);
+
+ void
++KdScreenToPointerCoords (int *x, int *y);
++
++void
+ KdComputePointerMatrix (KdPointerMatrix *pointer, Rotation randr, int width, int height);
+
+ void
+Index: xorg-server-1.4/hw/kdrive/src/kinput.c
+===================================================================
+--- xorg-server-1.4.orig/hw/kdrive/src/kinput.c 2007-08-23 21:04:53.000000000 +0200
++++ xorg-server-1.4/hw/kdrive/src/kinput.c 2007-09-06 23:30:54.000000000 +0200
+@@ -592,6 +592,18 @@
+ }
+
+ void
++KdScreenToPointerCoords (int *x, int *y)
++{
++ int (*m)[3] = kdPointerMatrix.matrix;
++ int div = m[0][1] * m[1][0] - m[1][1] * m[0][0];
++ int sx = *x;
++ int sy = *y;
++
++ *x = (m[0][1] * sy - m[0][1] * m[1][2] + m[1][1] * m[0][2] - m[1][1] * sx) / div;
++ *y = (m[1][0] * sx + m[0][0] * m[1][2] - m[1][0] * m[0][2] - m[0][0] * sy) / div;
++}
++
++void
+ KdComputePointerMatrix (KdPointerMatrix *m, Rotation randr, int width,
+ int height)
+ {
diff --git a/packages/xorg-xserver/xserver-kdrive_1.2.0.bb b/packages/xorg-xserver/xserver-kdrive_1.2.0.bb
index 052e9e445e..3b5e62c4dd 100644
--- a/packages/xorg-xserver/xserver-kdrive_1.2.0.bb
+++ b/packages/xorg-xserver/xserver-kdrive_1.2.0.bb
@@ -7,11 +7,14 @@ PR = "r9"
SRC_URI = "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \
${KDRIVE_COMMON_PATCHES} \
+ file://enable-epson.patch;patch=1 \
+ file://enable-builtin-fonts.patch;patch=1 \
file://kdrive-evdev.patch;patch=1 \
file://kdrive-use-evdev.patch;patch=1 \
file://disable-xf86-dga-xorgcfg.patch;patch=1 \
file://enable-xcalibrate.patch;patch=1 \
file://w100.patch;patch=1 \
+ file://w100-autofoo.patch;patch=1 \
file://w100-fix-offscreen-bmp.patch;patch=1 \
file://fbcompositesrc8888revnpx0565.patch;patch=1 \
file://xcalibrate_coords.patch;patch=1 \
diff --git a/packages/xorg-xserver/xserver-kdrive_1.3.0.0.bb b/packages/xorg-xserver/xserver-kdrive_1.3.0.0.bb
index 90ae4a9d1f..5f0896f3ed 100644
--- a/packages/xorg-xserver/xserver-kdrive_1.3.0.0.bb
+++ b/packages/xorg-xserver/xserver-kdrive_1.3.0.0.bb
@@ -7,6 +7,8 @@ PR = "r17"
SRC_URI = "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \
${KDRIVE_COMMON_PATCHES} \
+ file://enable-epson.patch;patch=1 \
+ file://enable-builtin-fonts.patch;patch=1 \
file://kdrive-evdev.patch;patch=1 \
file://kdrive-use-evdev.patch;patch=1 \
file://disable-xf86-dga-xorgcfg.patch;patch=1 \
@@ -15,6 +17,7 @@ SRC_URI = "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \
file://hide-cursor-and-ppm-root.patch;patch=1 \
file://xcalibrate_coords.patch;patch=1 \
file://w100.patch;patch=1 \
+ file://w100-autofoo.patch;patch=1 \
file://w100-fix-offscreen-bmp.patch;patch=1 \
"
diff --git a/packages/xorg-xserver/xserver-kdrive_1.4.bb b/packages/xorg-xserver/xserver-kdrive_1.4.bb
new file mode 100644
index 0000000000..87880c9ef8
--- /dev/null
+++ b/packages/xorg-xserver/xserver-kdrive_1.4.bb
@@ -0,0 +1,28 @@
+require xserver-kdrive-common.inc
+
+DEPENDS += "libxkbfile libxcalibrate pixman"
+
+PE = "1"
+
+SRC_URI = "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \
+ ${KDRIVE_COMMON_PATCHES} \
+ file://enable-epson.patch;patch=1 \
+ file://fix_default_mode.patch;patch=1 \
+ file://enable-xcalibrate.patch;patch=1 \
+ file://hide-cursor-and-ppm-root.patch;patch=1 \
+ file://xcalibrate_coords.patch;patch=1 \
+ file://w100.patch;patch=1 \
+ file://w100-autofoo.patch;patch=1 \
+ file://w100-fix-offscreen-bmp.patch;patch=1 \
+ file://w100-new-input-world-order.patch;patch=1 \
+ file://xcalibrate-new-input-world-order.patch;patch=1 \
+ file://tslib-default-device.patch;patch=1 \
+ file://fbdev-evdev.patch;patch=1 \
+ "
+
+S = "${WORKDIR}/xorg-server-${PV}"
+
+W100_OECONF = "--disable-w100"
+W100_OECONF_arm = "--enable-w100"
+
+EXTRA_OECONF += "--enable-builtin-fonts"
diff --git a/packages/xorg-xserver/xserver-kdrive_git.bb b/packages/xorg-xserver/xserver-kdrive_git.bb
index 4e511fe694..ce48c0e0d4 100644
--- a/packages/xorg-xserver/xserver-kdrive_git.bb
+++ b/packages/xorg-xserver/xserver-kdrive_git.bb
@@ -1,47 +1,34 @@
-PV = "1.1.0+git${SRCDATE}"
DEFAULT_PREFERENCE = "-2"
-LICENSE = "MIT"
-DEPENDS = "tslib xproto libxdmcp xextproto xtrans libxau virtual/libx11 libxext libxrandr fixesproto damageproto libxfont resourceproto compositeproto calibrateproto recordproto videoproto scrnsaverproto"
+require xserver-kdrive-common.inc
+PV = "1.4+git${SRCDATE}"
-PROVIDES = "virtual/xserver"
-PACKAGES = "xserver-kdrive-fbdev xserver-kdrive-fake xserver-kdrive-xephyr ${PN}-doc ${PN}-dev ${PN}-locale"
-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"
+DEPENDS += "libxkbfile libxcalibrate pixman"
-FILES_xserver-kdrive-fbdev = "${bindir}/Xfbdev"
-FILES_xserver-kdrive-fake = "${bindir}/Xfake"
-FILES_xserver-kdrive-xephyr = "${bindir}/Xephyr"
+PE = "1"
+FILESPATH = "${FILE_DIRNAME}/xserver-kdrive-git:${FILE_DIRNAME}/xserver-kdrive"
SRC_URI = "git://anongit.freedesktop.org/xorg/xserver;protocol=git \
- 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://optional-xkb.patch;patch=1 \
-# file://disable-xf86-dga-xorgcfg.patch;patch=1 \
- file://enable-tslib.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"
+ ${KDRIVE_COMMON_PATCHES} \
+ file://enable-epson.patch;patch=1 \
+ file://fix_default_mode.patch;patch=1 \
+ file://enable-xcalibrate.patch;patch=1 \
+ file://hide-cursor-and-ppm-root.patch;patch=1 \
+ file://xcalibrate_coords.patch;patch=1 \
+ file://w100.patch;patch=1 \
+ file://w100-autofoo.patch;patch=1 \
+ file://w100-fix-offscreen-bmp.patch;patch=1 \
+ file://w100-new-input-world-order.patch;patch=1 \
+ file://w100-post-1.4-buildfix.patch;patch=1 \
+ file://xcalibrate-new-input-world-order.patch;patch=1 \
+ file://tslib-default-device.patch;patch=1 \
+ file://fbdev-evdev.patch;patch=1 \
+ file://xephyr-post-1.4-buildfix.patch;patch=1 \
+ "
S = "${WORKDIR}/git"
-inherit autotools pkgconfig
+W100_OECONF = "--disable-w100"
+W100_OECONF_arm = "--enable-w100"
-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 \
- --with-default-font-path=built-ins \
- ac_cv_file__usr_share_X11_sgml_defs_ent=no"
+EXTRA_OECONF += "--enable-builtin-fonts"