From 4f80ad554dec2aba741f377c1b934b6a4828b6f2 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Mon, 30 Aug 2010 00:25:33 +0200 Subject: [PATCH] xorg-server: update to xorg-server-1.9.0 Signed-off-by: Stephan Raue --- packages/x11/xserver/xorg-server/build | 3 +- .../xorg-server/patches/75_nvidia-drv.diff | 10 +-- ...ache-xkbcomp-output-for-fast-start-up.diff | 57 +++++++++-------- ...oppy-heuristic-first-for-initial-mode.diff | 28 ++++----- .../patches/xserver-1.5.0-bg-none-root.diff | 63 +++++++------------ packages/x11/xserver/xorg-server/url | 2 +- 6 files changed, 72 insertions(+), 91 deletions(-) diff --git a/packages/x11/xserver/xorg-server/build b/packages/x11/xserver/xorg-server/build index 052178214a..c635001e97 100755 --- a/packages/x11/xserver/xorg-server/build +++ b/packages/x11/xserver/xorg-server/build @@ -85,7 +85,6 @@ $AUTORECONF --disable-xcsecurity \ --disable-xcalibrate \ --disable-tslib \ - --disable-multibuffer \ --enable-dbe \ --disable-xf86bigfont \ --enable-dpms \ @@ -111,7 +110,7 @@ $AUTORECONF --disable-ipv6 \ --with-gnu-ld \ --with-sha1=libcrypto \ - --with-os-vendor="OpenELEC" \ + --with-os-vendor="OpenELEC.tv" \ --with-module-dir=$XORG_PATH_MODULES \ --with-xkb-path=$XORG_PATH_XKB \ --with-xkb-output=/var/cache/xkb \ diff --git a/packages/x11/xserver/xorg-server/patches/75_nvidia-drv.diff b/packages/x11/xserver/xorg-server/patches/75_nvidia-drv.diff index 170d7d8cca..0947dbc493 100644 --- a/packages/x11/xserver/xorg-server/patches/75_nvidia-drv.diff +++ b/packages/x11/xserver/xorg-server/patches/75_nvidia-drv.diff @@ -1,12 +1,12 @@ -diff -Naur xorg-server-1.7.99.1/hw/xfree86/common/xf86AutoConfig.c xorg-server-1.7.99.1.patch/hw/xfree86/common/xf86AutoConfig.c ---- xorg-server-1.7.99.1/hw/xfree86/common/xf86AutoConfig.c 2009-10-13 19:04:27.000000000 +0200 -+++ xorg-server-1.7.99.1.patch/hw/xfree86/common/xf86AutoConfig.c 2009-12-04 21:39:57.414303608 +0100 -@@ -192,7 +192,7 @@ +diff -Naur xorg-server-1.8.99.903/hw/xfree86/common/xf86pciBus.c xorg-server-1.8.99.903.patch/hw/xfree86/common/xf86pciBus.c +--- xorg-server-1.8.99.903/hw/xfree86/common/xf86pciBus.c 2010-06-10 16:07:55.000000000 +0200 ++++ xorg-server-1.8.99.903.patch/hw/xfree86/common/xf86pciBus.c 2010-06-27 01:06:57.977808296 +0200 +@@ -1129,7 +1129,7 @@ break; case 0x102b: driverList[0] = "mga"; break; case 0x10c8: driverList[0] = "neomagic"; break; - case 0x10de: case 0x12d2: driverList[0] = "nv"; break; + case 0x10de: case 0x12d2: driverList[0] = "nvidia"; break; case 0x1106: driverList[0] = "openchrome"; break; + case 0x1b36: driverList[0] = "qxl"; break; case 0x1163: driverList[0] = "rendition"; break; - case 0x5333: diff --git a/packages/x11/xserver/xorg-server/patches/cache-xkbcomp-output-for-fast-start-up.diff b/packages/x11/xserver/xorg-server/patches/cache-xkbcomp-output-for-fast-start-up.diff index 20ba82f0fd..98a20afb6a 100644 --- a/packages/x11/xserver/xorg-server/patches/cache-xkbcomp-output-for-fast-start-up.diff +++ b/packages/x11/xserver/xorg-server/patches/cache-xkbcomp-output-for-fast-start-up.diff @@ -1,12 +1,12 @@ -From d2d3bcc9e23b9a4bea9f67a06cd23aa3ce7f4b59 Mon Sep 17 00:00:00 2001 -Message-Id: From: Yan Li Date: Wed, 10 Mar 2010 14:06:17 +0800 -Subject: [PATCH] XKB: cache xkbcomp output for fast start-up v6 for 1.7.99.901 +Subject: [PATCH] XKB: cache xkbcomp output for fast start-up v7 for 1.8.99.903 xkbcomp outputs will be cached in files with hashed keymap as names. This saves boot time for around 1s on commodity netbooks. +V7: reworked Li Yan's patch for v1.8.99.903 + v6: rebased to v1.7.99.901 v5: now using a much bigger xkbKeyMapBuf (100k) since the XKB to be @@ -14,17 +14,12 @@ v5: now using a much bigger xkbKeyMapBuf (100k) since the XKB to be gnome-keyboard-properties), rebased to v1.6.1 Signed-off-by: Yan Li ---- - configure.ac | 6 +- - xkb/README.compiled | 8 +- - xkb/ddxLoad.c | 187 +++++++++++++++++++++++++++++++++++++++++---------- - 3 files changed, 159 insertions(+), 42 deletions(-) - +Signed-off-by: Liu Xinyun diff --git a/configure.ac b/configure.ac -index de252f3..54a0327 100644 +index 1a1f2d3..7c3224a 100644 --- a/configure.ac +++ b/configure.ac -@@ -527,9 +527,9 @@ AC_MSG_RESULT([$FONTPATH]) +@@ -540,9 +540,9 @@ AC_MSG_RESULT([$FONTPATH]) AC_ARG_WITH(xkb-path, AS_HELP_STRING([--with-xkb-path=PATH], [Path to XKB base dir (default: ${datadir}/X11/xkb)]), [ XKBPATH="$withval" ], [ XKBPATH="${datadir}/X11/xkb" ]) @@ -36,7 +31,7 @@ index de252f3..54a0327 100644 AC_ARG_WITH(default-xkb-rules, AS_HELP_STRING([--with-default-xkb-rules=RULES], [Keyboard ruleset (default: base/evdev)]), [ XKB_DFLT_RULES="$withval" ], -@@ -1148,7 +1148,7 @@ AC_DEFINE_DIR(XKB_BIN_DIRECTORY, XKB_BIN_DIRECTORY, [Path to XKB bin dir]) +@@ -1175,7 +1175,7 @@ AC_DEFINE_DIR(XKB_BIN_DIRECTORY, XKB_BIN_DIRECTORY, [Path to XKB bin dir]) dnl Make sure XKM_OUTPUT_DIR is an absolute path XKBOUTPUT_FIRSTCHAR=`echo $XKBOUTPUT | cut -b 1` if [[ x$XKBOUTPUT_FIRSTCHAR != x/ -a x$XKBOUTPUT_FIRSTCHAR != 'x$' ]] ; then @@ -65,7 +60,7 @@ index 71caa2f..a4a2ae0 100644 Unless the X server is modified, sharing this directory between servers on different hosts could cause problems. diff --git a/xkb/ddxLoad.c b/xkb/ddxLoad.c -index 4ccddda..63b9f97 100644 +index 5e6ab87..dec3644 100644 --- a/xkb/ddxLoad.c +++ b/xkb/ddxLoad.c @@ -30,6 +30,12 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. @@ -153,7 +148,7 @@ index 4ccddda..63b9f97 100644 XkbDDXCompileKeymapByNames( XkbDescPtr xkb, XkbComponentNamesPtr names, unsigned want, -@@ -183,7 +217,11 @@ XkbDDXCompileKeymapByNames( XkbDescPtr xkb, +@@ -183,10 +217,14 @@ XkbDDXCompileKeymapByNames( XkbDescPtr xkb, int nameRtrnLen) { FILE * out; @@ -165,7 +160,11 @@ index 4ccddda..63b9f97 100644 + int ret, result; const char *emptystring = ""; - const char *xkbbasedirflag = emptystring; +- char *xkbbasedirflag = NULL; ++ char *xkbbasedirflag = NULL; + const char *xkbbindir = emptystring; + const char *xkbbindirsep = emptystring; + @@ -194,15 +232,67 @@ XkbDDXCompileKeymapByNames( XkbDescPtr xkb, /* WIN32 has no popen. The input must be stored in a file which is used as input for xkbcomp. xkbcomp does not read from stdin. */ @@ -237,7 +236,7 @@ index 4ccddda..63b9f97 100644 #ifdef WIN32 strcpy(tmpname, Win32TempDir()); strcat(tmpname, "\\xkb_XXXXXX"); -@@ -225,19 +315,30 @@ XkbDDXCompileKeymapByNames( XkbDescPtr xkb, +@@ -225,14 +315,20 @@ XkbDDXCompileKeymapByNames( XkbDescPtr xkb, } } @@ -253,14 +252,16 @@ index 4ccddda..63b9f97 100644 xkbbindir, xkbbindirsep, ( (xkbDebugFlags < 2) ? 1 : ((xkbDebugFlags > 10) ? 10 : (int)xkbDebugFlags) ), -- xkbbasedirflag, xkmfile, -+ xkbbasedirflag, xkbfile, +- xkbbasedirflag ? xkbbasedirflag : "", xkmfile, ++ xkbbasedirflag ? xkbbasedirflag : "", xkbfile, PRE_ERROR_MSG, ERROR_PREFIX, POST_ERROR_MSG1, - xkm_output_dir, keymap); + tmpXkmFile); - if (xkbbasedirflag != emptystring) { - xfree(xkbbasedirflag); + free(xkbbasedirflag); + +@@ -241,6 +337,11 @@ XkbDDXCompileKeymapByNames( XkbDescPtr xkb, + return FALSE; } + /* there's a potential race condition between calling tempnam() @@ -271,7 +272,7 @@ index 4ccddda..63b9f97 100644 #ifndef WIN32 out= Popen(buf,"w"); #else -@@ -245,31 +346,41 @@ XkbDDXCompileKeymapByNames( XkbDescPtr xkb, +@@ -248,31 +349,41 @@ XkbDDXCompileKeymapByNames( XkbDescPtr xkb, #endif if (out!=NULL) { @@ -316,7 +317,7 @@ index 4ccddda..63b9f97 100644 + goto _ret; } - if (buf != NULL) -- xfree (buf); +- free(buf); - return TRUE; + result = TRUE; + goto _ret; @@ -327,7 +328,7 @@ index 4ccddda..63b9f97 100644 #ifdef WIN32 /* remove the temporary file */ unlink(tmpname); -@@ -284,9 +395,16 @@ XkbDDXCompileKeymapByNames( XkbDescPtr xkb, +@@ -287,9 +398,16 @@ XkbDDXCompileKeymapByNames( XkbDescPtr xkb, } if (nameRtrn) nameRtrn[0]= '\0'; @@ -337,15 +338,16 @@ index 4ccddda..63b9f97 100644 + if (tmpXkmFile) + free(tmpXkmFile); + if (canonicalXkmFileName) -+ xfree(canonicalXkmFileName); ++ free(canonicalXkmFileName); if (buf != NULL) - xfree (buf); +- free(buf); - return FALSE; ++ free (buf); + return result; } static FILE * -@@ -370,7 +488,6 @@ unsigned missing; +@@ -373,7 +491,6 @@ unsigned missing; DebugF("Loaded XKB keymap %s, defined=0x%x\n",fileName,(*xkbRtrn)->defined); } fclose(file); @@ -353,6 +355,3 @@ index 4ccddda..63b9f97 100644 return (need|want)&(~missing); } --- -1.5.6.5 - diff --git a/packages/x11/xserver/xorg-server/patches/use-sloppy-heuristic-first-for-initial-mode.diff b/packages/x11/xserver/xorg-server/patches/use-sloppy-heuristic-first-for-initial-mode.diff index 4960634cd1..a76205bb85 100644 --- a/packages/x11/xserver/xorg-server/patches/use-sloppy-heuristic-first-for-initial-mode.diff +++ b/packages/x11/xserver/xorg-server/patches/use-sloppy-heuristic-first-for-initial-mode.diff @@ -1,17 +1,17 @@ diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c -index 84d3cac..673612f 100644 +index 7f6fad3..5e8a635 100644 --- a/hw/xfree86/modes/xf86Crtc.c +++ b/hw/xfree86/modes/xf86Crtc.c -@@ -2248,10 +2248,10 @@ xf86InitialConfiguration (ScrnInfoPtr scrn, Bool canGrow) - xf86DrvMsg(i, X_INFO, "Using user preference for initial modes\n"); - else if (xf86TargetPreferred(scrn, config, modes, enabled, width, height)) - xf86DrvMsg(i, X_INFO, "Using exact sizes for initial modes\n"); -- else if (xf86TargetAspect(scrn, config, modes, enabled, width, height)) -- xf86DrvMsg(i, X_INFO, "Using fuzzy aspect match for initial modes\n"); - else if (xf86TargetFallback(scrn, config, modes, enabled, width, height)) - xf86DrvMsg(i, X_INFO, "Using sloppy heuristic for initial modes\n"); -+ else if (xf86TargetAspect(scrn, config, modes, enabled, width, height)) -+ xf86DrvMsg(i, X_INFO, "Using fuzzy aspect match for initial modes\n"); - else - xf86DrvMsg(i, X_WARNING, "Unable to find initial modes\n"); - +@@ -2379,10 +2379,10 @@ xf86InitialConfiguration (ScrnInfoPtr scrn, Bool canGrow) + xf86DrvMsg(i, X_INFO, "Using user preference for initial modes\n"); + else if (xf86TargetPreferred(scrn, config, modes, enabled, width, height)) + xf86DrvMsg(i, X_INFO, "Using exact sizes for initial modes\n"); +- else if (xf86TargetAspect(scrn, config, modes, enabled, width, height)) +- xf86DrvMsg(i, X_INFO, "Using fuzzy aspect match for initial modes\n"); + else if (xf86TargetFallback(scrn, config, modes, enabled, width, height)) + xf86DrvMsg(i, X_INFO, "Using sloppy heuristic for initial modes\n"); ++ else if (xf86TargetAspect(scrn, config, modes, enabled, width, height)) ++ xf86DrvMsg(i, X_INFO, "Using fuzzy aspect match for initial modes\n"); + else + xf86DrvMsg(i, X_WARNING, "Unable to find initial modes\n"); + } diff --git a/packages/x11/xserver/xorg-server/patches/xserver-1.5.0-bg-none-root.diff b/packages/x11/xserver/xorg-server/patches/xserver-1.5.0-bg-none-root.diff index ae65d0be4c..78a8c84df4 100644 --- a/packages/x11/xserver/xorg-server/patches/xserver-1.5.0-bg-none-root.diff +++ b/packages/x11/xserver/xorg-server/patches/xserver-1.5.0-bg-none-root.diff @@ -1,17 +1,3 @@ -From eff3bb9c6f0b71a57705885a3fe6e6469d252d2b Mon Sep 17 00:00:00 2001 -From: Fedora X Ninjas -Date: Wed, 20 Jan 2010 14:46:12 +1300 -Subject: [PATCH] Add nr for background=none root - ---- - dix/globals.c | 1 + - dix/window.c | 12 +++++++----- - hw/xfree86/common/xf86Init.c | 11 +++++++++++ - hw/xfree86/common/xf86str.h | 5 ++++- - include/opaque.h | 1 + - os/utils.c | 3 +++ - 6 files changed, 27 insertions(+), 6 deletions(-) - diff --git a/dix/globals.c b/dix/globals.c index c24a94f..907a5e8 100644 --- a/dix/globals.c @@ -25,10 +11,10 @@ index c24a94f..907a5e8 100644 int cursorScreenDevPriv[MAXSCREENS]; diff --git a/dix/window.c b/dix/window.c -index caff1cb..be1d1c4 100644 +index caff1cb..f343d25 100644 --- a/dix/window.c +++ b/dix/window.c -@@ -466,22 +466,24 @@ InitRootWindow(WindowPtr pWin) +@@ -466,23 +466,24 @@ InitRootWindow(WindowPtr pWin) pWin->optional->cursor = rootCursor; rootCursor->refcnt++; @@ -38,28 +24,28 @@ index caff1cb..be1d1c4 100644 if (party_like_its_1989) { MakeRootTile(pWin); backFlag |= CWBackPixmap; -+ pScreen->ChangeWindowAttributes(pWin, backFlag); ++ (*pScreen->ChangeWindowAttributes)(pWin, backFlag); + } else if (bgNoneRoot) { -+ /* nothing, handled in xf86CreateRootWindow */ ++ /* nothing, handled in xf86CreateRootWindow */ } else { if (whiteRoot) pWin->background.pixel = pScreen->whitePixel; else pWin->background.pixel = pScreen->blackPixel; backFlag |= CWBackPixel; -- } ++ (*pScreen->ChangeWindowAttributes)(pWin, backFlag); + } - pWin->backingStore = defaultBackingStore; - pWin->forcedBS = (defaultBackingStore != NotUseful); - /* We SHOULD check for an error value here XXX */ - (*pScreen->ChangeWindowAttributes)(pWin, backFlag); -+ pScreen->ChangeWindowAttributes(pWin, backFlag); -+ } - +- MapWindow(pWin, serverClient); } + diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c -index 6707448..776b898 100644 +index c9baff3..81c62f2 100644 --- a/hw/xfree86/common/xf86Init.c +++ b/hw/xfree86/common/xf86Init.c @@ -77,6 +77,7 @@ @@ -70,7 +56,7 @@ index 6707448..776b898 100644 #include "xf86VGAarbiter.h" #include "globals.h" -@@ -254,6 +255,7 @@ xf86CreateRootWindow(WindowPtr pWin) +@@ -249,6 +250,7 @@ xf86CreateRootWindow(WindowPtr pWin) int ret = TRUE; int err = Success; ScreenPtr pScreen = pWin->drawable.pScreen; @@ -78,27 +64,27 @@ index 6707448..776b898 100644 RootWinPropPtr pProp; CreateWindowProcPtr CreateWindow = (CreateWindowProcPtr) dixLookupPrivate(&pScreen->devPrivates, xf86CreateRootWindowKey); -@@ -305,6 +307,15 @@ xf86CreateRootWindow(WindowPtr pWin) +@@ -300,6 +302,15 @@ xf86CreateRootWindow(WindowPtr pWin) } } -+ if (bgNoneRoot && pScrn->canDoBGNoneRoot) { -+ pWin->backgroundState = XaceBackgroundNoneState(pWin); -+ pWin->background.pixel = pScreen->whitePixel; -+ pScreen->ChangeWindowAttributes(pWin, CWBackPixmap | CWBorderPixel | CWCursor | CWBackingStore); ++ if (bgNoneRoot && pScrn->canDoBGNoneRoot || 1) { ++ pWin->backgroundState = XaceBackgroundNoneState(pWin); ++ pWin->background.pixel = pScreen->whitePixel; ++ pScreen->ChangeWindowAttributes(pWin, CWBackPixmap | CWBorderPixel | CWCursor | CWBackingStore); + } else { -+ pWin->background.pixel = pScreen->blackPixel; -+ pScreen->ChangeWindowAttributes(pWin, CWBackPixel | CWBorderPixel | CWCursor | CWBackingStore); ++ pWin->background.pixel = pScreen->blackPixel; ++ pScreen->ChangeWindowAttributes(pWin, CWBackPixel | CWBorderPixel | CWCursor | CWBackingStore); + } + DebugF("xf86CreateRootWindow() returns %d\n", ret); return (ret); } diff --git a/hw/xfree86/common/xf86str.h b/hw/xfree86/common/xf86str.h -index de1f1b6..5c3aa00 100644 +index b9a2e06..fd28664 100644 --- a/hw/xfree86/common/xf86str.h +++ b/hw/xfree86/common/xf86str.h -@@ -503,7 +503,7 @@ typedef struct _confdrirec { +@@ -516,7 +516,7 @@ typedef struct _confdrirec { } confDRIRec, *confDRIPtr; /* These values should be adjusted when new fields are added to ScrnInfoRec */ @@ -107,12 +93,12 @@ index de1f1b6..5c3aa00 100644 #define NUM_RESERVED_POINTERS 14 #define NUM_RESERVED_FUNCS 11 -@@ -775,6 +775,9 @@ typedef struct _ScrnInfoRec { - ClockRangePtr clockRanges; +@@ -788,6 +788,9 @@ typedef struct _ScrnInfoRec { + ClockRangesPtr clockRanges; int adjustFlags; + /* -nr support */ -+ int canDoBGNoneRoot; ++ int canDoBGNoneRoot; + /* * These can be used when the minor ABI version is incremented. @@ -130,7 +116,7 @@ index b3c7c70..fcc8c95 100644 extern _X_EXPORT Bool CoreDump; diff --git a/os/utils.c b/os/utils.c -index d7c8388..40583d0 100644 +index 3718b17..52e30d3 100644 --- a/os/utils.c +++ b/os/utils.c @@ -513,6 +513,7 @@ void UseMsg(void) @@ -150,6 +136,3 @@ index d7c8388..40583d0 100644 else if ( strcmp( argv[i], "-maxbigreqsize") == 0) { if(++i < argc) { long reqSizeArg = atol(argv[i]); --- -1.6.6 - diff --git a/packages/x11/xserver/xorg-server/url b/packages/x11/xserver/xorg-server/url index 5f18945c26..cde0b0e5c5 100644 --- a/packages/x11/xserver/xorg-server/url +++ b/packages/x11/xserver/xorg-server/url @@ -1 +1 @@ -http://xorg.freedesktop.org/archive/individual/xserver/xorg-server-1.8.2.tar.bz2 +http://xorg.freedesktop.org/archive/individual/xserver/xorg-server-1.9.0.tar.bz2 \ No newline at end of file