diff options
author | Chris Larson <kergoth@openedhand.com> | 2006-08-15 11:58:37 +0000 |
---|---|---|
committer | Chris Larson <kergoth@openedhand.com> | 2006-08-15 11:58:37 +0000 |
commit | ca10363baac7de9581ec90ab47957f973e1dbdc4 (patch) | |
tree | 2000b53f806c79510671d8fd1a6a36125f8b25b3 /meta/packages/xorg-xserver/xserver-kdrive | |
parent | c210d01a7ca8c00ddc45d292878b89086b137129 (diff) | |
download | openembedded-core-ca10363baac7de9581ec90ab47957f973e1dbdc4.tar.gz openembedded-core-ca10363baac7de9581ec90ab47957f973e1dbdc4.tar.bz2 openembedded-core-ca10363baac7de9581ec90ab47957f973e1dbdc4.zip |
Numerous new xorg package versions from upstream OE. Pester me if any local changes got inadvertantly lost, or if any packages need upgrading.
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@607 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/packages/xorg-xserver/xserver-kdrive')
17 files changed, 1948 insertions, 0 deletions
diff --git a/meta/packages/xorg-xserver/xserver-kdrive/build-20050207-against-X11R7.diff b/meta/packages/xorg-xserver/xserver-kdrive/build-20050207-against-X11R7.diff new file mode 100644 index 0000000000..596e498b80 --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-kdrive/build-20050207-against-X11R7.diff @@ -0,0 +1,464 @@ +--- xserver.orig/configure.ac 2006-03-11 16:27:42.000000000 +0100 ++++ xserver/configure.ac 2006-03-11 16:46:51.000000000 +0100 +@@ -79,7 +79,7 @@ + # tslib touchscreen driver + AC_CHECK_HEADERS([tslib.h]) + +-REQUIRED_MODULES="randr render fixesext damageext xextensions xfont xproto xtrans xau" ++REQUIRED_MODULES="randrproto renderproto fixesproto damageproto xextproto xfont xproto xtrans xau" + + DEFAULT_FONT_PATH="/usr/lib/X11/fonts/misc,/usr/lib/X11/fonts/100dpi,/usr/lib/X11/fonts/75dpi" + DEFAULT_VENDOR_STRING="freedesktop.org" +--- xserver.orig/dix/dispatch.c 2006-03-11 16:27:42.000000000 +0100 ++++ xserver/dix/dispatch.c 2006-03-11 16:30:59.000000000 +0100 +@@ -79,7 +79,6 @@ + #endif + + #include "windowstr.h" +-#include "fontstruct.h" + #include "dixfontstr.h" + #include "gcstruct.h" + #include "selection.h" +--- xserver.orig/dix/glyphcurs.c 2006-03-11 16:27:42.000000000 +0100 ++++ xserver/dix/glyphcurs.c 2006-03-11 16:31:57.000000000 +0100 +@@ -51,7 +51,6 @@ + #include <config.h> + #endif + #include "misc.h" +-#include "fontstruct.h" + #include "dixfontstr.h" + #include "scrnintstr.h" + #include "gcstruct.h" +--- xserver.orig/dix/main.c 2006-03-11 16:27:42.000000000 +0100 ++++ xserver/dix/main.c 2006-03-11 16:32:05.000000000 +0100 +@@ -89,7 +89,6 @@ + #include "colormap.h" + #include "colormapst.h" + #include "cursorstr.h" +-#include "font.h" + #include "opaque.h" + #include "servermd.h" + #include "site.h" +--- xserver.orig/dix/swaprep.c 2006-03-11 16:27:42.000000000 +0100 ++++ xserver/dix/swaprep.c 2006-03-11 16:32:24.000000000 +0100 +@@ -57,7 +57,7 @@ + #include <X11/Xproto.h> + #include "misc.h" + #include "dixstruct.h" +-#include "fontstruct.h" ++#include "dixfont.h" + #include "scrnintstr.h" + #include "swaprep.h" + #include "globals.h" +--- xserver.orig/dix/xpstubs.c 2006-03-11 16:27:42.000000000 +0100 ++++ xserver/dix/xpstubs.c 2006-03-11 16:32:34.000000000 +0100 +@@ -31,7 +31,7 @@ + #include <config.h> + #endif + #include "misc.h" +-#include "font.h" ++#include "dixfont.h" + + Bool + XpClientIsBitmapClient(ClientPtr client) +--- xserver.orig/fb/fbglyph.c 2006-03-11 16:27:42.000000000 +0100 ++++ xserver/fb/fbglyph.c 2006-03-11 16:52:01.000000000 +0100 +@@ -26,7 +26,6 @@ + #include <config.h> + #endif + #include "fb.h" +-#include "fontstruct.h" + #include "dixfontstr.h" + + Bool +--- xserver.orig/hw/kdrive/epson/epson13806draw.c 2006-03-11 16:27:42.000000000 +0100 ++++ xserver/hw/kdrive/epson/epson13806draw.c 2006-03-11 16:34:56.000000000 +0100 +@@ -38,7 +38,6 @@ + #include "pixmapstr.h" + #include "regionstr.h" + #include "mistruct.h" +-#include "fontstruct.h" + #include "dixfontstr.h" + #include "fb.h" + #include "migc.h" +--- xserver.orig/hw/kdrive/i810/i810draw.c 2006-03-11 16:27:42.000000000 +0100 ++++ xserver/hw/kdrive/i810/i810draw.c 2006-03-11 16:34:41.000000000 +0100 +@@ -51,7 +51,6 @@ + #include "pixmapstr.h" + #include "regionstr.h" + #include "mistruct.h" +-#include "fontstruct.h" + #include "dixfontstr.h" + #include "fb.h" + #include "migc.h" +--- xserver.orig/hw/kdrive/src/kaa.c 2006-03-11 16:27:42.000000000 +0100 ++++ xserver/hw/kdrive/src/kaa.c 2006-03-11 16:35:39.000000000 +0100 +@@ -29,7 +29,6 @@ + #endif + #include "kdrive.h" + #include "kaa.h" +-#include "fontstruct.h" + #include "dixfontstr.h" + + #define DEBUG_MIGRATE 0 +--- xserver.orig/include/dixfont.h 2006-03-11 16:27:42.000000000 +0100 ++++ xserver/include/dixfont.h 2006-03-11 16:43:25.000000000 +0100 +@@ -27,10 +27,10 @@ + #define DIXFONT_H 1 + + #include "dix.h" +-#include "font.h" +-#include "fontconf.h" ++#include <X11/fonts/font.h> ++#include <X11/fonts/fontconf.h> + #include "closure.h" +-#include "fontstruct.h" ++#include <X11/fonts/fontstruct.h> + + #define NullDIXFontProp ((DIXFontPropPtr)0) + +--- xserver.orig/include/dixfontstr.h 2006-03-11 16:27:42.000000000 +0100 ++++ xserver/include/dixfontstr.h 2006-03-11 16:43:31.000000000 +0100 +@@ -27,7 +27,6 @@ + + #include "servermd.h" + #include "dixfont.h" +-#include "fontstruct.h" + #include "closure.h" + #define NEED_REPLIES + #include "X11/Xproto.h" /* for xQueryFontReply */ +--- xserver.orig/mi/mibstore.c 2006-03-11 16:27:42.000000000 +0100 ++++ xserver/mi/mibstore.c 2006-03-11 16:36:26.000000000 +0100 +@@ -57,7 +57,6 @@ + #include "gcstruct.h" + #include "windowstr.h" + #include "pixmapstr.h" +-#include "fontstruct.h" + #include "dixfontstr.h" + #include "dixstruct.h" /* For requestingClient */ + #include "mi.h" +--- xserver.orig/mi/miglblt.c 2006-03-11 16:27:42.000000000 +0100 ++++ xserver/mi/miglblt.c 2006-03-11 16:53:52.000000000 +0100 +@@ -55,7 +55,6 @@ + #include <X11/Xmd.h> + #include <X11/Xproto.h> + #include "misc.h" +-#include "fontstruct.h" + #include "dixfontstr.h" + #include "gcstruct.h" + #include "windowstr.h" +--- xserver.orig/mi/mi.h 2006-03-11 16:27:42.000000000 +0100 ++++ xserver/mi/mi.h 2006-03-11 16:36:16.000000000 +0100 +@@ -54,7 +54,7 @@ + #include "validate.h" + #include "window.h" + #include "gc.h" +-#include "font.h" ++#include "dixfont.h" + #include "input.h" + #include "cursor.h" + +--- xserver.orig/mi/miinitext.c 2006-03-11 16:27:42.000000000 +0100 ++++ xserver/mi/miinitext.c 2006-03-11 16:36:41.000000000 +0100 +@@ -54,6 +54,8 @@ + #include "extension.h" + #include "micmap.h" + #include "xext.h" ++#include "pixmap.h" ++#include "gc.h" + + #ifdef NOPEXEXT /* sleaze for Solaris cpp building XsunMono */ + #undef PEXEXT +--- xserver.orig/mi/mipolytext.c 2006-03-11 16:27:42.000000000 +0100 ++++ xserver/mi/mipolytext.c 2006-03-11 16:36:48.000000000 +0100 +@@ -63,7 +63,6 @@ + #include <X11/Xproto.h> + #include "misc.h" + #include "gcstruct.h" +-#include "fontstruct.h" + #include "dixfontstr.h" + #include "mi.h" + +--- xserver.orig/mi/misprite.c 2006-03-11 16:27:42.000000000 +0100 ++++ xserver/mi/misprite.c 2006-03-11 16:37:00.000000000 +0100 +@@ -42,7 +42,6 @@ + # include "input.h" + # include "mi.h" + # include "cursorstr.h" +-# include "font.h" + # include "scrnintstr.h" + # include "colormapst.h" + # include "windowstr.h" +@@ -50,7 +49,6 @@ + # include "mipointer.h" + # include "mispritest.h" + # include "dixfontstr.h" +-# include "fontstruct.h" + #ifdef RENDER + # include "mipict.h" + #endif +--- xserver.orig/miext/damage/damage.c 2006-03-11 16:27:42.000000000 +0100 ++++ xserver/miext/damage/damage.c 2006-03-11 16:37:17.000000000 +0100 +@@ -28,9 +28,7 @@ + #include <X11/X.h> + #include "scrnintstr.h" + #include "windowstr.h" +-#include "font.h" + #include "dixfontstr.h" +-#include "fontstruct.h" + #include "mi.h" + #include "regionstr.h" + #include "globals.h" +--- xserver.orig/miext/shadow/shadow.c 2006-03-11 16:27:42.000000000 +0100 ++++ xserver/miext/shadow/shadow.c 2006-03-11 16:38:13.000000000 +0100 +@@ -29,9 +29,7 @@ + #include <X11/X.h> + #include "scrnintstr.h" + #include "windowstr.h" +-#include "font.h" + #include "dixfontstr.h" +-#include "fontstruct.h" + #include "mi.h" + #include "regionstr.h" + #include "globals.h" +--- xserver.orig/miext/shadow/shalloc.c 2006-03-11 16:27:42.000000000 +0100 ++++ xserver/miext/shadow/shalloc.c 2006-03-11 16:38:25.000000000 +0100 +@@ -29,9 +29,7 @@ + #include <X11/X.h> + #include "scrnintstr.h" + #include "windowstr.h" +-#include "font.h" + #include "dixfontstr.h" +-#include "fontstruct.h" + #include "mi.h" + #include "regionstr.h" + #include "globals.h" +--- xserver.orig/miext/shadow/shpacked.c 2006-03-11 16:27:42.000000000 +0100 ++++ xserver/miext/shadow/shpacked.c 2006-03-11 16:38:33.000000000 +0100 +@@ -28,9 +28,7 @@ + #include <X11/X.h> + #include "scrnintstr.h" + #include "windowstr.h" +-#include "font.h" + #include "dixfontstr.h" +-#include "fontstruct.h" + #include "mi.h" + #include "regionstr.h" + #include "globals.h" +--- xserver.orig/miext/shadow/shplanar8.c 2006-03-11 16:27:42.000000000 +0100 ++++ xserver/miext/shadow/shplanar8.c 2006-03-11 16:38:44.000000000 +0100 +@@ -28,9 +28,7 @@ + #include <X11/X.h> + #include "scrnintstr.h" + #include "windowstr.h" +-#include "font.h" + #include "dixfontstr.h" +-#include "fontstruct.h" + #include "mi.h" + #include "regionstr.h" + #include "globals.h" +--- xserver.orig/miext/shadow/shplanar.c 2006-03-11 16:27:42.000000000 +0100 ++++ xserver/miext/shadow/shplanar.c 2006-03-11 16:38:39.000000000 +0100 +@@ -28,9 +28,7 @@ + #include <X11/X.h> + #include "scrnintstr.h" + #include "windowstr.h" +-#include "font.h" + #include "dixfontstr.h" +-#include "fontstruct.h" + #include "mi.h" + #include "regionstr.h" + #include "globals.h" +--- xserver.orig/miext/shadow/shrotate.c 2006-03-11 16:27:42.000000000 +0100 ++++ xserver/miext/shadow/shrotate.c 2006-03-11 16:38:56.000000000 +0100 +@@ -28,9 +28,7 @@ + #include <X11/X.h> + #include "scrnintstr.h" + #include "windowstr.h" +-#include "font.h" + #include "dixfontstr.h" +-#include "fontstruct.h" + #include "mi.h" + #include "regionstr.h" + #include "globals.h" +--- xserver.orig/miext/shadow/shrotpack.h 2006-03-11 16:27:42.000000000 +0100 ++++ xserver/miext/shadow/shrotpack.h 2006-03-11 16:39:02.000000000 +0100 +@@ -30,9 +30,7 @@ + #include <X11/X.h> + #include "scrnintstr.h" + #include "windowstr.h" +-#include "font.h" + #include "dixfontstr.h" +-#include "fontstruct.h" + #include "mi.h" + #include "regionstr.h" + #include "globals.h" +--- xserver.orig/miext/shadow/shrotpackYX.h 2006-03-11 16:27:42.000000000 +0100 ++++ xserver/miext/shadow/shrotpackYX.h 2006-03-11 16:39:08.000000000 +0100 +@@ -25,9 +25,7 @@ + #include <X11/X.h> + #include "scrnintstr.h" + #include "windowstr.h" +-#include "font.h" + #include "dixfontstr.h" +-#include "fontstruct.h" + #include "mi.h" + #include "regionstr.h" + #include "globals.h" +--- xserver.orig/os/xstrans.c 2006-03-11 16:27:42.000000000 +0100 ++++ xserver/os/xstrans.c 2006-03-11 16:39:31.000000000 +0100 +@@ -27,4 +27,4 @@ + + #include "config.h" + +-#include <transport.c> ++#include <X11/Xtrans/transport.c> +--- xserver.orig/os/xstrans.h 2006-03-11 16:27:42.000000000 +0100 ++++ xserver/os/xstrans.h 2006-03-11 16:39:37.000000000 +0100 +@@ -25,4 +25,4 @@ + #define XSERV_t + #define TRANS_SERVER + +-#include <Xtrans.h> ++#include <X11/Xtrans/Xtrans.h> +--- xserver.orig/Xext/shmint.h 2006-03-11 16:27:42.000000000 +0100 ++++ xserver/Xext/shmint.h 2006-03-11 16:29:24.000000000 +0100 +@@ -32,27 +32,6 @@ + #include "pixmap.h" + #include "gc.h" + +-typedef struct _ShmFuncs { +- PixmapPtr (* CreatePixmap)(ScreenPtr pScreen, +- int width, +- int height, +- int depth, +- char *addr); +- void (* PutImage)(DrawablePtr dst, +- GCPtr pGC, +- int depth, +- unsigned int format, +- int w, +- int h, +- int sx, +- int sy, +- int sw, +- int sh, +- int dx, +- int dy, +- char *data); +-} ShmFuncs, *ShmFuncsPtr; +- + void + ShmRegisterFuncs(ScreenPtr pScreen, ShmFuncsPtr funcs); + +--- xserver.orig/Xext/syncint.h 2006-03-11 16:27:42.000000000 +0100 ++++ xserver/Xext/syncint.h 2006-03-11 16:30:16.000000000 +0100 +@@ -48,7 +48,7 @@ + PERFORMANCE OF THIS SOFTWARE. + + ******************************************************************/ +-/* $Id: syncint.h,v 3.1 2003-11-02 19:56:10 keithp Exp $ */ ++/* $Id: syncint.h,v 3.2 2005-04-20 18:42:31 clee Exp $ */ + + #ifndef _SYNCINT_H_ + #define _SYNCINT_H_ +@@ -57,26 +57,10 @@ + + #define CARD64 XSyncValue /* XXX temporary! need real 64 bit values for Alpha */ + +-typedef struct _SyncCounter { +- ClientPtr client; /* Owning client. 0 for system counters */ +- XSyncCounter id; /* resource ID */ +- CARD64 value; /* counter value */ +- struct _SyncTriggerList *pTriglist; /* list of triggers */ +- Bool beingDestroyed; /* in process of going away */ +- struct _SysCounterInfo *pSysCounterInfo; /* NULL if not a system counter */ +-} SyncCounter; +- + /* + * The System Counter interface + */ + +-typedef enum { +- XSyncCounterNeverChanges, +- XSyncCounterNeverIncreases, +- XSyncCounterNeverDecreases, +- XSyncCounterUnrestricted +-} SyncCounterType; +- + typedef void + (*SyncQueryValueProcPtr) (pointer pCounter, + CARD64 *freshvalue); +@@ -86,16 +70,6 @@ + CARD64 *lessthan, + CARD64 *greaterthan); + +-typedef struct _SysCounterInfo { +- char *name; +- CARD64 resolution; +- CARD64 bracket_greater; +- CARD64 bracket_less; +- SyncCounterType counterType; /* how can this counter change */ +- SyncQueryValueProcPtr QueryValue; +- SyncBracketValuesProcPtr BracketValues; +-} SysCounterInfo; +- + struct _SyncTrigger; + + typedef Bool +@@ -108,55 +82,6 @@ + typedef void + (*SyncCounterDestroyedProcPtr) (struct _SyncTrigger *pTrigger); + +-typedef struct _SyncTrigger { +- SyncCounter *pCounter; +- CARD64 wait_value; /* wait value */ +- unsigned int value_type; /* Absolute or Relative */ +- unsigned int test_type; /* transition or Comparision type */ +- CARD64 test_value; /* trigger event threshold value */ +- SyncCheckTriggerProcPtr CheckTrigger; +- SyncTriggerFiredProcPtr TriggerFired; +- SyncCounterDestroyedProcPtr CounterDestroyed; +-} SyncTrigger; +- +-typedef struct _SyncTriggerList { +- SyncTrigger *pTrigger; +- struct _SyncTriggerList *next; +-} SyncTriggerList; +- +-typedef struct _SyncAlarmClientList { +- ClientPtr client; +- XID delete_id; +- struct _SyncAlarmClientList *next; +-} SyncAlarmClientList; +- +-typedef struct _SyncAlarm { +- SyncTrigger trigger; +- ClientPtr client; +- XSyncAlarm alarm_id; +- CARD64 delta; +- int events; +- int state; +- SyncAlarmClientList *pEventClients; +-} SyncAlarm; +- +-typedef struct { +- ClientPtr client; +- CARD32 delete_id; +- int num_waitconditions; +-} SyncAwaitHeader; +- +-typedef struct { +- SyncTrigger trigger; +- CARD64 event_threshold; +- SyncAwaitHeader *pHeader; +-} SyncAwait; +- +-typedef union { +- SyncAwaitHeader header; +- SyncAwait await; +-} SyncAwaitUnion; +- + pointer + SyncCreateSystemCounter(char *name, + CARD64 inital_value, diff --git a/meta/packages/xorg-xserver/xserver-kdrive/devfs.patch b/meta/packages/xorg-xserver/xserver-kdrive/devfs.patch new file mode 100644 index 0000000000..a6238126c0 --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-kdrive/devfs.patch @@ -0,0 +1,47 @@ + +# +# 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/meta/packages/xorg-xserver/xserver-kdrive/disable-apm.patch b/meta/packages/xorg-xserver/xserver-kdrive/disable-apm.patch new file mode 100644 index 0000000000..bd8842721b --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-kdrive/disable-apm.patch @@ -0,0 +1,20 @@ +--- xserver/hw/kdrive/linux/linux.c.orig 2005-04-23 15:56:13.988849232 +0000 ++++ xserver/hw/kdrive/linux/linux.c 2005-04-23 15:57:05.001094192 +0000 +@@ -342,7 +342,7 @@ + /* + * Open the APM driver + */ +- LinuxApmFd = open ("/dev/apm_bios", 2); ++ /*LinuxApmFd = open ("/dev/apm_bios", 2); + if (LinuxApmFd < 0 && errno == ENOENT) + LinuxApmFd = open ("/dev/misc/apm_bios", 2); + if (LinuxApmFd >= 0) +@@ -352,7 +352,7 @@ + RegisterBlockAndWakeupHandlers (LinuxApmBlock, LinuxApmWakeup, 0); + AddEnabledDevice (LinuxApmFd); + } +- ++ */ + /* + * now get the VT + */ diff --git a/meta/packages/xorg-xserver/xserver-kdrive/disable-xf86-dga-xorgcfg.patch b/meta/packages/xorg-xserver/xserver-kdrive/disable-xf86-dga-xorgcfg.patch new file mode 100644 index 0000000000..9c43e52ead --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-kdrive/disable-xf86-dga-xorgcfg.patch @@ -0,0 +1,37 @@ +--- git/configure.ac.orig 2006-05-22 22:40:00.000000000 +0200 ++++ git/configure.ac 2006-06-10 15:10:14.000000000 +0200 +@@ -505,7 +505,11 @@ + XEXTXORG_LIB='$(top_builddir)/Xext/libXextbuiltin.la' + + dnl Core modules for most extensions, et al. ++if test "$KDRIVE" = yes; then ++REQUIRED_MODULES="randrproto renderproto [fixesproto >= 4.0] damageproto xcmiscproto xextproto xproto xtrans xf86bigfontproto [scrnsaverproto >= 1.1] bigreqsproto resourceproto fontsproto inputproto" ++else + REQUIRED_MODULES="randrproto renderproto [fixesproto >= 4.0] damageproto xcmiscproto xextproto xproto xtrans xf86miscproto xf86vidmodeproto xf86bigfontproto [scrnsaverproto >= 1.1] bigreqsproto resourceproto fontsproto inputproto xf86dgaproto" ++fi + REQUIRED_LIBS="xfont xau fontenc" + + AM_CONDITIONAL(XV, [test "x$XV" = xyes]) +@@ -1514,7 +1526,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]) + + dnl CYGWIN does not define fd_set if _POSIX_SOURCE is defined +@@ -1534,10 +1548,12 @@ + + AC_DEFINE_DIR(PROJECTROOT, prefix, [Overall prefix]) + ++if test ! "x$KDRIVE" = xyes ; then + dnl xorgconfig CLI configuration utility + PKG_CHECK_MODULES([XORGCONFIG_DEP], [xkbfile x11]) + AC_SUBST(XORGCONFIG_DEP_CFLAGS) + AC_SUBST(XORGCONFIG_DEP_LIBS) ++fi + + dnl xorgcfg GUI configuration utility + AC_ARG_ENABLE(xorgcfg, AS_HELP_STRING([--enable-xorgcfg], diff --git a/meta/packages/xorg-xserver/xserver-kdrive/enable-builtin-fonts.patch b/meta/packages/xorg-xserver/xserver-kdrive/enable-builtin-fonts.patch new file mode 100644 index 0000000000..13a6c2c954 --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-kdrive/enable-builtin-fonts.patch @@ -0,0 +1,12 @@ +--- xorg-server-X11R7.1-1.1.0/dix/dixfonts.c.orig 2006-06-08 14:49:12.158684250 +0200 ++++ xorg-server-X11R7.1-1.1.0/dix/dixfonts.c 2006-06-08 14:49:52.493205000 +0200 +@@ -52,8 +52,8 @@ + /* $Xorg: dixfonts.c,v 1.4 2000/08/17 19:48:18 cpqbld Exp $ */ + + #define NEED_REPLIES + #ifdef HAVE_DIX_CONFIG_H +-#include <dix-config.h> ++#include <kdrive-config.h> + #endif + + #include <X11/X.h> diff --git a/meta/packages/xorg-xserver/xserver-kdrive/enable-tslib.patch b/meta/packages/xorg-xserver/xserver-kdrive/enable-tslib.patch new file mode 100644 index 0000000000..e488657b74 --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-kdrive/enable-tslib.patch @@ -0,0 +1,23 @@ +--- git/configure.ac.orig 2006-05-22 22:40:00.000000000 +0200 ++++ git/configure.ac 2006-06-10 15:10:14.000000000 +0200 +@@ -1438,6 +1446,10 @@ + fi + +- # tslib... ++ AC_CHECK_HEADERS([tslib.h]) ++ if test "$ac_cv_header_tslib_h" = yes; then ++ AC_DEFINE(TSLIB, 1, [Build kdrive with tslib support]) ++ AC_DEFINE(TOUCHSCREEN, 1, [Build kdrive with touchscreen support]) ++ fi + + # damage shadow extension glx (NOTYET) fb mi + KDRIVE_INC='-I$(top_srcdir)/hw/kdrive/src' +@@ -1467,7 +1479,7 @@ + AC_SUBST(KDRIVE_CFLAGS) + AC_SUBST(KDRIVE_PURE_LIBS) + AC_SUBST(KDRIVE_LIBS) +-AM_CONDITIONAL(TSLIB, false) ++AM_CONDITIONAL(TSLIB, [test x"$ac_cv_header_tslib_h" = xyes]) + AM_CONDITIONAL(H3600_TS, false) + AM_CONDITIONAL(KDRIVEVESA, [test x"$ac_cv_header_sys_vm86_h" = xyes]) + AM_CONDITIONAL(KDRIVEFBDEV, [test x"$ac_cv_header_linux_fb_h" = xyes]) diff --git a/meta/packages/xorg-xserver/xserver-kdrive/epson.patch b/meta/packages/xorg-xserver/xserver-kdrive/epson.patch new file mode 100644 index 0000000000..07009bdc40 --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-kdrive/epson.patch @@ -0,0 +1,11 @@ +--- xserver.orig/hw/kdrive/epson/epson13806stub.c 2004-10-20 10:20:51.000000000 +0200 ++++ xserver/hw/kdrive/epson/epson13806stub.c 2005-03-17 14:38:22.000000000 +0100 +@@ -55,7 +55,7 @@ + { + KdInitInput (&LinuxMouseFuncs, &LinuxKeyboardFuncs); + #ifdef TOUCHSCREEN +- KdInitTouchScreen (&TsFuncs); ++ KdAddMouseDriver (&TsFuncs); + #endif + } + diff --git a/meta/packages/xorg-xserver/xserver-kdrive/faster-rotated.patch b/meta/packages/xorg-xserver/xserver-kdrive/faster-rotated.patch new file mode 100644 index 0000000000..eaf7ddec36 --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-kdrive/faster-rotated.patch @@ -0,0 +1,241 @@ +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/meta/packages/xorg-xserver/xserver-kdrive/fbdev-not-fix.patch b/meta/packages/xorg-xserver/xserver-kdrive/fbdev-not-fix.patch new file mode 100644 index 0000000000..f87e7cc2cd --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-kdrive/fbdev-not-fix.patch @@ -0,0 +1,14 @@ +--- xserver/hw/kdrive/fbdev/fbdev.c~ 2004-09-15 00:08:10.000000000 +0100 ++++ xserver/hw/kdrive/fbdev/fbdev.c 2004-11-13 17:47:02.000000000 +0000 +@@ -198,6 +198,11 @@ + return FALSE; + } + ++ /* Re-get the "fixed" parameters since they might have changed */ ++ k = ioctl (priv->fd, FBIOGET_FSCREENINFO, &priv->fix); ++ if (k < 0) ++ perror ("FBIOGET_FSCREENINFO"); ++ + /* Now get the new screeninfo */ + ioctl (priv->fd, FBIOGET_VSCREENINFO, &priv->var); + depth = priv->var.bits_per_pixel; diff --git a/meta/packages/xorg-xserver/xserver-kdrive/kdrive-evdev.patch b/meta/packages/xorg-xserver/xserver-kdrive/kdrive-evdev.patch new file mode 100644 index 0000000000..2dc22bf50e --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-kdrive/kdrive-evdev.patch @@ -0,0 +1,515 @@ +# Kdrive evdev support patch, posted by Ander Conselvan de Oliveira at +# http://lists.freedesktop.org/archives/xorg/2005-December/011635.html +diff -u -r --exclude=CVS --exclude=Makefile --exclude='*.o' --exclude=ephyr --exclude='*.Po' xserver.original/hw/kdrive/linux/evdev.c xserver/hw/kdrive/linux/evdev.c +--- xserver.original/hw/kdrive/linux/evdev.c 2005-12-16 10:36:05.000000000 -0200 ++++ xserver/hw/kdrive/linux/evdev.c 2005-12-16 10:40:51.077410192 -0200 +@@ -31,9 +31,11 @@ + #include <X11/X.h> + #include <X11/Xproto.h> + #include <X11/Xpoll.h> ++#include <X11/keysym.h> + #include "inputstr.h" + #include "scrnintstr.h" + #include "kdrive.h" ++#include "kkeymap.h" + + #define NUM_EVENTS 128 + #define ABS_UNSET -65535 +@@ -105,9 +107,10 @@ + { + KdMouseInfo *mi = closure; + Kevdev *ke = mi->driver; +- int i; ++ int i, j; + struct input_event events[NUM_EVENTS]; + int n; ++ int flags; + + n = read (evdevPort, &events, NUM_EVENTS * sizeof (struct input_event)); + if (n <= 0) +@@ -115,22 +118,64 @@ + n /= sizeof (struct input_event); + for (i = 0; i < n; i++) + { ++ flags = KD_MOUSE_DELTA | kdMouseInfo->buttonState; + switch (events[i].type) { + case EV_SYN: + break; + case EV_KEY: +- EvdevMotion (mi); +- ASSIGNBIT(ke->key,events[i].code, events[i].value); +- if (events[i].code < 0x100) +- ErrorF ("key %d %d\n", events[i].code, events[i].value); +- else +- ErrorF ("key 0x%x %d\n", events[i].code, events[i].value); ++ if (events[i].code >= BTN_MOUSE && events[i].code < BTN_JOYSTICK) { ++ switch (events[i].code) { ++ case BTN_LEFT: ++ if (events[i].value == 1) ++ flags |= KD_BUTTON_1; ++ else ++ flags &= ~KD_BUTTON_1; ++ break; ++ case BTN_MIDDLE: ++ if (events[i].value == 1) ++ flags |= KD_BUTTON_2; ++ else ++ flags &= ~KD_BUTTON_2; ++ break; ++ case BTN_RIGHT: ++ if (events[i].value == 1) ++ flags |= KD_BUTTON_3; ++ else ++ flags &= ~KD_BUTTON_3; ++ break; ++ default: ++ /* Unknow button */ ++ break; ++ } ++ KdEnqueueMouseEvent (kdMouseInfo, flags, 0, 0); ++ } + break; + case EV_REL: +- ke->rel[events[i].code] += events[i].value; ++ if (events[i].code == REL_X) { ++ KdEnqueueMouseEvent (kdMouseInfo, flags, events[i].value, 0); ++ } ++ else if (events[i].code == REL_Y) { ++ KdEnqueueMouseEvent (kdMouseInfo, flags, 0, events[i].value); ++ } ++ else if (events[i].code == REL_WHEEL) { ++ for (j = 0; j < abs (events[i].value); j++) { ++ if (events[i].value > 0) ++ flags |= KD_BUTTON_4; ++ else ++ flags |= KD_BUTTON_5; ++ ++ KdEnqueueMouseEvent (kdMouseInfo, flags, 0, 0); ++ ++ if (events[i].value > 0) ++ flags &= ~KD_BUTTON_4; ++ else ++ flags &= ~KD_BUTTON_5; ++ ++ KdEnqueueMouseEvent (kdMouseInfo, flags, 0, 0); ++ } /* events[i].code == REL_WHEEL */ ++ } + break; + case EV_ABS: +- ke->abs[events[i].code] = events[i].value; + break; + } + } +@@ -173,6 +218,12 @@ + fd = open (kdefaultEvdev[i], 2); + if (fd >= 0) + { ++ if (ioctl (fd, EVIOCGRAB, 1) < 0) ++ { ++ close (fd); ++ continue; ++ } ++ + mi->name = KdSaveString (kdefaultEvdev[i]); + break; + } +@@ -287,7 +338,319 @@ + EvdevFini, + }; + +-#if 0 ++/* Keyboard */ ++ ++int kbd_fd = -1; ++int EvdevInputType = 0; ++ ++KeySym evdevKeymap[(194 - 1 + 1) * 2] = { ++/* These are directly mapped from DOS scanset 0 */ ++/* 1 8 */ XK_Escape, NoSymbol, ++/* 2 9 */ XK_1, XK_exclam, ++/* 3 10 */ XK_2, XK_at, ++/* 4 11 */ XK_3, XK_numbersign, ++/* 5 12 */ XK_4, XK_dollar, ++/* 6 13 */ XK_5, XK_percent, ++/* 7 14 */ XK_6, XK_asciicircum, ++/* 8 15 */ XK_7, XK_ampersand, ++/* 9 16 */ XK_8, XK_asterisk, ++/* 10 17 */ XK_9, XK_parenleft, ++/* 11 18 */ XK_0, XK_parenright, ++/* 12 19 */ XK_minus, XK_underscore, ++/* 13 20 */ XK_equal, XK_plus, ++/* 14 21 */ XK_BackSpace, NoSymbol, ++/* 15 22 */ XK_Tab, NoSymbol, ++/* 16 23 */ XK_Q, NoSymbol, ++/* 17 24 */ XK_W, NoSymbol, ++/* 18 25 */ XK_E, NoSymbol, ++/* 19 26 */ XK_R, NoSymbol, ++/* 20 27 */ XK_T, NoSymbol, ++/* 21 28 */ XK_Y, NoSymbol, ++/* 22 29 */ XK_U, NoSymbol, ++/* 23 30 */ XK_I, NoSymbol, ++/* 24 31 */ XK_O, NoSymbol, ++/* 25 32 */ XK_P, NoSymbol, ++/* 26 33 */ XK_bracketleft, XK_braceleft, ++/* 27 34 */ XK_bracketright, XK_braceright, ++/* 28 35 */ XK_Return, NoSymbol, ++/* 29 36 */ XK_Control_L, NoSymbol, ++/* 30 37 */ XK_A, NoSymbol, ++/* 31 38 */ XK_S, NoSymbol, ++/* 32 39 */ XK_D, NoSymbol, ++/* 33 40 */ XK_F, NoSymbol, ++/* 34 41 */ XK_G, NoSymbol, ++/* 35 42 */ XK_H, NoSymbol, ++/* 36 43 */ XK_J, NoSymbol, ++/* 37 44 */ XK_K, NoSymbol, ++/* 38 45 */ XK_L, NoSymbol, ++/* 39 46 */ XK_semicolon, XK_colon, ++/* 40 47 */ XK_apostrophe, XK_quotedbl, ++/* 41 48 */ XK_grave, XK_asciitilde, ++/* 42 49 */ XK_Shift_L, NoSymbol, ++/* 43 50 */ XK_backslash, XK_bar, ++/* 44 51 */ XK_Z, NoSymbol, ++/* 45 52 */ XK_X, NoSymbol, ++/* 46 53 */ XK_C, NoSymbol, ++/* 47 54 */ XK_V, NoSymbol, ++/* 48 55 */ XK_B, NoSymbol, ++/* 49 56 */ XK_N, NoSymbol, ++/* 50 57 */ XK_M, NoSymbol, ++/* 51 58 */ XK_comma, XK_less, ++/* 52 59 */ XK_period, XK_greater, ++/* 53 60 */ XK_slash, XK_question, ++/* 54 61 */ XK_Shift_R, NoSymbol, ++/* 55 62 */ XK_KP_Multiply, NoSymbol, ++/* 56 63 */ XK_Alt_L, XK_Meta_L, ++/* 57 64 */ XK_space, NoSymbol, ++/* 58 65 */ XK_Caps_Lock, NoSymbol, ++/* 59 66 */ XK_F1, NoSymbol, ++/* 60 67 */ XK_F2, NoSymbol, ++/* 61 68 */ XK_F3, NoSymbol, ++/* 62 69 */ XK_F4, NoSymbol, ++/* 63 70 */ XK_F5, NoSymbol, ++/* 64 71 */ XK_F6, NoSymbol, ++/* 65 72 */ XK_F7, NoSymbol, ++/* 66 73 */ XK_F8, NoSymbol, ++/* 67 74 */ XK_F9, NoSymbol, ++/* 68 75 */ XK_F10, NoSymbol, ++/* 69 76 */ XK_Break, XK_Pause, ++/* 70 77 */ XK_Scroll_Lock, NoSymbol, ++/* 71 78 */ XK_KP_Home, XK_KP_7, ++/* 72 79 */ XK_KP_Up, XK_KP_8, ++/* 73 80 */ XK_KP_Page_Up, XK_KP_9, ++/* 74 81 */ XK_KP_Subtract, NoSymbol, ++/* 75 82 */ XK_KP_Left, XK_KP_4, ++/* 76 83 */ XK_KP_5, NoSymbol, ++/* 77 84 */ XK_KP_Right, XK_KP_6, ++/* 78 85 */ XK_KP_Add, NoSymbol, ++/* 79 86 */ XK_KP_End, XK_KP_1, ++/* 80 87 */ XK_KP_Down, XK_KP_2, ++/* 81 88 */ XK_KP_Page_Down, XK_KP_3, ++/* 82 89 */ XK_KP_Insert, XK_KP_0, ++/* 83 90 */ XK_KP_Delete, XK_KP_Decimal, ++/* 84 91 */ NoSymbol, NoSymbol, ++/* 85 92 */ NoSymbol, NoSymbol, ++/* 86 93 */ NoSymbol, NoSymbol, ++/* 87 94 */ XK_F11, NoSymbol, ++/* 88 95 */ XK_F12, NoSymbol, ++ ++/* These are remapped from the extended set (using ExtendMap) */ ++ ++/* 89 96 */ XK_Control_R, NoSymbol, ++/* 90 97 */ XK_KP_Enter, NoSymbol, ++/* 91 98 */ XK_KP_Divide, NoSymbol, ++/* 92 99 */ XK_Sys_Req, XK_Print, ++/* 93 100 */ XK_Alt_R, XK_Meta_R, ++/* 94 101 */ XK_Num_Lock, NoSymbol, ++/* 95 102 */ XK_Home, NoSymbol, ++/* 96 103 */ XK_Up, NoSymbol, ++/* 97 104 */ XK_Page_Up, NoSymbol, ++/* 98 105 */ XK_Left, NoSymbol, ++/* 99 106 */ XK_Right, NoSymbol, ++/* 100 107 */ XK_End, NoSymbol, ++/* 101 108 */ XK_Down, NoSymbol, ++/* 102 109 */ XK_Page_Down, NoSymbol, ++/* 103 110 */ XK_Insert, NoSymbol, ++/* 104 111 */ XK_Delete, NoSymbol, ++/* 105 112 */ XK_Super_L, NoSymbol, ++/* 106 113 */ XK_Super_R, NoSymbol, ++/* 107 114 */ XK_Menu, NoSymbol, ++/* 108 115 */ NoSymbol, NoSymbol, ++/* 109 116 */ NoSymbol, NoSymbol, ++/* 110 117 */ NoSymbol, NoSymbol, ++/* 111 118 */ NoSymbol, NoSymbol, ++/* 112 119 */ NoSymbol, NoSymbol, ++ ++/* 113 120 */ NoSymbol, NoSymbol, ++/* 114 121 */ NoSymbol, NoSymbol, ++/* 115 122 */ NoSymbol, NoSymbol, ++/* 116 123 */ NoSymbol, NoSymbol, ++/* 117 124 */ NoSymbol, NoSymbol, ++/* 118 125 */ NoSymbol, NoSymbol, ++/* 119 126 */ NoSymbol, NoSymbol, ++/* 120 127 */ NoSymbol, NoSymbol, ++/* 121 128 */ NoSymbol, NoSymbol, ++/* 122 129 */ NoSymbol, NoSymbol, ++/* 123 130 */ NoSymbol, NoSymbol, ++/* 124 131 */ NoSymbol, NoSymbol, ++/* 125 132 */ NoSymbol, NoSymbol, ++/* 126 133 */ NoSymbol, NoSymbol, ++/* 127 134 */ NoSymbol, NoSymbol, ++/* 128 135 */ NoSymbol, NoSymbol, ++/* 129 136 */ NoSymbol, NoSymbol, ++/* 130 137 */ NoSymbol, NoSymbol, ++/* 131 138 */ NoSymbol, NoSymbol, ++/* 132 139 */ NoSymbol, NoSymbol, ++/* 133 140 */ NoSymbol, NoSymbol, ++/* 134 141 */ NoSymbol, NoSymbol, ++/* 135 142 */ NoSymbol, NoSymbol, ++/* 136 143 */ NoSymbol, NoSymbol, ++/* 137 144 */ NoSymbol, NoSymbol, ++/* 138 145 */ NoSymbol, NoSymbol, ++/* 139 146 */ NoSymbol, NoSymbol, ++/* 140 147 */ NoSymbol, NoSymbol, ++/* 141 148 */ NoSymbol, NoSymbol, ++/* 142 149 */ NoSymbol, NoSymbol, ++/* 143 150 */ NoSymbol, NoSymbol, ++/* 144 151 */ NoSymbol, NoSymbol, ++/* 145 152 */ NoSymbol, NoSymbol, ++/* 146 153 */ NoSymbol, NoSymbol, ++/* 147 154 */ NoSymbol, NoSymbol, ++/* 148 155 */ NoSymbol, NoSymbol, ++/* 149 156 */ NoSymbol, NoSymbol, ++/* 150 157 */ NoSymbol, NoSymbol, ++/* 151 158 */ NoSymbol, NoSymbol, ++/* 152 159 */ NoSymbol, NoSymbol, ++/* 153 160 */ NoSymbol, NoSymbol, ++/* 154 161 */ NoSymbol, NoSymbol, ++/* 155 162 */ NoSymbol, NoSymbol, ++/* 156 163 */ NoSymbol, NoSymbol, ++/* 157 164 */ NoSymbol, NoSymbol, ++/* 158 165 */ NoSymbol, NoSymbol, ++/* 159 166 */ NoSymbol, NoSymbol, ++/* 160 167 */ NoSymbol, NoSymbol, ++/* 161 168 */ NoSymbol, NoSymbol, ++/* 162 169 */ NoSymbol, NoSymbol, ++/* 163 170 */ NoSymbol, NoSymbol, ++/* 164 171 */ NoSymbol, NoSymbol, ++/* 165 172 */ NoSymbol, NoSymbol, ++/* 166 173 */ NoSymbol, NoSymbol, ++/* 167 174 */ NoSymbol, NoSymbol, ++/* 168 175 */ NoSymbol, NoSymbol, ++/* 169 176 */ NoSymbol, NoSymbol, ++/* 170 177 */ NoSymbol, NoSymbol, ++/* 171 178 */ NoSymbol, NoSymbol, ++/* 172 179 */ NoSymbol, NoSymbol, ++/* 173 180 */ NoSymbol, NoSymbol, ++/* 174 181 */ NoSymbol, NoSymbol, ++/* 175 182 */ NoSymbol, NoSymbol, ++/* 176 183 */ NoSymbol, NoSymbol, ++/* 177 184 */ NoSymbol, NoSymbol, ++/* 178 185 */ NoSymbol, NoSymbol, ++/* 179 186 */ NoSymbol, NoSymbol, ++/* 180 187 */ NoSymbol, NoSymbol, ++/* 181 188 */ NoSymbol, NoSymbol, ++/* 182 189 */ NoSymbol, NoSymbol, ++/* 183 190 */ NoSymbol, NoSymbol, ++/* 184 191 */ NoSymbol, NoSymbol, ++/* 185 192 */ NoSymbol, NoSymbol, ++/* 186 193 */ NoSymbol, NoSymbol, ++/* 187 194 */ NoSymbol, NoSymbol, ++/* 188 195 */ NoSymbol, NoSymbol, ++/* 189 196 */ NoSymbol, NoSymbol, ++/* 190 197 */ NoSymbol, NoSymbol, ++/* 191 198 */ NoSymbol, NoSymbol, ++/* 192 199 */ NoSymbol, NoSymbol, ++/* 193 200 */ NoSymbol, NoSymbol, ++/* 194 201 */ NoSymbol, NoSymbol, ++}; ++ ++static void ++EvdevKbdRead (int fd, void *closure) ++{ ++ int i, n; ++ struct input_event events[NUM_EVENTS]; ++ ++ n = read (fd, &events, NUM_EVENTS * sizeof (struct input_event)); ++ if (n <= 0) ++ return; ++ ++ n /= sizeof (struct input_event); ++ ++ for (i = 0; i < n; i++) ++ { ++ if (events[i].type == EV_KEY) ++ KdEnqueueKeyboardEvent (events[i].code, !events[i].value); ++ } ++} ++ ++static void ++EvdevKbdLoad (void) ++{ ++ kdMinScanCode = 0; ++ kdMaxScanCode = 193; ++ kdKeymapWidth = 2; ++ memcpy (kdKeymap, evdevKeymap, sizeof (evdevKeymap)); ++} ++ ++static int ++EvdevKbdInit (void) ++{ ++ int fd, i; ++ ++ if (!EvdevInputType) ++ EvdevInputType = KdAllocInputType (); ++ ++ if (!kdKeyboard) ++ { ++ for (i = 0; i < NUM_DEFAULT_EVDEV; i++) ++ { ++ fd = open (kdefaultEvdev[i], 2); ++ if (fd >= 0) ++ { ++ kdKeyboard = KdSaveString (kdefaultEvdev[i]); ++ break; ++ } ++ } ++ } ++ else ++ { ++ fd = open (kdKeyboard, O_RDWR); ++ if (fd < 0) ++ return FALSE; ++ } ++ ++ if (ioctl (fd, EVIOCGRAB, 1) < 0) ++ { ++ close (fd); ++ return FALSE; ++ } ++ ++ if (!KdRegisterFd (EvdevInputType, fd, EvdevKbdRead, NULL)) ++ return FALSE; ++ ++ kbd_fd = fd; ++ return TRUE; ++} ++ ++static void ++EvdevKbdFini (void) ++{ ++} ++ ++static void ++EvdevKbdLeds (int leds) ++{ ++ struct input_event event; ++ ++ memset(&event, 0, sizeof(event)); ++ ++ event.type = EV_LED; ++ event.code = LED_CAPSL; ++ event.value = leds & (1 << 0) ? 1 : 0; ++ write(kbd_fd, (char *) &event, sizeof(event)); ++ ++ event.type = EV_LED; ++ event.code = LED_NUML; ++ event.value = leds & (1 << 1) ? 1 : 0; ++ write(kbd_fd, (char *) &event, sizeof(event)); ++ ++ event.type = EV_LED; ++ event.code = LED_SCROLLL; ++ event.value = leds & (1 << 2) ? 1 : 0; ++ write(kbd_fd, (char *) &event, sizeof(event)); ++ ++ event.type = EV_LED; ++ event.code = LED_COMPOSE; ++ event.value = leds & (1 << 3) ? 1 : 0; ++ write(kbd_fd, (char *) &event, sizeof(event)); ++} ++ ++static void ++EvdevKbdBell (int volume, int frequency, int duration) ++{ ++} ++ + KdKeyboardFuncs LinuxEvdevKeyboardFuncs = { + EvdevKbdLoad, + EvdevKbdInit, +@@ -296,4 +659,4 @@ + EvdevKbdFini, + 0, + }; +-#endif ++ +diff -u -r --exclude=CVS --exclude=Makefile --exclude='*.o' --exclude=ephyr --exclude='*.Po' xserver.original/hw/kdrive/src/kdrive.c xserver/hw/kdrive/src/kdrive.c +--- xserver.original/hw/kdrive/src/kdrive.c 2005-12-16 10:36:07.000000000 -0200 ++++ xserver/hw/kdrive/src/kdrive.c 2005-12-16 10:37:09.000000000 -0200 +@@ -73,6 +73,7 @@ + Bool kdEnabled; + int kdSubpixelOrder; + int kdVirtualTerminal = -1; ++char *kdKeyboard = 0; + Bool kdSwitchPending; + char *kdSwitchCmd; + DDXPointRec kdOrigin; +@@ -795,6 +796,14 @@ + UseMsg (); + return 2; + } ++ if (!strcmp (argv[i], "-keyboard")) ++ { ++ if ((i+1) < argc) ++ kdKeyboard = argv[i+1]; ++ else ++ UseMsg (); ++ return 2; ++ } + if (!strcmp (argv[i], "-rgba")) + { + if ((i+1) < argc) +diff -u -r --exclude=CVS --exclude=Makefile --exclude='*.o' --exclude=ephyr --exclude='*.Po' xserver.original/hw/kdrive/src/kdrive.h xserver/hw/kdrive/src/kdrive.h +--- xserver.original/hw/kdrive/src/kdrive.h 2005-12-16 10:36:07.000000000 -0200 ++++ xserver/hw/kdrive/src/kdrive.h 2005-12-16 10:37:09.000000000 -0200 +@@ -416,6 +416,7 @@ + extern Bool kdDisableZaphod; + extern Bool kdDontZap; + extern int kdVirtualTerminal; ++extern char *kdKeyboard; + extern char *kdSwitchCmd; + extern KdOsFuncs *kdOsFuncs; + +@@ -769,7 +770,7 @@ + ProcessInputEvents (void); + + extern KdMouseFuncs LinuxMouseFuncs; +-extern KdMouseFuncs LinuxEvdevFuncs; ++extern KdMouseFuncs LinuxEvdevMouseFuncs; + extern KdMouseFuncs Ps2MouseFuncs; + extern KdMouseFuncs BusMouseFuncs; + extern KdMouseFuncs MsMouseFuncs; +@@ -777,6 +778,7 @@ + extern KdMouseFuncs TsFuncs; + #endif + extern KdKeyboardFuncs LinuxKeyboardFuncs; ++extern KdKeyboardFuncs LinuxEvdevKeyboardFuncs; + extern KdOsFuncs LinuxFuncs; + + extern KdMouseFuncs VxWorksMouseFuncs; +diff -u -r --exclude=CVS --exclude=Makefile --exclude='*.o' --exclude=ephyr --exclude='*.Po' xserver.original/hw/kdrive/src/kinput.c xserver/hw/kdrive/src/kinput.c +--- xserver.original/hw/kdrive/src/kinput.c 2005-12-16 10:36:07.000000000 -0200 ++++ xserver/hw/kdrive/src/kinput.c 2005-12-16 10:37:09.000000000 -0200 +@@ -1300,6 +1300,7 @@ + xE.u.u.type = KeyPress; + xE.u.u.detail = key_code; + ++#ifndef XKB + switch (KEYCOL1(key_code)) + { + case XK_Num_Lock: +@@ -1313,6 +1314,7 @@ + else + xE.u.u.type = KeyPress; + } ++#endif + + /* + * Check pressed keys which are already down diff --git a/meta/packages/xorg-xserver/xserver-kdrive/kdrive-use-evdev.patch b/meta/packages/xorg-xserver/xserver-kdrive/kdrive-use-evdev.patch new file mode 100644 index 0000000000..d4f885ee26 --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-kdrive/kdrive-use-evdev.patch @@ -0,0 +1,53 @@ +--- xserver/hw/kdrive/fbdev/fbinit.c~ 2006-01-31 17:09:33.000000000 +0100 ++++ xserver/hw/kdrive/fbdev/fbinit.c 2006-01-31 17:11:55.000000000 +0100 +@@ -28,6 +28,8 @@ + #endif + #include <fbdev.h> + ++extern int use_evdev; ++ + void + InitCard (char *name) + { +@@ -45,7 +47,10 @@ + void + InitInput (int argc, char **argv) + { +- KdInitInput (&LinuxMouseFuncs, &LinuxKeyboardFuncs); ++ if (use_evdev) ++ KdInitInput (&LinuxEvdevMouseFuncs, &LinuxEvdevKeyboardFuncs); ++ else ++ KdInitInput (&LinuxMouseFuncs, &LinuxKeyboardFuncs); + #ifdef TOUCHSCREEN + KdAddMouseDriver (&TsFuncs); + #endif +--- xserver/hw/kdrive/src/kdrive.c.orig 2006-01-31 17:13:28.000000000 +0100 ++++ xserver/hw/kdrive/src/kdrive.c 2006-01-31 17:15:28.000000000 +0100 +@@ -44,6 +44,8 @@ + #include "dpmsproc.h" + #endif + ++int use_evdev = 0; ++ + typedef struct _kdDepths { + CARD8 depth; + CARD8 bpp; +@@ -687,6 +689,7 @@ + ErrorF("-videoTest Start the server, pause momentarily and exit\n"); + ErrorF("-origin X,Y Locates the next screen in the the virtual screen (Xinerama)\n"); + ErrorF("-mouse path[,n] Filename of mouse device, n is number of buttons\n"); ++ ErrorF("-use-evdev Use Linux evdev input\n"); + ErrorF("-switchCmd Command to execute on vt switch\n"); + ErrorF("-nozap Don't terminate server on Ctrl+Alt+Backspace\n"); + ErrorF("vtxx Use virtual terminal xx instead of the next available\n"); +@@ -796,6 +799,10 @@ + UseMsg (); + return 2; + } ++ if (!strcmp (argv[i], "-use-evdev")) ++ { ++ use_evdev = 1; ++ } + if (!strcmp (argv[i], "-keyboard")) + { + if ((i+1) < argc) diff --git a/meta/packages/xorg-xserver/xserver-kdrive/kmode.patch b/meta/packages/xorg-xserver/xserver-kdrive/kmode.patch new file mode 100644 index 0000000000..5ad3e4e277 --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-kdrive/kmode.patch @@ -0,0 +1,28 @@ +--- /tmp/kmode.c 2005-06-27 14:46:19.716843288 +0200 ++++ xserver/hw/kdrive/src/kmode.c 2005-06-27 14:46:30.070269328 +0200 +@@ -41,6 +41,11 @@ + 1, 11, 14, KdSyncNegative, + }, + ++ { 240, 320, 64, 0, ++ 0, 0, 0, KdSyncNegative, ++ 0, 0, 0, KdSyncNegative, ++ }, ++ + /* Other VESA modes */ + { 640, 350, 85, 31500, /* VESA */ + 32, 96, 192, KdSyncPositive, /* 26.413 */ +@@ -80,6 +85,13 @@ + 16, 48, 160, KdSyncNegative, /* 31.469 */ + 10, 33, 45, KdSyncNegative, /* 59.940 */ + }, ++ ++ ++ { 480, 640, 60, 0, /* VESA */ ++ 0, 0, 0, KdSyncNegative, /* 31.469 */ ++ 0, 0, 0, KdSyncNegative, /* 59.940 */ ++ }, ++ + + /* 800x600 modes */ + { 800, 600, 85, 56250, /* VESA */ diff --git a/meta/packages/xorg-xserver/xserver-kdrive/no-serial-probing.patch b/meta/packages/xorg-xserver/xserver-kdrive/no-serial-probing.patch new file mode 100644 index 0000000000..35ccadaa8d --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-kdrive/no-serial-probing.patch @@ -0,0 +1,13 @@ +--- xserver/hw/kdrive/linux/mouse.c.orig 2004-05-13 14:25:51.000000000 -0700 ++++ xserver/hw/kdrive/linux/mouse.c 2005-09-22 12:20:47.000000000 -0700 +@@ -927,8 +927,10 @@ char *kdefaultMouse[] = { + "/dev/psaux", + "/dev/input/mice", + "/dev/adbmouse", ++#ifdef BREAK_MY_SERIAL_CONSOLE + "/dev/ttyS0", + "/dev/ttyS1", ++#endif + }; + + #define NUM_DEFAULT_MOUSE (sizeof (kdefaultMouse) / sizeof (kdefaultMouse[0])) diff --git a/meta/packages/xorg-xserver/xserver-kdrive/onlyfb.patch b/meta/packages/xorg-xserver/xserver-kdrive/onlyfb.patch new file mode 100644 index 0000000000..e773324981 --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-kdrive/onlyfb.patch @@ -0,0 +1,21 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- xserver/hw/kdrive/Makefile.am~onlyfb ++++ xserver/hw/kdrive/Makefile.am +@@ -17,12 +17,4 @@ + SUBDIRS = \ + src \ + linux \ +- $(XSDL_SUBDIRS) \ +- $(FBDEV_SUBDIRS) \ +- $(VESA_SUBDIRS) \ +- $(XEPHYR_SUBDIRS) \ +- ati \ +- fake \ +- ephyr \ +- i810 \ +- epson ++ $(FBDEV_SUBDIRS) diff --git a/meta/packages/xorg-xserver/xserver-kdrive/optional-xkb.patch b/meta/packages/xorg-xserver/xserver-kdrive/optional-xkb.patch new file mode 100644 index 0000000000..d9ef51c5ba --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-kdrive/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/meta/packages/xorg-xserver/xserver-kdrive/xcalibrate.patch b/meta/packages/xorg-xserver/xserver-kdrive/xcalibrate.patch new file mode 100644 index 0000000000..3f8cd4ea5c --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-kdrive/xcalibrate.patch @@ -0,0 +1,351 @@ +--- xorg-server-X11R7.1-1.1.0/mi/miinitext.c.orig 2006-06-22 14:11:46.000000000 +0200 ++++ xorg-server-X11R7.1-1.1.0/mi/miinitext.c 2006-06-22 15:26:17.000000000 +0200 +@@ -385,6 +385,9 @@ + #ifdef DMXEXT + extern void DMXExtensionInit(INITARGS); + #endif ++#ifdef XCALIBRATE ++extern void XCalibrateExtensionInit(INITARGS); ++#endif + #ifdef XEVIE + extern void XevieExtensionInit(INITARGS); + #endif +@@ -679,6 +682,9 @@ + #ifdef DAMAGE + if (!noDamageExtension) DamageExtensionInit(); + #endif ++#ifdef XCALIBRATE ++ XCalibrateExtensionInit (); ++#endif + } + + void +--- xorg-server-X11R7.1-1.1.0/configure.ac.orig 2006-06-15 17:03:14.000000000 +0200 ++++ xorg-server-X11R7.1-1.1.0/configure.ac 2006-06-24 08:21:25.000000000 +0200 +@@ -407,6 +407,7 @@ + AC_ARG_ENABLE(xf86vidmode, AS_HELP_STRING([--disable-xf86vidmode], [Build XF86VidMode extension (default: enabled)]), [XF86VIDMODE=$enableval], [XF86VIDMODE=yes]) + AC_ARG_ENABLE(xf86misc, AS_HELP_STRING([--disable-xf86misc], [Build XF86Misc extension (default: enabled)]), [XF86MISC=$enableval], [XF86MISC=yes]) + AC_ARG_ENABLE(xcsecurity, AS_HELP_STRING([--disable-xcsecurity], [Build Security extension (default: enabled)]), [XCSECURITY=$enableval], [XCSECURITY=yes]) ++AC_ARG_ENABLE(xcalibrate, AS_HELP_STRING([--disable-xcalibrate], [Build XCalibrate extension (default: enabled)]), [XCALIBRATE=$enableval], [XCALIBRATE=yes]) + AC_ARG_ENABLE(xevie, AS_HELP_STRING([--disable-xevie], [Build XEvIE extension (default: enabled)]), [XEVIE=$enableval], [XEVIE=yes]) + AC_ARG_ENABLE(lbx, AS_HELP_STRING([--disable-lbx], [Build LBX extension (default: no)]), [LBX=$enableval], [LBX=no]) + AC_ARG_ENABLE(appgroup, AS_HELP_STRING([--disable-appgroup], [Build XC-APPGROUP extension (default: enabled)]), [APPGROUP=$enableval], [APPGROUP=yes]) +@@ -641,6 +642,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 xcalibrateext" ++fi ++ + AM_CONDITIONAL(XEVIE, [test "x$XEVIE" = xyes]) + if test "x$XEVIE" = xyes; then + AC_DEFINE(XEVIE, 1, [Build XEvIE extension]) +@@ -1466,7 +1473,7 @@ + KDRIVE_LIB='$(top_builddir)/hw/kdrive/src/libkdrive.a' + KDRIVE_OS_LIB='$(top_builddir)/hw/kdrive/linux/liblinux.a' + KDRIVE_STUB_LIB='$(top_builddir)/hw/kdrive/src/libkdrivestubs.a' +- KDRIVE_LIBS="$DIX_LIB $KDRIVE_LIB $KDRIVE_OS_LIB $KDRIVE_PURE_LIBS $KDRIVE_STUB_LIB" ++ KDRIVE_LIBS="$DIX_LIB $KDRIVE_LIB $KDRIVE_PURE_LIBS $KDRIVE_OS_LIB $KDRIVE_STUB_LIB" + + # check if we can build Xephyr + PKG_CHECK_MODULES(XEPHYR, x11 xext xfont xau xdmcp, [xephyr="yes"], [xephyr="no"]) +--- xorg-server-X11R7.1-1.1.0/include/kdrive-config.h.in.orig 2006-06-22 14:22:07.000000000 +0200 ++++ xorg-server-X11R7.1-1.1.0/include/kdrive-config.h.in 2006-06-22 14:33:29.000000000 +0200 +@@ -22,4 +22,7 @@ + /* Support tslib touchscreen abstraction library */ + #undef TSLIB + ++/* Enable XCalibrate extension */ ++#undef XCALIBRATE ++ + #endif /* _KDRIVE_CONFIG_H_ */ +--- xorg-server-X11R7.1-1.1.0/Xext/Makefile.am.orig 2006-06-15 17:06:43.000000000 +0200 ++++ xorg-server-X11R7.1-1.1.0/Xext/Makefile.am 2006-06-15 18:12:40.000000000 +0200 +@@ -78,6 +78,11 @@ + AM_CFLAGS += -DDEFAULTPOLICYFILE=\"$(SERVERCONFIGdir)/SecurityPolicy\" + endif + ++XCALIBRATE_SRCS = xcalibrate.c ++if XCALIBRATE ++BUILTIN_SRCS += $(XCALIBRATE_SRCS) ++endif ++ + # X EVent Interception Extension: allows accessibility helpers & composite + # managers to intercept events from input devices and transform as needed + # before the clients see them. +@@ -155,6 +160,7 @@ + $(SCREENSAVER_SRCS) \ + $(XCSECURITY_SRCS) \ + $(XINERAMA_SRCS) \ ++ $(XCALIBRATE_SRCS) \ + $(XEVIE_SRCS) \ + $(XPRINT_SRCS) \ + $(APPGROUP_SRCS) \ +--- xorg-server-X11R7.1-1.1.0/Xext/xcalibrate.c.orig 2006-06-15 17:05:19.000000000 +0200 ++++ xorg-server-X11R7.1-1.1.0/Xext/xcalibrate.c 2006-06-22 15:15:09.000000000 +0200 +@@ -0,0 +1,262 @@ ++/* ++ * $Id: xcalibrate.c,v 3.1 2004/06/02 20:49:50 pb Exp $ ++ * ++ * Copyright © 2003 Philip Blundell ++ * ++ * Permission to use, copy, modify, distribute, and sell this software and its ++ * documentation for any purpose is hereby granted without fee, provided that ++ * the above copyright notice appear in all copies and that both that ++ * copyright notice and this permission notice appear in supporting ++ * documentation, and that the name of Philip Blundell not be used in ++ * advertising or publicity pertaining to distribution of the software without ++ * specific, written prior permission. Philip Blundell makes no ++ * representations about the suitability of this software for any purpose. It ++ * is provided "as is" without express or implied warranty. ++ * ++ * PHILIP BLUNDELL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, ++ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO ++ * EVENT SHALL PHILIP BLUNDELL BE LIABLE FOR ANY SPECIAL, INDIRECT OR ++ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, ++ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER ++ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR ++ * PERFORMANCE OF THIS SOFTWARE. ++ */ ++ ++#ifdef HAVE_KDRIVE_CONFIG_H ++#include <kdrive-config.h> ++#endif ++ ++#define NEED_EVENTS ++#define NEED_REPLIES ++ ++#include <X11/X.h> ++#include <X11/Xproto.h> ++#include "misc.h" ++#include "os.h" ++#include "dixstruct.h" ++#include "extnsionst.h" ++#include "swaprep.h" ++ ++#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; ++int XCalibrateErrorBase; ++ ++static ClientPtr xcalibrate_client; ++ ++static void ++xcalibrate_event_hook (int x, int y, int pressure, void *closure) ++{ ++ ClientPtr pClient = (ClientPtr) closure; ++ xXCalibrateRawTouchscreenEvent ev; ++ ++ ev.type = XCalibrateEventBase + X_XCalibrateRawTouchscreen; ++ ev.sequenceNumber = pClient->sequence; ++ ev.x = x; ++ ev.y = y; ++ ev.pressure = pressure; ++ ++ if (!pClient->clientGone) ++ WriteEventsToClient (pClient, 1, (xEvent *) &ev); ++} ++ ++static int ++ProcXCalibrateQueryVersion (ClientPtr client) ++{ ++ REQUEST(xXCalibrateQueryVersionReq); ++ xXCalibrateQueryVersionReply rep; ++ CARD16 client_major, client_minor; /* not used */ ++ ++ REQUEST_SIZE_MATCH (xXCalibrateQueryVersionReq); ++ ++ client_major = stuff->majorVersion; ++ client_minor = stuff->minorVersion; ++ ++ fprintf(stderr, "%s(): called\n", __func__); ++ ++ rep.type = X_Reply; ++ rep.length = 0; ++ rep.sequenceNumber = client->sequence; ++ rep.majorVersion = XCALIBRATE_MAJOR_VERSION; ++ rep.minorVersion = XCALIBRATE_MINOR_VERSION; ++ if (client->swapped) { ++ int n; ++ swaps(&rep.sequenceNumber, n); ++ swapl(&rep.length, n); ++ swaps(&rep.majorVersion, n); ++ swaps(&rep.minorVersion, n); ++ } ++ WriteToClient(client, sizeof (xXCalibrateQueryVersionReply), (char *)&rep); ++ return (client->noClientException); ++} ++ ++static int ++SProcXCalibrateQueryVersion (ClientPtr client) ++{ ++ REQUEST(xXCalibrateQueryVersionReq); ++ int n; ++ ++ REQUEST_SIZE_MATCH (xXCalibrateQueryVersionReq); ++ swaps(&stuff->majorVersion,n); ++ swaps(&stuff->minorVersion,n); ++ return ProcXCalibrateQueryVersion(client); ++} ++ ++static int ++ProcXCalibrateSetRawMode (ClientPtr client) ++{ ++ REQUEST(xXCalibrateRawModeReq); ++ xXCalibrateRawModeReply rep; ++ ++ REQUEST_SIZE_MATCH (xXCalibrateRawModeReq); ++ ++ memset (&rep, 0, sizeof (rep)); ++ rep.type = X_Reply; ++ rep.sequenceNumber = client->sequence; ++ ++ if (stuff->on) ++ { ++ if (xcalibrate_client == NULL) ++ { ++ /* Start calibrating. */ ++ xcalibrate_client = client; ++ tslib_raw_event_hook = xcalibrate_event_hook; ++ tslib_raw_event_closure = client; ++ rep.status = GrabSuccess; ++ } ++ else ++ { ++ rep.status = AlreadyGrabbed; ++ } ++ } ++ else ++ { ++ if (xcalibrate_client == client) ++ { ++ /* Stop calibrating. */ ++ xcalibrate_client = NULL; ++ tslib_raw_event_hook = NULL; ++ tslib_raw_event_closure = NULL; ++ rep.status = GrabSuccess; ++ ++ /* Cycle input off and on to reload configuration. */ ++ KdDisableInput (); ++ KdEnableInput (); ++ } ++ else ++ { ++ rep.status = AlreadyGrabbed; ++ } ++ } ++ ++ if (client->swapped) ++ { ++ int n; ++ ++ swaps (&rep.sequenceNumber, n); ++ swaps (&rep.status, n); ++ } ++ WriteToClient(client, sizeof (rep), (char *) &rep); ++ return (client->noClientException); ++} ++ ++ ++static int ++SProcXCalibrateSetRawMode (ClientPtr client) ++{ ++ REQUEST(xXCalibrateRawModeReq); ++ int n; ++ ++ REQUEST_SIZE_MATCH (xXCalibrateRawModeReq); ++ ++ swaps(&stuff->on, n); ++ ++ return ProcXCalibrateSetRawMode(client); ++} ++ ++static void ++XCalibrateResetProc (ExtensionEntry *extEntry) ++{ ++} ++ ++static int ++ProcXCalibrateDispatch (ClientPtr client) ++{ ++ REQUEST(xReq); ++ switch (stuff->data) { ++ case X_XCalibrateQueryVersion: ++ return ProcXCalibrateQueryVersion(client); ++ case X_XCalibrateRawMode: ++ return ProcXCalibrateSetRawMode(client); ++ default: break; ++ } ++ ++ return BadRequest; ++} ++ ++static int ++SProcXCalibrateDispatch (ClientPtr client) ++{ ++ REQUEST(xReq); ++ int n; ++ ++ swaps(&stuff->length,n); ++ ++ switch (stuff->data) { ++ case X_XCalibrateQueryVersion: ++ return SProcXCalibrateQueryVersion(client); ++ case X_XCalibrateRawMode: ++ return SProcXCalibrateSetRawMode(client); ++ ++ default: break; ++ } ++ ++ return BadRequest; ++} ++ ++static void ++XCalibrateClientCallback (CallbackListPtr *list, ++ pointer closure, ++ pointer data) ++{ ++ NewClientInfoRec *clientinfo = (NewClientInfoRec *) data; ++ ClientPtr pClient = clientinfo->client; ++ ++ if (clientinfo->setup == NULL ++ && xcalibrate_client != NULL ++ && xcalibrate_client == pClient) ++ { ++ /* Stop calibrating. */ ++ xcalibrate_client = NULL; ++ tslib_raw_event_hook = NULL; ++ tslib_raw_event_closure = NULL; ++ } ++} ++ ++void ++XCalibrateExtensionInit(void) ++{ ++ ExtensionEntry *extEntry; ++ ++ if (!AddCallback (&ClientStateCallback, XCalibrateClientCallback, 0)) ++ return; ++ ++ extEntry = AddExtension(XCALIBRATE_NAME, XCalibrateNumberEvents, XCalibrateNumberErrors, ++ ProcXCalibrateDispatch, SProcXCalibrateDispatch, ++ XCalibrateResetProc, StandardMinorOpcode); ++ ++ if (!extEntry) ++ return; ++ ++ XCalibrateReqCode = (unsigned char)extEntry->base; ++ XCalibrateEventBase = extEntry->eventBase; ++ XCalibrateErrorBase = extEntry->errorBase; ++ ++ xcalibrate_client = 0; ++} diff --git a/meta/packages/xorg-xserver/xserver-kdrive/xserver-kdrive-poodle.patch b/meta/packages/xorg-xserver/xserver-kdrive/xserver-kdrive-poodle.patch new file mode 100644 index 0000000000..ce80a7e389 --- /dev/null +++ b/meta/packages/xorg-xserver/xserver-kdrive/xserver-kdrive-poodle.patch @@ -0,0 +1,44 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- xserver/hw/kdrive/fbdev/fbdev.c~xserver-kdrive-poodle.patch ++++ xserver/hw/kdrive/fbdev/fbdev.c +@@ -190,6 +190,7 @@ + var.nonstd = 0; + var.grayscale = 0; + ++ /* commented out for poodle + k = ioctl (priv->fd, FBIOPUT_VSCREENINFO, &var); + + if (k < 0) +@@ -198,10 +199,11 @@ + return FALSE; + } + +- /* Re-get the "fixed" parameters since they might have changed */ ++ // Re-get the "fixed" parameters since they might have changed + k = ioctl (priv->fd, FBIOGET_FSCREENINFO, &priv->fix); + if (k < 0) + perror ("FBIOGET_FSCREENINFO"); ++ */ + + /* Now get the new screeninfo */ + ioctl (priv->fd, FBIOGET_VSCREENINFO, &priv->var); +@@ -659,13 +661,14 @@ + priv->var.activate = FB_ACTIVATE_NOW|FB_CHANGE_CMAP_VBL; + + /* display it on the LCD */ ++ /* commented out for poodle + k = ioctl (priv->fd, FBIOPUT_VSCREENINFO, &priv->var); + if (k < 0) + { + perror ("FBIOPUT_VSCREENINFO"); + return FALSE; + } +- ++ */ + if (priv->fix.visual == FB_VISUAL_DIRECTCOLOR) + { + struct fb_cmap cmap; |