diff options
Diffstat (limited to 'packages/xorg-xserver')
35 files changed, 932 insertions, 725 deletions
diff --git a/packages/xorg-xserver/xserver-kdrive-1.1.0/.mtn2git_empty b/packages/xorg-xserver/xserver-kdrive-1.1.0/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ 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/xorg-xserver/xserver-kdrive-1.4/.mtn2git_empty b/packages/xorg-xserver/xserver-kdrive-1.4/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ 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" |