diff --git a/packages/x11/xserver/xorg-server/build b/packages/x11/xserver/xorg-server/build index 6a9635034d..bb06faf44d 100755 --- a/packages/x11/xserver/xorg-server/build +++ b/packages/x11/xserver/xorg-server/build @@ -29,8 +29,7 @@ $SCRIPTS/build libfontenc $SCRIPTS/build pixman $SCRIPTS/build fontsproto $SCRIPTS/build xf86bigfontproto -$SCRIPTS/build dbus -$SCRIPTS/build hal +$SCRIPTS/build udev if [ "$XINERAMA_SUPPORT" = "yes" ]; then $SCRIPTS/build libXinerama @@ -40,7 +39,6 @@ else fi cd $PKG_BUILD -autoconf ./configure --host=$TARGET_NAME \ --build=$HOST_NAME \ --prefix=/usr \ @@ -61,7 +59,6 @@ autoconf --enable-registry \ --disable-composite \ $XORG_XINERAMA \ - --enable-null-root-cursor \ --enable-mitshm \ --disable-xres \ --disable-record \ @@ -83,8 +80,9 @@ autoconf --enable-dbe \ --disable-xf86bigfont \ --enable-dpms \ - --enable-config-dbus \ - --enable-config-hal \ + --enable-config-udev \ + --disable-config-dbus \ + --disable-config-hal \ --enable-xfree86-utils \ --enable-xorg \ --disable-dmx \ @@ -95,7 +93,6 @@ autoconf --disable-xwin \ --disable-kdrive \ --disable-xephyr \ - --disable-xsdl \ --disable-xfake \ --enable-xfbdev \ --disable-install-setuid \ @@ -103,14 +100,15 @@ autoconf --with-int10=x86emu \ --disable-ipv6 \ --with-gnu-ld \ + --with-sha1=libcrypto \ --with-os-vendor="OpenELEC" \ --with-module-dir=$XORG_PATH_MODULES \ --with-xkb-path=$XORG_PATH_XKB \ --with-xkb-output=/var/cache/xkb \ --with-log-dir=/var/log \ --with-dri-driver-path=$XORG_PATH_DRI \ - --with-fontdir=$XORG_PATH_FONTS \ - --with-default-font-path="$XORG_PATH_FONTS/liberation,$XORG_PATH_FONTS/misc,built-ins" \ + --with-fontrootdir=$XORG_PATH_FONTS \ + --with-default-font-path="$XORG_PATH_FONTS/misc,built-ins" make diff --git a/packages/x11/xserver/xorg-server/config/10-quirks.conf b/packages/x11/xserver/xorg-server/config/10-quirks.conf new file mode 100644 index 0000000000..7afad22dc6 --- /dev/null +++ b/packages/x11/xserver/xorg-server/config/10-quirks.conf @@ -0,0 +1,10 @@ +# Collection of quirks and blacklist/whitelists for specific devices. + + +# Accelerometer device, posts data through ABS_X/ABS_Y, making X unusable +# http://bugs.freedesktop.org/show_bug.cgi?id=22442 +Section "InputClass" + Identifier "ThinkPad HDAPS accelerometer blacklist" + MatchProduct "ThinkPad HDAPS accelerometer data" + Option "Ignore" "on" +EndSection diff --git a/packages/x11/xserver/xorg-server/init.d/60_xorg b/packages/x11/xserver/xorg-server/init.d/60_xorg index de8f1fcd26..5dd0d31718 100644 --- a/packages/x11/xserver/xorg-server/init.d/60_xorg +++ b/packages/x11/xserver/xorg-server/init.d/60_xorg @@ -3,7 +3,7 @@ # runlevels: openelec XORG_NVIDIA_CONF="/etc/X11/xorg-nvidia.conf" -XORG_ARGS="-s 0 -noreset -allowMouseOpenFail -nocursor -nolisten tcp" +XORG_ARGS="-s 0 -nr -noreset -allowMouseOpenFail -nocursor -nolisten tcp" #------------------------------------------------------------------------------- # do not change anything below @@ -13,6 +13,7 @@ XORG_ARGS="-s 0 -noreset -allowMouseOpenFail -nocursor -nolisten tcp" if lspci -n | grep 0300 | grep -q 10de; then + XORG_ARGS="$XORG_ARGS -ignoreABI" [ -f $XORG_NVIDIA_CONF ] && XORG_ARGS="$XORG_ARGS -config $XORG_NVIDIA_CONF" progress "Found nVidia card, enabling NVIDIA GLX as requested" diff --git a/packages/x11/xserver/xorg-server/install b/packages/x11/xserver/xorg-server/install index a510cb56b4..0937985fcf 100755 --- a/packages/x11/xserver/xorg-server/install +++ b/packages/x11/xserver/xorg-server/install @@ -13,8 +13,7 @@ $SCRIPTS/install libXv $SCRIPTS/install libdrm $SCRIPTS/install Mesa $SCRIPTS/install pixman -$SCRIPTS/install dbus -$SCRIPTS/install hal +$SCRIPTS/install udev [ "$XINERAMA_SUPPORT" = "yes" ] && $SCRIPTS/install libXinerama @@ -54,11 +53,8 @@ mkdir -p $XORG_DST/multimedia mkdir -p $INSTALL/usr/lib/xorg cp $PKG_BUILD/dix/protocol.txt $INSTALL/usr/lib/xorg -mkdir -p $INSTALL/etc/dbus-1/system.d - cp $PKG_BUILD/config/xorg-server.conf $INSTALL/etc/dbus-1/system.d - -mkdir -p $INSTALL/usr/share/hal/fdi/policy/10osvendor/ - cp $PKG_BUILD/config/x11-input.fdi $INSTALL/usr/share/hal/fdi/policy/10osvendor/10-x11-input.fdi +mkdir -p $INSTALL/etc/X11/xorg.conf.d + cp -PR $PKG_DIR/config/*.conf $INSTALL/etc/X11/xorg.conf.d #Fonts $SCRIPTS/install encodings @@ -76,11 +72,9 @@ mkdir -p $INSTALL/usr/share/hal/fdi/policy/10osvendor/ $SCRIPTS/install xf86-input-synaptics $SCRIPTS/install xf86-input-wacom -get_graphicdrivers - for drv in $XORG_DRIVERS; do $SCRIPTS/install xf86-video-$drv done -#Tools +# Tools $SCRIPTS/install pciutils diff --git a/packages/x11/xserver/xorg-server/patches/01_cache-xkbcomp-output-for-fast-start-up-v5.3.diff b/packages/x11/xserver/xorg-server/patches/01_cache-xkbcomp-output-for-fast-start-up-v5.3.diff deleted file mode 100644 index 0312982178..0000000000 --- a/packages/x11/xserver/xorg-server/patches/01_cache-xkbcomp-output-for-fast-start-up-v5.3.diff +++ /dev/null @@ -1,336 +0,0 @@ -diff -Naur xorg-server-1.7.99.1/configure xorg-server-1.7.99.1.patch/configure -diff -Naur xorg-server-1.7.99.1/configure.ac xorg-server-1.7.99.1.patch/configure.ac ---- xorg-server-1.7.99.1/configure.ac 2009-10-21 18:06:54.000000000 +0200 -+++ xorg-server-1.7.99.1.patch/configure.ac 2009-10-24 10:51:17.074488205 +0200 -@@ -501,9 +501,9 @@ - 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" ]) --AC_ARG_WITH(xkb-output, AS_HELP_STRING([--with-xkb-output=PATH], [Path to XKB output dir (default: ${datadir}/X11/xkb/compiled)]), -+AC_ARG_WITH(xkb-output, AS_HELP_STRING([--with-xkb-output=PATH], [Path to XKB output dir (default: ${localstatedir}/cache/xkb)]), - [ XKBOUTPUT="$withval" ], -- [ XKBOUTPUT="compiled" ]) -+ [ XKBOUTPUT="${localstatedir}/cache/xkb" ]) - AC_ARG_WITH(default-xkb-rules, AS_HELP_STRING([--with-default-xkb-rules=RULES], - [Keyboard ruleset (default: base/evdev)]), - [ XKB_DFLT_RULES="$withval" ], -@@ -1099,7 +1099,7 @@ - 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 -- XKBOUTPUT="$XKB_BASE_DIRECTORY/$XKBOUTPUT" -+ AC_MSG_ERROR([xkb-output must be an absolute path.]) - fi - - dnl XKM_OUTPUT_DIR (used in code) must end in / or file names get hosed -diff -Naur xorg-server-1.7.99.1/xkb/ddxLoad.c xorg-server-1.7.99.1.patch/xkb/ddxLoad.c ---- xorg-server-1.7.99.1/xkb/ddxLoad.c 2009-10-21 15:46:53.000000000 +0200 -+++ xorg-server-1.7.99.1.patch/xkb/ddxLoad.c 2009-10-24 10:50:23.303364966 +0200 -@@ -30,6 +30,13 @@ - - #include - -+#ifdef HAVE_SHA1_IN_LIBMD /* Use libmd for SHA1 */ -+# include -+#else /* Use OpenSSL's libcrypto */ -+# include /* buggy openssl/sha.h wants size_t */ -+# include -+#endif -+ - #include - #include - #include -@@ -43,24 +50,13 @@ - #define XKBSRV_NEED_FILE_FUNCS - #include - #include -+#include - #include "xkb.h" - - #if defined(CSRG_BASED) || defined(linux) || defined(__GNU__) - #include - #endif - -- /* -- * If XKM_OUTPUT_DIR specifies a path without a leading slash, it is -- * relative to the top-level XKB configuration directory. -- * Making the server write to a subdirectory of that directory -- * requires some work in the general case (install procedure -- * has to create links to /var or somesuch on many machines), -- * so we just compile into /usr/tmp for now. -- */ --#ifndef XKM_OUTPUT_DIR --#define XKM_OUTPUT_DIR "compiled/" --#endif -- - #define PRE_ERROR_MSG "\"The XKEYBOARD keymap compiler (xkbcomp) reports:\"" - #define ERROR_PREFIX "\"> \"" - #define POST_ERROR_MSG1 "\"Errors from xkbcomp are not fatal to the X server\"" -@@ -175,6 +171,45 @@ - } - - static Bool -+Sha1Asc(char sha1Asc[SHA_DIGEST_LENGTH*2+1], const char * input) -+{ -+ int i; -+ unsigned char sha1[SHA_DIGEST_LENGTH]; -+ -+#ifdef HAVE_SHA1_IN_LIBMD /* Use libmd for SHA1 */ -+ SHA1_CTX ctx; -+ -+ SHA1Init (&ctx); -+ SHA1Update (&ctx, input, strlen(input)); -+ SHA1Final (sha1, &ctx); -+#else /* Use OpenSSL's libcrypto */ -+ SHA_CTX ctx; -+ int success; -+ -+ success = SHA1_Init (&ctx); -+ if (! success) -+ return BadAlloc; -+ -+ success = SHA1_Update (&ctx, input, strlen(input)); -+ if (! success) -+ return BadAlloc; -+ -+ success = SHA1_Final (sha1, &ctx); -+ if (! success) -+ return BadAlloc; -+#endif -+ -+ /* convert sha1 to sha1_asc */ -+ for(i=0; i nameRtrnLen) && nameRtrn) { -+ ErrorF("[xkb] nameRtrn too small to hold xkmfile name\n"); -+ return False; -+ } -+ strncpy(nameRtrn, xkmfile, nameRtrnLen); -+ -+ /* if the xkm file already exists, reuse it */ -+ canonicalXkmFileName = Xprintf("%s%s.xkm", xkm_output_dir, xkmfile); -+ if (access(canonicalXkmFileName, R_OK) == 0) { -+ /* yes, we can reuse the old xkm file */ -+ LogMessage(X_INFO, "XKB: reuse xkmfile %s\n", canonicalXkmFileName); -+ result = True; -+ goto _ret; -+ } -+ LogMessage(X_INFO, "XKB: generating xkmfile %s\n", canonicalXkmFileName); -+ -+ /* continue to call xkbcomp to compile the keymap. to avoid race -+ condition, we compile it to a tmpfile then rename it to -+ xkmfile */ -+ - #ifdef WIN32 - strcpy(tmpname, Win32TempDir()); - strcat(tmpname, "\\xkb_XXXXXX"); -@@ -225,19 +318,30 @@ - } - } - -+ if ( (tmpXkmFile = tempnam(xkm_output_dir, NULL)) == NULL ) { -+ ErrorF("[xkb] Can't generate temp xkm file name"); -+ result = False; -+ goto _ret; -+ } -+ - buf = Xprintf("\"%s%sxkbcomp\" -w %d %s -xkm \"%s\" " -- "-em1 %s -emp %s -eml %s \"%s%s.xkm\"", -+ "-em1 %s -emp %s -eml %s \"%s\"", - xkbbindir, xkbbindirsep, - ( (xkbDebugFlags < 2) ? 1 : - ((xkbDebugFlags > 10) ? 10 : (int)xkbDebugFlags) ), -- xkbbasedirflag, xkmfile, -+ xkbbasedirflag, xkbfile, - PRE_ERROR_MSG, ERROR_PREFIX, POST_ERROR_MSG1, -- xkm_output_dir, keymap); -+ tmpXkmFile); - - if (xkbbasedirflag != emptystring) { - xfree(xkbbasedirflag); - } - -+ /* there's a potential race condition between calling tempnam() -+ and invoking xkbcomp to write the result file (potential temp -+ file name conflicts), but since xkbcomp is a standalone -+ program, we have to live with this */ -+ - #ifndef WIN32 - out= Popen(buf,"w"); - #else -@@ -245,31 +349,43 @@ - #endif - - if (out!=NULL) { --#ifdef DEBUG -- if (xkbDebugFlags) { -- ErrorF("[xkb] XkbDDXCompileKeymapByNames compiling keymap:\n"); -- XkbWriteXKBKeymapForNames(stderr,names,xkb,want,need); -+ /* write XKBKeyMapBuf to xkbcomp */ -+ if (EOF==fputs(xkbKeyMapBuf, out)) -+ { -+ ErrorF("[xkb] Sending keymap to xkbcomp failed\n"); -+ result = False; -+ goto _ret; - } --#endif -- XkbWriteXKBKeymapForNames(out,names,xkb,want,need); - #ifndef WIN32 - if (Pclose(out)==0) - #else - if (fclose(out)==0 && System(buf) >= 0) - #endif - { -+ /* xkbcomp success */ - if (xkbDebugFlags) - DebugF("[xkb] xkb executes: %s\n",buf); -- if (nameRtrn) { -- strncpy(nameRtrn,keymap,nameRtrnLen); -- nameRtrn[nameRtrnLen-1]= '\0'; -+ -+ /* if canonicalXkmFileName already exists now, we simply -+ overwrite it, this is OK */ -+ ret = rename(tmpXkmFile, canonicalXkmFileName); -+ if (0 != ret) { -+ ErrorF("[xkb] Can't rename %s to %s, error: %s\n", -+ tmpXkmFile, canonicalXkmFileName, -+ strerror(errno)); -+ -+ /* in case of error, don't unlink tmpXkmFile, leave it -+ for debugging */ -+ -+ result = False; -+ goto _ret; - } -- if (buf != NULL) -- xfree (buf); -- return True; -+ -+ result = True; -+ goto _ret; - } - else -- LogMessage(X_ERROR, "Error compiling keymap (%s)\n", keymap); -+ LogMessage(X_ERROR, "Error compiling keymap (%s)\n", xkbfile); - #ifdef WIN32 - /* remove the temporary file */ - unlink(tmpname); -@@ -284,9 +400,17 @@ - } - if (nameRtrn) - nameRtrn[0]= '\0'; -+ result = False; -+ -+_ret: -+ if (tmpXkmFile) -+ free(tmpXkmFile); -+ if (canonicalXkmFileName) -+ xfree(canonicalXkmFileName); - if (buf != NULL) - xfree (buf); -- return False; -+ -+ return result; - } - - static FILE * -@@ -370,7 +494,6 @@ - DebugF("Loaded XKB keymap %s, defined=0x%x\n",fileName,(*xkbRtrn)->defined); - } - fclose(file); -- (void) unlink (fileName); - return (need|want)&(~missing); - } - -diff -Naur xorg-server-1.7.99.1/xkb/README.compiled xorg-server-1.7.99.1.patch/xkb/README.compiled ---- xorg-server-1.7.99.1/xkb/README.compiled 2008-10-13 01:19:06.000000000 +0200 -+++ xorg-server-1.7.99.1.patch/xkb/README.compiled 2009-10-24 10:50:28.069400854 +0200 -@@ -4,10 +4,10 @@ - or some other tool might destroy or replace the files in this directory, - so it is not a safe place to store compiled keymaps for long periods of - time. The default keymap for any server is usually stored in: -- X-default.xkm --where is the display number of the server in question, which makes --it possible for several servers *on the same host* to share the same --directory. -+ server-.xkm -+ -+where is the SHA1 hash of keymap source, so that compiled -+keymap of different keymap sources are stored in different files. - - Unless the X server is modified, sharing this directory between servers on - different hosts could cause problems. diff --git a/packages/x11/xserver/xorg-server/patches/100_xserver_exa_force_greedy.diff b/packages/x11/xserver/xorg-server/patches/100_xserver_exa_force_greedy.diff deleted file mode 100644 index 24dd77017a..0000000000 --- a/packages/x11/xserver/xorg-server/patches/100_xserver_exa_force_greedy.diff +++ /dev/null @@ -1,30 +0,0 @@ ---- xorg-server.orig/exa/exa.c 2008-10-14 23:24:44.000000000 +0200 -+++ xorg-server/exa/exa.c 2008-10-14 23:25:52.000000000 +0200 -@@ -882,6 +882,11 @@ - dixSetPrivate(&pScreen->devPrivates, exaScreenPrivateKey, pExaScr); - - pExaScr->migration = ExaMigrationAlways; -+ if (pScreenInfo->flags & EXA_MIGRATION_GREEDY) { -+ pExaScr->migration = ExaMigrationGreedy; -+ LogMessage(X_INFO, "EXA(%d): Forcing greedy migration option\n", -+ pScreen->myNum); -+ } - - exaDDXDriverInit(pScreen); - ---- xorg-server.orig/exa/exa.h 2008-10-14 23:24:44.000000000 +0200 -+++ xorg-server/exa/exa.h 2008-10-14 23:25:52.000000000 +0200 -@@ -737,6 +737,13 @@ - #define EXA_TWO_BITBLT_DIRECTIONS (1 << 2) - - /** -+ * EXA_MIGRATION_GREEDY indicates to EXA that the driver prefers to -+ * use the "greedy" migration heuristic. This is to work around -+ * issues with EXA on the Intel 965 chipset. (LP: #177492) -+ */ -+#define EXA_MIGRATION_GREEDY (1 << 3) -+ -+/** - * EXA_HANDLES_PIXMAPS indicates to EXA that the driver can handle - * all pixmap addressing and migration. - */ diff --git a/packages/x11/xserver/xorg-server/patches/110_fedora_no_move_damage.diff b/packages/x11/xserver/xorg-server/patches/110_fedora_no_move_damage.diff deleted file mode 100644 index a1d676677a..0000000000 --- a/packages/x11/xserver/xorg-server/patches/110_fedora_no_move_damage.diff +++ /dev/null @@ -1,35 +0,0 @@ -Disable damage notifications on move for manually redirected windows. -The automatic compositor needs damage notification on move, but a -compositing manager doesn't. - -Index: xorg-server/composite/compwindow.c -=================================================================== ---- xorg-server.orig/composite/compwindow.c 2008-06-18 10:28:16.000000000 +0300 -+++ xorg-server/composite/compwindow.c 2008-06-18 12:06:20.000000000 +0300 -@@ -580,12 +580,15 @@ - } - else - { -+ CompWindowPtr cw = GetCompWindow (pWin); -+ - ptOldOrg.x -= dx; - ptOldOrg.y -= dy; - REGION_TRANSLATE (prgnSrc, prgnSrc, - pWin->drawable.x - ptOldOrg.x, - pWin->drawable.y - ptOldOrg.y); -- DamageRegionAppend(&pWin->drawable, prgnSrc); -+ if (pWin->redirectDraw && cw->update == CompositeRedirectAutomatic) -+ DamageRegionAppend(&pWin->drawable, prgnSrc); - } - cs->CopyWindow = pScreen->CopyWindow; - pScreen->CopyWindow = compCopyWindow; -@@ -664,7 +667,8 @@ - /* - * Report that as damaged so it will be redrawn - */ -- DamageRegionAppend(&pWin->drawable, &damage); -+ if (cw->update == CompositeRedirectAutomatic) -+ DamageRegionAppend(&pWin->drawable, &damage); - REGION_UNINIT (pScreen, &damage); - /* - * Save the new border clip region diff --git a/packages/x11/xserver/xorg-server/patches/156_exevents_copykeyclass_nullptrcheck.diff b/packages/x11/xserver/xorg-server/patches/156_exevents_copykeyclass_nullptrcheck.diff deleted file mode 100644 index d16c2f0384..0000000000 --- a/packages/x11/xserver/xorg-server/patches/156_exevents_copykeyclass_nullptrcheck.diff +++ /dev/null @@ -1,22 +0,0 @@ -diff -Naur xorg-server-1.6.99.902.orig/Xi/exevents.c xorg-server-1.6.99.902/Xi/exevents.c ---- xorg-server-1.6.99.902.orig/Xi/exevents.c 2009-09-26 14:12:03.000000000 +0200 -+++ xorg-server-1.6.99.902/Xi/exevents.c 2009-09-26 18:55:30.000000000 +0200 -@@ -195,11 +195,15 @@ - static void - CopyKeyClass(DeviceIntPtr device, DeviceIntPtr master) - { -- KeyClassPtr mk = master->key; -- KeyClassPtr dk = device->key; -+ KeyClassPtr mk, dk; - int i; - -- if (device == master) -+ if (device == master || device == NULL || master == NULL) -+ return; -+ -+ mk = master->key; -+ dk = device->key; -+ if (dk == NULL || mk == NULL) - return; - - mk->sourceid = device->id; diff --git a/packages/x11/xserver/xorg-server/patches/157_check_null_modes.diff b/packages/x11/xserver/xorg-server/patches/157_check_null_modes.diff deleted file mode 100644 index 7bdcb8b5da..0000000000 --- a/packages/x11/xserver/xorg-server/patches/157_check_null_modes.diff +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/hw/xfree86/common/xf86VidMode.c b/hw/xfree86/common/xf86VidMode.c -index d855bd1..2af8c00 100644 ---- a/hw/xfree86/common/xf86VidMode.c -+++ b/hw/xfree86/common/xf86VidMode.c -@@ -226,6 +226,9 @@ VidModeGetFirstModeline(int scrnIndex, pointer *mode, int *dotClock) - - pScrn = xf86Screens[scrnIndex]; - pVidMode = VMPTR(pScrn->pScreen); -+ if (pScrn->modes == NULL) -+ return FALSE; -+ - pVidMode->First = pScrn->modes; - pVidMode->Next = pVidMode->First->next; - diff --git a/packages/x11/xserver/xorg-server/patches/158_raise_maxclients.diff b/packages/x11/xserver/xorg-server/patches/158_raise_maxclients.diff deleted file mode 100644 index cc30d58b4e..0000000000 --- a/packages/x11/xserver/xorg-server/patches/158_raise_maxclients.diff +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nurp patched/include/misc.h working/include/misc.h ---- patched/include/misc.h 2009-02-05 01:09:03.000000000 -0800 -+++ working/include/misc.h 2009-02-05 02:12:57.000000000 -0800 -@@ -86,7 +86,7 @@ extern unsigned long serverGeneration; - #ifndef MAXSCREENS - #define MAXSCREENS 16 - #endif --#define MAXCLIENTS 256 -+#define MAXCLIENTS 512 - #define MAXEXTENSIONS 128 - #define MAXFORMATS 8 - #define MAXDEVICES 20 /* input devices */ diff --git a/packages/x11/xserver/xorg-server/patches/162_null_crtc_in_rotation.diff b/packages/x11/xserver/xorg-server/patches/162_null_crtc_in_rotation.diff deleted file mode 100644 index 2e4a9450d8..0000000000 --- a/packages/x11/xserver/xorg-server/patches/162_null_crtc_in_rotation.diff +++ /dev/null @@ -1,13 +0,0 @@ -diff -Nurp patched/hw/xfree86/modes/xf86RandR12.c working/hw/xfree86/modes/xf86RandR12.c ---- patched/hw/xfree86/modes/xf86RandR12.c 2009-03-02 22:57:18.000000000 -0800 -+++ working/hw/xfree86/modes/xf86RandR12.c 2009-03-02 22:57:24.000000000 -0800 -@@ -944,7 +944,8 @@ xf86RandR12SetRotations (ScreenPtr pScre - for (c = 0; c < config->num_crtc; c++) { - xf86CrtcPtr crtc = config->crtc[c]; - -- RRCrtcSetRotations (crtc->randr_crtc, rotations); -+ if (crtc != NULL) -+ RRCrtcSetRotations (crtc->randr_crtc, rotations); - } - #endif - randrp->supported_rotations = rotations; diff --git a/packages/x11/xserver/xorg-server/patches/164_trap-aspect-ratios.diff b/packages/x11/xserver/xorg-server/patches/164_trap-aspect-ratios.diff deleted file mode 100644 index aa6d5c2f6b..0000000000 --- a/packages/x11/xserver/xorg-server/patches/164_trap-aspect-ratios.diff +++ /dev/null @@ -1,61 +0,0 @@ -diff --git a/hw/xfree86/ddc/interpret_edid.c b/hw/xfree86/ddc/interpret_edid.c -index c0e3df9..32288f7 100644 ---- a/hw/xfree86/ddc/interpret_edid.c -+++ b/hw/xfree86/ddc/interpret_edid.c -@@ -51,6 +51,15 @@ static void get_whitepoint_section(Uchar *, struct whitePoints *); - static void get_detailed_timing_section(Uchar*, struct detailed_timings *); - static Bool validate_version(int scrnIndex, struct edid_version *); - -+static Bool -+is_standard_aspect_ratio(int x, int y) -+{ -+ return ((x == 16 && y == 9) || -+ (x == 16 && y == 10) || -+ (x == 4 && y == 3) || -+ (x == 5 && y == 4)); -+} -+ - static void - handle_edid_quirks(xf86MonPtr m) - { -@@ -91,10 +100,7 @@ handle_edid_quirks(xf86MonPtr m) - * try to find the largest detailed timing that matches that aspect - * ratio and use that to fill in the feature section. - */ -- if ((m->features.hsize == 16 && m->features.vsize == 9) || -- (m->features.hsize == 16 && m->features.vsize == 10) || -- (m->features.hsize == 4 && m->features.vsize == 3) || -- (m->features.hsize == 5 && m->features.vsize == 4)) { -+ if (is_standard_aspect_ratio(m->features.hsize, m->features.vsize)) { - int real_hsize = 0, real_vsize = 0; - float target_aspect, timing_aspect; - -@@ -130,6 +136,28 @@ handle_edid_quirks(xf86MonPtr m) - xf86Msg(X_INFO, "Quirked EDID physical size to %dx%d cm\n", - m->features.hsize, m->features.vsize); - } -+ -+ /* -+ * Some monitors do the reverse, putting real size in the global block -+ * and aspect ratios in the detailed timings. Check, but only if we -+ * think we've got a real physical size. -+ */ -+ if (m->features.hsize && m->features.vsize) { -+ for (i = 0; i < 4; i++) { -+ if (m->det_mon[i].type == DT) { -+ struct detailed_timings *timing; -+ timing = &m->det_mon[i].section.d_timings; -+ -+ if (is_standard_aspect_ratio(timing->h_size, timing->v_size)) { -+ timing->h_size = m->features.hsize * 10; -+ timing->v_size = m->features.vsize * 10; -+ xf86Msg(X_INFO, "Quirked timing size to %dx%d mm\n", -+ timing->h_size, timing->v_size); -+ -+ } -+ } -+ } -+ } - } - - xf86MonPtr diff --git a/packages/x11/xserver/xorg-server/patches/166_nullptr_xinerama_keyrepeat.diff b/packages/x11/xserver/xorg-server/patches/166_nullptr_xinerama_keyrepeat.diff deleted file mode 100644 index 75dbf5d458..0000000000 --- a/packages/x11/xserver/xorg-server/patches/166_nullptr_xinerama_keyrepeat.diff +++ /dev/null @@ -1,30 +0,0 @@ -From f0ef98d8d54f5dfa3081b62ff672e0fe992b0a01 Mon Sep 17 00:00:00 2001 -From: Bryce Harrington -Date: Wed, 18 Mar 2009 23:28:51 -0700 -Subject: [PATCH] Check for null pointer dereference to prevent crash - on non-primary Xinerama screens when key repeating. - (LP: #324465) - -Signed-off-by: Bryce Harrington ---- - mi/mipointer.c | 4 ++++ - 1 files changed, 4 insertions(+), 0 deletions(-) - -diff --git a/mi/mipointer.c b/mi/mipointer.c -index e37316e..fe5947f 100644 ---- a/mi/mipointer.c -+++ b/mi/mipointer.c -@@ -306,6 +306,10 @@ miPointerWarpCursor (DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y) - pPointer = MIPOINTER(pDev); - SetupScreen (pScreen); - -+ /* Null pointer causes crash on keyrepeat with Xinerama LP: (#324465) */ -+ if (pPointer == NULL) -+ return; -+ - if (pPointer->pScreen != pScreen) - { - (*pScreenPriv->screenFuncs->NewEventScreen) (pDev, pScreen, TRUE); --- -1.6.0.4 - diff --git a/packages/x11/xserver/xorg-server/patches/167_nullptr_xisbread.diff b/packages/x11/xserver/xorg-server/patches/167_nullptr_xisbread.diff deleted file mode 100644 index 38921dd4bf..0000000000 --- a/packages/x11/xserver/xorg-server/patches/167_nullptr_xisbread.diff +++ /dev/null @@ -1,13 +0,0 @@ -diff -Nurp patched/hw/xfree86/common/xisb.c working/hw/xfree86/common/xisb.c ---- patched/hw/xfree86/common/xisb.c 2009-02-02 21:53:58.000000000 +0100 -+++ working/hw/xfree86/common/xisb.c 2009-02-02 21:55:09.000000000 +0100 -@@ -98,6 +98,9 @@ XisbRead (XISBuffer *b) - { - int ret; - -+ if (b == NULL) -+ return -2; -+ - if (b->current >= b->end) - { - if (b->block_duration >= 0) diff --git a/packages/x11/xserver/xorg-server/patches/169_mipointer_nullptr_checks.diff b/packages/x11/xserver/xorg-server/patches/169_mipointer_nullptr_checks.diff deleted file mode 100644 index 6484fe0152..0000000000 --- a/packages/x11/xserver/xorg-server/patches/169_mipointer_nullptr_checks.diff +++ /dev/null @@ -1,107 +0,0 @@ -From 179cec1d2f919d8d8096d6030b0ad9b6285dfd4d Mon Sep 17 00:00:00 2001 -From: Bryce Harrington -Date: Mon, 23 Mar 2009 14:25:18 -0700 -Subject: [PATCH] Check null pointers to not crash on keyrepeat with Xinerama LP: (#324465) - -With -nvidia, when using Xinerama, holding down a key in a text field -on a non-primary screen can cause an X crash. This is caused because -the MIPOINTER(pDev) can return a NULL pointer for a non-null pDev in -some cases, and the mipointer.c code lacks checks for this condition. - -MIPOINTER() is a macro #defined locally to mipointer.c, which calls into -dixLookupPrivate(), a routine which returns NULL in at least some -circumstances - such as if the memory could not be xcalloc'd for -whatever reason. Hopefully upstream can provide a better fix for this, -but for now it seems reasonable to check the return values of this macro -for NULL before usage, as a minimum. - -diff -Naur xorg-server-1.6.99.902.orig/mi/mipointer.c xorg-server-1.6.99.902/mi/mipointer.c ---- xorg-server-1.6.99.902.orig/mi/mipointer.c 2009-09-26 14:12:02.000000000 +0200 -+++ xorg-server-1.6.99.902/mi/mipointer.c 2009-09-26 19:02:00.000000000 +0200 -@@ -139,6 +139,10 @@ - if (DevHasCursor(pDev)) - { - pPointer = MIPOINTER(pDev); -+ if (pPointer == NULL) { -+ ErrorF("miPointerCloseScreen: Invalid input device pointer\n"); -+ return FALSE; -+ } - - if (pScreen == pPointer->pScreen) - pPointer->pScreen = 0; -@@ -191,6 +195,10 @@ - return FALSE; - - pPointer = MIPOINTER(pDev); -+ if (pPointer == NULL) { -+ ErrorF("miPointerDisplayCursor: Invalid input device pointer\n"); -+ return FALSE; -+ } - - pPointer->pCursor = pCursor; - pPointer->pScreen = pScreen; -@@ -204,6 +212,10 @@ - miPointerPtr pPointer; - - pPointer = MIPOINTER(pDev); -+ if (pPointer == NULL) { -+ ErrorF("miPointerConstrainCursor: Invalid input device pointer\n"); -+ return FALSE; -+ } - - pPointer->limits = *pBox; - pPointer->confined = PointerConfinedToScreen(pDev); -@@ -305,6 +317,10 @@ - - SetupScreen (pScreen); - pPointer = MIPOINTER(pDev); -+ if (pPointer == NULL) { -+ ErrorF("miPointerWarpCursor: Invalid input device pointer\n"); -+ return; -+ } - - if (pPointer->pScreen != pScreen) - { -@@ -436,13 +452,17 @@ - ScreenPtr pScreen; - miPointerPtr pPointer; - -- pPointer = MIPOINTER(pDev); -- - pScreen = screenInfo.screens[screen_no]; - pScreenPriv = GetScreenPrivate (pScreen); - (*pScreenPriv->screenFuncs->NewEventScreen) (pDev, pScreen, FALSE); - NewCurrentScreen (pDev, pScreen, x, y); - -+ pPointer = MIPOINTER(pDev); -+ if (pPointer == NULL) { -+ ErrorF("miPointerSetScreen: Invalid input device pointer\n"); -+ return; -+ } -+ - pPointer->limits.x2 = pScreen->width; - pPointer->limits.y2 = pScreen->height; - } -@@ -469,6 +489,10 @@ - SetupScreen(pScreen); - - pPointer = MIPOINTER(pDev); -+ if (pPointer == NULL) { -+ ErrorF("miPointerMoved: Invalid input device pointer\n"); -+ return; -+ } - - /* Hack: We mustn't call into ->MoveCursor for anything but the - * VCP, as this may cause a non-HW rendered cursor to be rendered during -@@ -498,6 +522,11 @@ - miPointerPtr pPointer; - - pPointer = MIPOINTER(pDev); -+ if (pPointer == NULL) { -+ ErrorF("miPointerSetPosition: Invalid input device pointer\n"); -+ return; -+ } -+ - pScreen = pPointer->pScreen; - if (!pScreen) - return; /* called before ready */ diff --git a/packages/x11/xserver/xorg-server/patches/172_cwgetbackingpicture_nullptr_check.diff b/packages/x11/xserver/xorg-server/patches/172_cwgetbackingpicture_nullptr_check.diff deleted file mode 100644 index 9a91113aea..0000000000 --- a/packages/x11/xserver/xorg-server/patches/172_cwgetbackingpicture_nullptr_check.diff +++ /dev/null @@ -1,39 +0,0 @@ -From 7813adf66be31d8b0e8df21821e786e688f7fe78 Mon Sep 17 00:00:00 2001 -From: Bryce Harrington -Date: Fri, 27 Mar 2009 19:01:32 -0700 -Subject: [PATCH] cwGetBackingPicture can segfault when minimizing/maximizing firefox with - a flash video playing. This appears to be a race condition in which the - backing picture's data is not always fully defined. - -Signed-off-by: Bryce Harrington ---- - miext/cw/cw_render.c | 13 +++++++++---- - 1 files changed, 9 insertions(+), 4 deletions(-) - -diff --git a/miext/cw/cw_render.c b/miext/cw/cw_render.c -index 6e0c727..fe8cba7 100644 ---- a/miext/cw/cw_render.c -+++ b/miext/cw/cw_render.c -@@ -125,10 +125,15 @@ cwGetBackingPicture (PicturePtr pPicture, int *x_off, int *y_off) - WindowPtr pWindow = (WindowPtr) pDrawable; - PixmapPtr pPixmap = getCwPixmap (pWindow); - -- *x_off = pDrawable->x - pPixmap->screen_x; -- *y_off = pDrawable->y - pPixmap->screen_y; -- -- return pPicturePrivate->pBackingPicture; -+ if (pDrawable && pPixmap) { -+ *x_off = pDrawable->x - pPixmap->screen_x; -+ *y_off = pDrawable->y - pPixmap->screen_y; -+ -+ return pPicturePrivate->pBackingPicture; -+ } else { -+ *x_off = *y_off = 0; -+ return pPicture; -+ } - } - else - { --- -1.6.0.4 - diff --git a/packages/x11/xserver/xorg-server/patches/173_edid_quirk_philips_lcd.diff b/packages/x11/xserver/xorg-server/patches/173_edid_quirk_philips_lcd.diff deleted file mode 100644 index ba735bd0bb..0000000000 --- a/packages/x11/xserver/xorg-server/patches/173_edid_quirk_philips_lcd.diff +++ /dev/null @@ -1,21 +0,0 @@ -# -# Ubuntu: https://bugs.launchpad.net/bugs/353074 -# Upstream: http://bugs.freedesktop.org/show_bug.cgi?id=21000 -# - -Index: xorg-server-1.6.0/hw/xfree86/modes/xf86EdidModes.c -=================================================================== ---- xorg-server-1.6.0.orig/hw/xfree86/modes/xf86EdidModes.c 2009-04-01 19:45:23.000000000 +0200 -+++ xorg-server-1.6.0/hw/xfree86/modes/xf86EdidModes.c 2009-04-01 19:45:32.000000000 +0200 -@@ -155,6 +155,11 @@ - DDC->vendor.prod_id == 13600) - return TRUE; - -+ /* Bug #21000: LGPhilipsLCD LP154W01-TLAJ */ -+ if (memcmp (DDC->vendor.name, "LPL", 4) == 0 && -+ DDC->vendor.prod_id == 47360) -+ return TRUE; -+ - return FALSE; - } - diff --git a/packages/x11/xserver/xorg-server/patches/180_fedora_no_synaptics_mouse_synthesis.diff b/packages/x11/xserver/xorg-server/patches/180_fedora_no_synaptics_mouse_synthesis.diff deleted file mode 100644 index ddf3961196..0000000000 --- a/packages/x11/xserver/xorg-server/patches/180_fedora_no_synaptics_mouse_synthesis.diff +++ /dev/null @@ -1,16 +0,0 @@ -From 8663524ce398b56af596ab1e7e96b62ca45b79e9 Mon Sep 17 00:00:00 2001 -From: Peter Hutterer -Date: Mon, 13 Apr 2009 17:49:00 +1000 -Subject: [PATCH] xfree86: don't synthesise a mouse section if synaptics devices are found. - -diff -Naur xorg-server-1.6.99.902.orig/hw/xfree86/common/xf86Config.c xorg-server-1.6.99.902/hw/xfree86/common/xf86Config.c ---- xorg-server-1.6.99.902.orig/hw/xfree86/common/xf86Config.c 2009-09-26 14:12:03.000000000 +0200 -+++ xorg-server-1.6.99.902/hw/xfree86/common/xf86Config.c 2009-09-26 19:05:52.000000000 +0200 -@@ -2406,6 +2406,7 @@ - { - if (strcmp((*dev)->driver, "kbd") == 0 || - strcmp((*dev)->driver, "mouse") == 0 || -+ strcmp((*dev)->driver, "synaptics") == 0 || - strcmp((*dev)->driver, "vmmouse") == 0) - { - IDevPtr *current; diff --git a/packages/x11/xserver/xorg-server/patches/201_fedora-pci-primary.diff b/packages/x11/xserver/xorg-server/patches/201_fedora-pci-primary.diff deleted file mode 100644 index 61ba6db30b..0000000000 --- a/packages/x11/xserver/xorg-server/patches/201_fedora-pci-primary.diff +++ /dev/null @@ -1,91 +0,0 @@ -diff -Naur xorg-server-1.6.99.902.orig/hw/xfree86/common/xf86pciBus.c xorg-server-1.6.99.902/hw/xfree86/common/xf86pciBus.c ---- xorg-server-1.6.99.902.orig/hw/xfree86/common/xf86pciBus.c 2009-09-26 14:12:03.000000000 +0200 -+++ xorg-server-1.6.99.902/hw/xfree86/common/xf86pciBus.c 2009-09-26 19:11:42.000000000 +0200 -@@ -52,13 +52,7 @@ - /* Bus-specific globals */ - Bool pciSlotClaimed = FALSE; - --#define PCIINFOCLASSES(c) \ -- ( (((c) & 0x00ff0000) == (PCI_CLASS_PREHISTORIC << 16)) \ -- || (((c) & 0x00ff0000) == (PCI_CLASS_DISPLAY << 16)) \ -- || ((((c) & 0x00ffff00) \ -- == ((PCI_CLASS_MULTIMEDIA << 16) | (PCI_SUBCLASS_MULTIMEDIA_VIDEO << 8)))) \ -- || ((((c) & 0x00ffff00) \ -- == ((PCI_CLASS_PROCESSOR << 16) | (PCI_SUBCLASS_PROCESSOR_COPROC << 8)))) ) -+#define PCIINFOCLASSES(c) (((c) & 0x00ffff00) == (PCI_CLASS_DISPLAY << 16)) - - /* - * PCI classes that have messages printed always. The others are only -@@ -85,6 +79,40 @@ - sprintf(buffer, "%d@%d", busnum & 0x00ff, busnum >> 8); - } - -+/* oh god what have i done */ -+static Bool -+looks_like_bios_primary(struct pci_device *info) -+{ -+ unsigned char *bios; -+ unsigned short vendor, device; -+ int offset; -+ Bool ret = FALSE; -+ -+ bios = xf86MapVidMem(-1, VIDMEM_MMIO, 0xc0000, 0x10000); -+ if (!bios) -+ return FALSE; -+ -+ if (bios[0] != 0x55 || bios[1] != 0xAA) -+ goto out; -+ -+ offset = (bios[0x19] << 8) + bios[0x18]; -+ -+ if (bios[offset] != 'P' || -+ bios[offset+1] != 'C' || -+ bios[offset+2] != 'I' || -+ bios[offset+3] != 'R') -+ goto out; -+ -+ vendor = (bios[offset+5] << 8) + bios[offset+4]; -+ device = (bios[offset+7] << 8) + bios[offset+6]; -+ -+ ret = (info->vendor_id == vendor) && (info->device_id == device); -+ -+out: -+ xf86UnMapVidMem(-1, bios, 0x10000); -+ return ret; -+} -+ - /* - * xf86Bus.c interface - */ -@@ -132,17 +160,25 @@ - uint16_t command; - - info = xf86PciVideoInfo[i]; -+ if (!IS_VGA(info->device_class)) -+ continue; -+ - pci_device_cfg_read_u16(info, & command, 4); - -- if ((command & PCI_CMD_MEM_ENABLE) -- && ((num == 1) || IS_VGA(info->device_class))) { -- if (primaryBus.type == BUS_NONE) { -+ if ((command & PCI_CMD_MEM_ENABLE)) { -+ if (num == 1) { - primaryBus.type = BUS_PCI; - primaryBus.id.pci = info; -- } else { -- xf86Msg(X_NOTICE, -+ break; -+ } else if (looks_like_bios_primary(info)) { -+ if (primaryBus.type == BUS_NONE) { -+ primaryBus.type = BUS_PCI; -+ primaryBus.id.pci = info; -+ } else { -+ xf86Msg(X_NOTICE, - "More than one possible primary device found\n"); -- primaryBus.type ^= (BusType)(-1); -+ primaryBus.type ^= (BusType)(-1); -+ } - } - } - } diff --git a/packages/x11/xserver/xorg-server/patches/30_typedef-apm-2.6.24.diff b/packages/x11/xserver/xorg-server/patches/30_typedef-apm-2.6.24.diff deleted file mode 100644 index 96adefd18b..0000000000 --- a/packages/x11/xserver/xorg-server/patches/30_typedef-apm-2.6.24.diff +++ /dev/null @@ -1,12 +0,0 @@ -diff -Naur xorg-server-1.4.0.90/hw/xfree86/os-support/linux/lnx_apm.c xorg-server-1.4.0.90.edit/hw/xfree86/os-support/linux/lnx_apm.c ---- xorg-server-1.4.0.90/hw/xfree86/os-support/linux/lnx_apm.c 2007-12-14 00:38:23.000000000 +0100 -+++ xorg-server-1.4.0.90.edit/hw/xfree86/os-support/linux/lnx_apm.c 2007-12-14 00:38:18.000000000 +0100 -@@ -35,6 +35,8 @@ - # define APM_SUSPEND_FAILED 0xf001 - #endif - -+typedef unsigned short apm_event_t; -+ - static PMClose lnxAPMOpen(void); - static void lnxCloseAPM(void); - static pointer APMihPtr = NULL; diff --git a/packages/x11/xserver/xorg-server/patches/60_use-proc-instead-of-sysfs-for-pci-domains.diff b/packages/x11/xserver/xorg-server/patches/60_use-proc-instead-of-sysfs-for-pci-domains.diff deleted file mode 100644 index ddc8ece453..0000000000 --- a/packages/x11/xserver/xorg-server/patches/60_use-proc-instead-of-sysfs-for-pci-domains.diff +++ /dev/null @@ -1,32 +0,0 @@ -/* Upstream commit 56f21bda1ce95741c88c423b60bd709eef26eb12 was supposed to - * only avoid multiple scans of the PCI devices, but it actually also added - * an "optimization" based on using sysfs files instead of /proc. However, - * this code is broken, for instance because there are no ioctl handler on - * /sys/bus/pci/devices/*/config files while there some on /proc/bus/pci/* - * - * It breaks the Xserver on architectures that require such ioctls to scan - * the PCI devices and/or deal with PCI domains: - * #422077: xserver-xorg: Fatal server error on sparc: xf86MapPciMem failed - * #422095: xserver-xorg-core: fails to start on powerpc, no devices detected - * - * The following patch forces the server to behave as if we were running on - * a 2.4 kernel while scanning PCI devices, so that the sysfs code is disabled. - * - * Upstream doesn't apply this patch since they want to fix the sysfs-code. - * See https://bugs.freedesktop.org/show_bug.cgi?id=7248 - * - * Thanks to Jim Watson for testing! - */ - -diff -Naur xorg-server-1.5.1.orig/hw/xfree86/os-support/bus/linuxPci.c xorg-server-1.5.1/hw/xfree86/os-support/bus/linuxPci.c ---- xorg-server-1.5.1.orig/hw/xfree86/os-support/bus/linuxPci.c 2008-10-04 18:50:24.000000000 +0200 -+++ xorg-server-1.5.1/hw/xfree86/os-support/bus/linuxPci.c 2008-10-04 18:52:08.000000000 +0200 -@@ -131,7 +131,7 @@ - static int fd = -1,is_write = 0; - char file[64]; - struct stat ignored; -- static int is26 = -1; -+ static int is26 = 0; - - if (dev == NULL) { - return -1; diff --git a/packages/x11/xserver/xorg-server/patches/66_only-switch-vt-when-active.diff b/packages/x11/xserver/xorg-server/patches/66_only-switch-vt-when-active.diff deleted file mode 100644 index d066e6dc29..0000000000 --- a/packages/x11/xserver/xorg-server/patches/66_only-switch-vt-when-active.diff +++ /dev/null @@ -1,32 +0,0 @@ -Index: xorg-server/hw/xfree86/os-support/linux/lnx_init.c -=================================================================== ---- xorg-server.orig/hw/xfree86/os-support/linux/lnx_init.c 2008-06-18 12:06:06.000000000 +0300 -+++ xorg-server/hw/xfree86/os-support/linux/lnx_init.c 2008-06-18 12:06:25.000000000 +0300 -@@ -344,10 +344,25 @@ - - if (VTSwitch) - { -+ struct vt_stat vts; -+ - /* -- * Perform a switch back to the active VT when we were started -+ * Perform a switch back to the active VT when we were started. -+ * We cannot rely on vtSema to determine if the server was the -+ * active VT at the time of shutdown since it has already been -+ * released. Instead, we manually check the current VT and -+ * compare it with the VT we were running on. - */ -- if (activeVT >= 0) { -+ if (ioctl(xf86Info.consoleFd, VT_GETSTATE, &vts) < 0) -+ { -+ /* If this failed, fall back to old behaviour -+ * of always switching. */ -+ xf86Msg(X_WARNING,"xf86OpenConsole: VT_GETSTATE failed: %s\n", -+ strerror(errno)); -+ vts.v_active = xf86Info.vtno; -+ } -+ -+ if (activeVT >= 0 && vts.v_active == xf86Info.vtno) { - if (ioctl(xf86Info.consoleFd, VT_ACTIVATE, activeVT) < 0) - xf86Msg(X_WARNING, "xf86CloseConsole: VT_ACTIVATE failed: %s\n", - strerror(errno)); 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 new file mode 100644 index 0000000000..4960634cd1 --- /dev/null +++ b/packages/x11/xserver/xorg-server/patches/use-sloppy-heuristic-first-for-initial-mode.diff @@ -0,0 +1,17 @@ +diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c +index 84d3cac..673612f 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"); + diff --git a/packages/x11/xserver/xorg-server/patches/xorg-x11-nonroot-vesa.diff b/packages/x11/xserver/xorg-server/patches/xorg-x11-nonroot-vesa.diff new file mode 100644 index 0000000000..76c0a38aa4 --- /dev/null +++ b/packages/x11/xserver/xorg-server/patches/xorg-x11-nonroot-vesa.diff @@ -0,0 +1,12 @@ +--- xorg-server-1.6.1.901/hw/xfree86/common/xf86AutoConfig.c~ 2009-07-03 11:59:30.000000000 -0700 ++++ xorg-server-1.6.1.901/hw/xfree86/common/xf86AutoConfig.c 2009-07-03 11:59:30.000000000 -0700 +@@ -516,7 +516,8 @@ + /* Fallback to platform default hardware */ + if (i < (nmatches - 1)) { + #if defined(__i386__) || defined(__amd64__) || defined(__hurd__) +- matches[i++] = xnfstrdup("vesa"); ++ if (geteuid() == 0) ++ matches[i++] = xnfstrdup("vesa"); + #elif defined(__sparc__) && !defined(sun) + matches[i++] = xnfstrdup("sunffb"); + #endif diff --git a/packages/x11/xserver/xorg-server/patches/xserver-1.5.0-bg-none-root.patch b/packages/x11/xserver/xorg-server/patches/xserver-1.5.0-bg-none-root.diff similarity index 88% rename from packages/x11/xserver/xorg-server/patches/xserver-1.5.0-bg-none-root.patch rename to packages/x11/xserver/xorg-server/patches/xserver-1.5.0-bg-none-root.diff index 097b085a32..ae65d0be4c 100644 --- a/packages/x11/xserver/xorg-server/patches/xserver-1.5.0-bg-none-root.patch +++ b/packages/x11/xserver/xorg-server/patches/xserver-1.5.0-bg-none-root.diff @@ -1,6 +1,6 @@ -From b4e4b980663692a3af5787eeaf2d48eb6c0188ed Mon Sep 17 00:00:00 2001 -From: Fedora X Ninjas -Date: Tue, 4 Aug 2009 14:45:58 +1000 +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 --- @@ -25,7 +25,7 @@ index c24a94f..907a5e8 100644 int cursorScreenDevPriv[MAXSCREENS]; diff --git a/dix/window.c b/dix/window.c -index 32e26d9..0bf1d52 100644 +index caff1cb..be1d1c4 100644 --- a/dix/window.c +++ b/dix/window.c @@ -466,22 +466,24 @@ InitRootWindow(WindowPtr pWin) @@ -59,7 +59,7 @@ index 32e26d9..0bf1d52 100644 MapWindow(pWin, serverClient); } diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c -index e84da4e..2a0f47a 100644 +index 6707448..776b898 100644 --- a/hw/xfree86/common/xf86Init.c +++ b/hw/xfree86/common/xf86Init.c @@ -77,6 +77,7 @@ @@ -70,7 +70,7 @@ index e84da4e..2a0f47a 100644 #include "xf86VGAarbiter.h" #include "globals.h" -@@ -234,6 +235,7 @@ xf86CreateRootWindow(WindowPtr pWin) +@@ -254,6 +255,7 @@ xf86CreateRootWindow(WindowPtr pWin) int ret = TRUE; int err = Success; ScreenPtr pScreen = pWin->drawable.pScreen; @@ -78,7 +78,7 @@ index e84da4e..2a0f47a 100644 RootWinPropPtr pProp; CreateWindowProcPtr CreateWindow = (CreateWindowProcPtr) dixLookupPrivate(&pScreen->devPrivates, xf86CreateRootWindowKey); -@@ -285,6 +287,15 @@ xf86CreateRootWindow(WindowPtr pWin) +@@ -305,6 +307,15 @@ xf86CreateRootWindow(WindowPtr pWin) } } @@ -95,10 +95,10 @@ index e84da4e..2a0f47a 100644 return (ret); } diff --git a/hw/xfree86/common/xf86str.h b/hw/xfree86/common/xf86str.h -index 5c3ee44..e3c7841 100644 +index de1f1b6..5c3aa00 100644 --- a/hw/xfree86/common/xf86str.h +++ b/hw/xfree86/common/xf86str.h -@@ -516,7 +516,7 @@ typedef struct _confdrirec { +@@ -503,7 +503,7 @@ typedef struct _confdrirec { } confDRIRec, *confDRIPtr; /* These values should be adjusted when new fields are added to ScrnInfoRec */ @@ -107,8 +107,8 @@ index 5c3ee44..e3c7841 100644 #define NUM_RESERVED_POINTERS 14 #define NUM_RESERVED_FUNCS 11 -@@ -800,6 +800,9 @@ typedef struct _ScrnInfoRec { - ClockRangesPtr clockRanges; +@@ -775,6 +775,9 @@ typedef struct _ScrnInfoRec { + ClockRangePtr clockRanges; int adjustFlags; + /* -nr support */ @@ -130,10 +130,10 @@ index b3c7c70..fcc8c95 100644 extern _X_EXPORT Bool CoreDump; diff --git a/os/utils.c b/os/utils.c -index 00abd63..7bfdf8b 100644 +index d7c8388..40583d0 100644 --- a/os/utils.c +++ b/os/utils.c -@@ -514,6 +514,7 @@ void UseMsg(void) +@@ -513,6 +513,7 @@ void UseMsg(void) #endif ErrorF("-nolisten string don't listen on protocol\n"); ErrorF("-noreset don't reset after last client exists\n"); @@ -141,7 +141,7 @@ index 00abd63..7bfdf8b 100644 ErrorF("-reset reset after last client exists\n"); ErrorF("-p # screen-saver pattern duration (minutes)\n"); ErrorF("-pn accept failure to listen on all ports\n"); -@@ -861,6 +862,8 @@ ProcessCommandLine(int argc, char *argv[]) +@@ -856,6 +857,8 @@ ProcessCommandLine(int argc, char *argv[]) defaultBackingStore = WhenMapped; else if ( strcmp( argv[i], "-wr") == 0) whiteRoot = TRUE; @@ -151,5 +151,5 @@ index 00abd63..7bfdf8b 100644 if(++i < argc) { long reqSizeArg = atol(argv[i]); -- -1.6.0.6 +1.6.6 diff --git a/packages/x11/xserver/xorg-server/patches/xserver-1.5.0-projector-fb-size.patch b/packages/x11/xserver/xorg-server/patches/xserver-1.5.0-projector-fb-size.patch deleted file mode 100644 index c6178b879b..0000000000 --- a/packages/x11/xserver/xorg-server/patches/xserver-1.5.0-projector-fb-size.patch +++ /dev/null @@ -1,32 +0,0 @@ -From dc5cedd61e00afec33cbfaa7fdfbb6c357074dbd Mon Sep 17 00:00:00 2001 -From: =?utf-8?q?S=C3=B8ren=20Sandmann=20Pedersen?= -Date: Thu, 11 Sep 2008 12:51:31 -0400 -Subject: [PATCH] Make room for an external monitor if we have enough video RAM - ---- - hw/xfree86/modes/xf86Crtc.c | 9 +++++++++ - 1 files changed, 9 insertions(+), 0 deletions(-) - -diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c -index 4de7e05..9bcf81b 100644 ---- a/hw/xfree86/modes/xf86Crtc.c -+++ b/hw/xfree86/modes/xf86Crtc.c -@@ -987,6 +987,15 @@ xf86DefaultScreenLimits (ScrnInfoPtr scrn, int *widthp, int *heightp, - if (crtc_height > height) - height = crtc_height; - } -+ -+ /* Make room for an external monitor if we have enough video ram */ -+ if (scrn->videoRam >= 65536) -+ width += 1920; -+ else if (scrn->videoRam >= 32768) -+ width += 1280; -+ else if (scrn->videoRam >= 16384) -+ width += 1024; -+ - if (config->maxWidth && width > config->maxWidth) width = config->maxWidth; - if (config->maxHeight && height > config->maxHeight) height = config->maxHeight; - if (config->minWidth && width < config->minWidth) width = config->minWidth; --- -1.6.0.1 - diff --git a/packages/x11/xserver/xorg-server/patches/xserver-1.5.1-mode-debug.patch b/packages/x11/xserver/xorg-server/patches/xserver-1.5.1-mode-debug.patch deleted file mode 100644 index 11fe5adac9..0000000000 --- a/packages/x11/xserver/xorg-server/patches/xserver-1.5.1-mode-debug.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 079910986a1b8f5042e16ee2ba3ad9ed843b67ca Mon Sep 17 00:00:00 2001 -From: Adam Jackson -Date: Tue, 7 Oct 2008 11:09:14 -0400 -Subject: [PATCH] Force ModeDebug on. - ---- - hw/xfree86/modes/xf86Crtc.c | 3 +-- - 1 files changed, 1 insertions(+), 2 deletions(-) - -diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c -index 9bcf81b..a953c8a 100644 ---- a/hw/xfree86/modes/xf86Crtc.c -+++ b/hw/xfree86/modes/xf86Crtc.c -@@ -2084,8 +2084,7 @@ xf86InitialConfiguration (ScrnInfoPtr scrn, Bool canGrow) - xf86ProcessOptions (scrn->scrnIndex, - scrn->options, - config->options); -- config->debug_modes = xf86ReturnOptValBool (config->options, -- OPTION_MODEDEBUG, FALSE); -+ config->debug_modes = TRUE; - - if (scrn->display->virtualX) - width = scrn->display->virtualX; --- -1.6.0.1 - diff --git a/packages/x11/xserver/xorg-server/patches/xserver-1.6.0-less-acpi-brokenness.patch b/packages/x11/xserver/xorg-server/patches/xserver-1.6.0-less-acpi-brokenness.patch deleted file mode 100644 index cc80e6cef4..0000000000 --- a/packages/x11/xserver/xorg-server/patches/xserver-1.6.0-less-acpi-brokenness.patch +++ /dev/null @@ -1,31 +0,0 @@ -From a8079882f1884edc62a9de28af915bd8b65dfbbe Mon Sep 17 00:00:00 2001 -From: Adam Jackson -Date: Wed, 11 Mar 2009 14:02:11 -0400 -Subject: [PATCH] Don't build the ACPI code. - -No good can come of this. ---- - configure.ac | 2 -- - 1 files changed, 0 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 72ae67e..04716f8 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1269,13 +1269,11 @@ if test "x$XORG" = xyes; then - case $host_cpu in - ia64*) - linux_ia64=yes -- linux_acpi="yes" - ;; - alpha*) - linux_alpha=yes - ;; - i*86|amd64*|x86_64*) -- linux_acpi="yes" - ;; - *) - ;; --- -1.6.1.3 - diff --git a/packages/x11/xserver/xorg-server/patches/xserver-1.7.0-glx-versioning.patch b/packages/x11/xserver/xorg-server/patches/xserver-1.7.0-glx-versioning.patch deleted file mode 100644 index c8a1c30954..0000000000 --- a/packages/x11/xserver/xorg-server/patches/xserver-1.7.0-glx-versioning.patch +++ /dev/null @@ -1,233 +0,0 @@ -From 3ef4be8129f78afd5566a9e5d0fb901449dcb771 Mon Sep 17 00:00:00 2001 -From: Ian Romanick -Date: Tue, 29 Sep 2009 16:43:43 -0700 -Subject: [PATCH] GLX: Enable GLX 1.4 on DRI2 - -this squashes 4 commits -(cherry picked from commit ad5c0d9efa47476ed5cf75c82265c73919e468b4) -(cherry picked from commit cb54cf1b3e8c4109541cfb698542c00f2473e731) -(cherry picked from commit 4c6bfa2c09ae2b0cffdf9211a6dfbcaefe0366b5) -(cherry picked from commit 9bf2ff4faf730913de3073f346646a8727be41d4) ---- - glx/glxcmds.c | 12 ++++++++---- - glx/glxdri2.c | 12 ++++++++++++ - glx/glxext.c | 8 +++++++- - glx/glxscreens.c | 15 ++++++++++++--- - glx/glxscreens.h | 11 +++++++++++ - glx/glxserver.h | 3 +++ - glx/indirect_texture_compression.c | 4 ++-- - include/protocol-versions.h | 2 +- - 8 files changed, 56 insertions(+), 11 deletions(-) - -diff --git a/glx/glxcmds.c b/glx/glxcmds.c -index b1061a8..ba4c123 100644 ---- a/glx/glxcmds.c -+++ b/glx/glxcmds.c -@@ -50,7 +50,6 @@ - #include "indirect_dispatch.h" - #include "indirect_table.h" - #include "indirect_util.h" --#include "protocol-versions.h" - - static int - validGlxScreen(ClientPtr client, int screen, __GLXscreen **pGlxScreen, int *err) -@@ -739,8 +738,8 @@ int __glXDisp_QueryVersion(__GLXclientState *cl, GLbyte *pc) - ** client if it wants to work with older clients; however, in this - ** implementation the server just returns its version number. - */ -- reply.majorVersion = SERVER_GLX_MAJOR_VERSION; -- reply.minorVersion = SERVER_GLX_MINOR_VERSION; -+ reply.majorVersion = glxMajorVersion; -+ reply.minorVersion = glxMinorVersion; - reply.length = 0; - reply.type = X_Reply; - reply.sequenceNumber = client->sequence; -@@ -2360,6 +2359,7 @@ int __glXDisp_QueryServerString(__GLXclientState *cl, GLbyte *pc) - char *buf; - __GLXscreen *pGlxScreen; - int err; -+ char ver_str[16]; - - if (!validGlxScreen(client, req->screen, &pGlxScreen, &err)) - return err; -@@ -2369,7 +2369,11 @@ int __glXDisp_QueryServerString(__GLXclientState *cl, GLbyte *pc) - ptr = pGlxScreen->GLXvendor; - break; - case GLX_VERSION: -- ptr = pGlxScreen->GLXversion; -+ /* Return to the server version rather than the screen version -+ * to prevent confusion when they do not match. -+ */ -+ snprintf(ver_str, 16, "%d.%d", glxMajorVersion, glxMinorVersion); -+ ptr = ver_str; - break; - case GLX_EXTENSIONS: - ptr = pGlxScreen->GLXextensions; -diff --git a/glx/glxdri2.c b/glx/glxdri2.c -index ed7fb4c..ed7dc80 100644 ---- a/glx/glxdri2.c -+++ b/glx/glxdri2.c -@@ -685,6 +685,18 @@ __glXDRIscreenProbe(ScreenPtr pScreen) - screen->base.GLXextensions); - } - -+ /* We're going to assume (perhaps incorrectly?) that all DRI2-enabled -+ * drivers support the required extensions for GLX 1.4. The extensions -+ * we're assuming are: -+ * -+ * - GLX_SGI_make_current_read (1.3) -+ * - GLX_SGIX_fbconfig (1.3) -+ * - GLX_SGIX_pbuffer (1.3) -+ * - GLX_ARB_multisample (1.4) -+ */ -+ screen->base.GLXmajor = 1; -+ screen->base.GLXminor = 4; -+ - screen->enterVT = pScrn->EnterVT; - pScrn->EnterVT = glxDRIEnterVT; - screen->leaveVT = pScrn->LeaveVT; -diff --git a/glx/glxext.c b/glx/glxext.c -index 19d70d4..9f9c0ed 100644 ---- a/glx/glxext.c -+++ b/glx/glxext.c -@@ -360,12 +360,18 @@ void GlxExtensionInit(void) - pScreen = screenInfo.screens[i]; - - for (p = __glXProviderStack; p != NULL; p = p->next) { -- if (p->screenProbe(pScreen) != NULL) { -+ __GLXscreen *glxScreen; -+ -+ glxScreen = p->screenProbe(pScreen); -+ if (glxScreen != NULL) { -+ if (glxScreen->GLXminor < glxMinorVersion) -+ glxMinorVersion = glxScreen->GLXminor; - LogMessage(X_INFO, - "GLX: Initialized %s GL provider for screen %d\n", - p->name, i); - break; - } -+ - } - - if (!p) -diff --git a/glx/glxscreens.c b/glx/glxscreens.c -index 7d29d31..674e2c6 100644 ---- a/glx/glxscreens.c -+++ b/glx/glxscreens.c -@@ -42,6 +42,7 @@ - #include "glxserver.h" - #include "glxutil.h" - #include "glxext.h" -+#include "protocol-versions.h" - - static int glxScreenPrivateKeyIndex; - static DevPrivateKey glxScreenPrivateKey = &glxScreenPrivateKeyIndex; -@@ -162,7 +163,8 @@ static const char GLServerExtensions[] = - ** supported across all screens in a multi-screen system. - */ - static char GLXServerVendorName[] = "SGI"; --static char GLXServerVersion[] = "1.2"; -+unsigned glxMajorVersion = SERVER_GLX_MAJOR_VERSION; -+unsigned glxMinorVersion = SERVER_GLX_MINOR_VERSION; - static char GLXServerExtensions[] = - "GLX_ARB_multisample " - "GLX_EXT_visual_info " -@@ -378,9 +380,17 @@ void __glXScreenInit(__GLXscreen *pGlxScreen, ScreenPtr pScreen) - pGlxScreen->pScreen = pScreen; - pGlxScreen->GLextensions = xstrdup(GLServerExtensions); - pGlxScreen->GLXvendor = xstrdup(GLXServerVendorName); -- pGlxScreen->GLXversion = xstrdup(GLXServerVersion); - pGlxScreen->GLXextensions = xstrdup(GLXServerExtensions); - -+ /* All GLX providers must support all of the functionality required for at -+ * least GLX 1.2. If the provider supports a higher version, the GLXminor -+ * version can be changed in the provider's screen-probe routine. For -+ * most providers, the screen-probe routine is the caller of this -+ * function. -+ */ -+ pGlxScreen->GLXmajor = 1; -+ pGlxScreen->GLXminor = 2; -+ - pGlxScreen->CloseScreen = pScreen->CloseScreen; - pScreen->CloseScreen = glxCloseScreen; - pGlxScreen->DestroyWindow = pScreen->DestroyWindow; -@@ -454,7 +464,6 @@ void __glXScreenInit(__GLXscreen *pGlxScreen, ScreenPtr pScreen) - void __glXScreenDestroy(__GLXscreen *screen) - { - xfree(screen->GLXvendor); -- xfree(screen->GLXversion); - xfree(screen->GLXextensions); - xfree(screen->GLextensions); - } -diff --git a/glx/glxscreens.h b/glx/glxscreens.h -index 3c1bdd4..bff4363 100644 ---- a/glx/glxscreens.h -+++ b/glx/glxscreens.h -@@ -161,6 +161,17 @@ struct __GLXscreen { - char *GLXversion; - char *GLXextensions; - -+ /** -+ * \name GLX version supported by this screen. -+ * -+ * Since the GLX version advertised by the server is for the whole server, -+ * the GLX protocol code uses the minimum version supported on all screens. -+ */ -+ /*@{*/ -+ unsigned GLXmajor; -+ unsigned GLXminor; -+ /*@}*/ -+ - Bool (*CloseScreen)(int index, ScreenPtr pScreen); - Bool (*DestroyWindow)(WindowPtr pWindow); - }; -diff --git a/glx/glxserver.h b/glx/glxserver.h -index 4aa8c2e..80f1b28 100644 ---- a/glx/glxserver.h -+++ b/glx/glxserver.h -@@ -248,4 +248,7 @@ extern int __glXImageSize(GLenum format, GLenum type, - GLint imageHeight, GLint rowLength, GLint skipImages, GLint skipRows, - GLint alignment); - -+extern unsigned glxMajorVersion; -+extern unsigned glxMinorVersion; -+ - #endif /* !__GLX_server_h__ */ -diff --git a/glx/indirect_texture_compression.c b/glx/indirect_texture_compression.c -index 25c6eb3..5f44d7b 100644 ---- a/glx/indirect_texture_compression.c -+++ b/glx/indirect_texture_compression.c -@@ -52,7 +52,7 @@ int __glXDisp_GetCompressedTexImageARB(struct __GLXclientStateRec *cl, GLbyte *p - const GLenum target = *(GLenum *)(pc + 0); - const GLint level = *(GLint *)(pc + 4); - GLint compsize = 0; -- char *answer, answerBuffer[200]; -+ char *answer = NULL, answerBuffer[200]; - - CALL_GetTexLevelParameteriv(GET_DISPATCH(), (target, level, GL_TEXTURE_COMPRESSED_IMAGE_SIZE, &compsize)); - -@@ -92,7 +92,7 @@ int __glXDispSwap_GetCompressedTexImageARB(struct __GLXclientStateRec *cl, GLbyt - const GLenum target = (GLenum) bswap_32( *(int *)(pc + 0) ); - const GLint level = (GLint ) bswap_32( *(int *)(pc + 4) ); - GLint compsize = 0; -- char *answer, answerBuffer[200]; -+ char *answer = NULL, answerBuffer[200]; - - CALL_GetTexLevelParameteriv(GET_DISPATCH(), (target, level, GL_TEXTURE_COMPRESSED_IMAGE_SIZE, &compsize)); - -diff --git a/include/protocol-versions.h b/include/protocol-versions.h -index da9770c..d688c66 100644 ---- a/include/protocol-versions.h -+++ b/include/protocol-versions.h -@@ -61,7 +61,7 @@ - - /* GLX */ - #define SERVER_GLX_MAJOR_VERSION 1 --#define SERVER_GLX_MINOR_VERSION 2 -+#define SERVER_GLX_MINOR_VERSION 4 - - /* Xinerama */ - #define SERVER_PANORAMIX_MAJOR_VERSION 1 --- -1.6.5.rc2 - diff --git a/packages/x11/xserver/xorg-server/patches/xserver-1.7.1-glx14-swrast.patch b/packages/x11/xserver/xorg-server/patches/xserver-1.7.1-glx14-swrast.patch deleted file mode 100644 index 2c51802535..0000000000 --- a/packages/x11/xserver/xorg-server/patches/xserver-1.7.1-glx14-swrast.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 25a0107768c9f25e8edc5e423ca8b1d0813f2d04 Mon Sep 17 00:00:00 2001 -From: Adam Jackson -Date: Tue, 24 Nov 2009 13:38:46 -0500 -Subject: [PATCH] Enable GLX 1.4 for swrast - ---- - glx/glxdriswrast.c | 3 +++ - 1 files changed, 3 insertions(+), 0 deletions(-) - -diff --git a/glx/glxdriswrast.c b/glx/glxdriswrast.c -index 44f658f..20f9f90 100644 ---- a/glx/glxdriswrast.c -+++ b/glx/glxdriswrast.c -@@ -510,6 +510,9 @@ __glXDRIscreenProbe(ScreenPtr pScreen) - - __glXScreenInit(&screen->base, pScreen); - -+ screen->base.GLXmajor = 1; -+ screen->base.GLXminor = 4; -+ - LogMessage(X_INFO, - "AIGLX: Loaded and initialized %s\n", filename); - --- -1.6.5.2 - diff --git a/packages/x11/xserver/xorg-server/patches/xserver-1.7.1-libcrypto.patch b/packages/x11/xserver/xorg-server/patches/xserver-1.7.1-libcrypto.patch deleted file mode 100644 index c271855a2c..0000000000 --- a/packages/x11/xserver/xorg-server/patches/xserver-1.7.1-libcrypto.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 8875112f5c57ec5d575e717c5638fbc919145efb Mon Sep 17 00:00:00 2001 -From: Adam Jackson -Date: Mon, 16 Nov 2009 18:01:26 -0500 -Subject: [PATCH] configure: Only link against libcrypto - -openssl.pc will link you against libssl, which we don't need, and which -brings in another seven libraries we also don't need. This is still -bogus, we're really only trying to get a SHA1 routine, we could link it -statically and be even better off. ---- - configure.ac | 6 ------ - 1 files changed, 0 insertions(+), 6 deletions(-) - -diff --git a/configure.ac b/configure.ac -index f69f97e..254d33d 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1297,14 +1297,8 @@ if test "x$SHA1_LIB" = "x" ; then - fi - - if test "x$SHA1_LIB" = "x" ; then -- PKG_CHECK_EXISTS([OPENSSL], [openssl], [HAVE_OPENSSL_PKC=yes], -- [HAVE_OPENSSL_PKC=no]) -- if test "x$HAVE_OPENSSL_PKC" = xyes; then -- REQUIRED_LIBS="$REQUIRED_LIBS openssl" -- else - AC_CHECK_LIB([crypto], [SHA1_Init], [SHA1_LIB="-lcrypto"], - [AC_MSG_ERROR([OpenSSL must be installed in order to build the X server.])]) -- fi - fi - - PKG_CHECK_MODULES([XSERVERCFLAGS], [$REQUIRED_MODULES $REQUIRED_LIBS]) --- -1.6.5.2 - diff --git a/packages/x11/xserver/xorg-server/patches/xserver-1.8-udev-warning.diff b/packages/x11/xserver/xorg-server/patches/xserver-1.8-udev-warning.diff new file mode 100644 index 0000000000..666dd96658 --- /dev/null +++ b/packages/x11/xserver/xorg-server/patches/xserver-1.8-udev-warning.diff @@ -0,0 +1,37 @@ +From 57a188877b0472edb12bdf707b1550abbeb85af8 Mon Sep 17 00:00:00 2001 +From: Fedora X Ninjas +Date: Wed, 17 Feb 2010 11:12:36 +1000 +Subject: [PATCH] Stick giant warning into logfiles about udev configuration changes. + +Signed-off-by: Fedora X Ninjas +--- + hw/xfree86/common/xf86Config.c | 13 +++++++++++++ + 1 files changed, 13 insertions(+), 0 deletions(-) + +diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c +index 132e8bc..b1722cd 100644 +--- a/hw/xfree86/common/xf86Config.c ++++ b/hw/xfree86/common/xf86Config.c +@@ -1472,6 +1472,19 @@ checkCoreInputDevices(serverLayoutPtr servlayoutp, Bool implicitLayout) + "input devices.\n\tIf no devices become available, " + "reconfigure %s or disable AutoAddDevices.\n", + config_backend, config_backend); ++ ++ xf86Msg(X_INFO, "\n" ++ "***************************************************************\n" ++ "***************************************************************\n" ++ "** OpenELEC.tv switched to udev-based device detection with **\n" ++ "** xorg-x11-server-1.7.99.901-1. Custom HAL configuration **\n" ++ "** stored in /etc/hal/fdi/policy will not be seen by this **\n" ++ "** server version. If you have such configuration you will **\n" ++ "** need to update it to the new format. **\n" ++ "** For more information, see the Fedora wiki page **\n" ++ "** https://fedoraproject.org/wiki/Input_device_configuration **\n" ++ "***************************************************************\n" ++ "***************************************************************\n"); + #else + xf86Msg(X_INFO, "Hotplugging is disabled and no input devices were configured.\n" + "\tTry disabling AllowEmptyInput.\n"); +-- +1.6.6.1 + diff --git a/packages/x11/xserver/xorg-server/patches/xserver-boottime.patch b/packages/x11/xserver/xorg-server/patches/xserver-boottime.patch deleted file mode 100644 index efc85a42ab..0000000000 --- a/packages/x11/xserver/xorg-server/patches/xserver-boottime.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff --git a/os/log.c b/os/log.c -index 0860847..2c46f1a 100644 ---- a/os/log.c -+++ b/os/log.c -@@ -255,6 +255,33 @@ LogVWrite(int verb, const char *f, va_list args) - static char tmpBuffer[1024]; - int len = 0; - -+ struct timeval time; -+ time_t tv_sec; -+ suseconds_t tv_usec; -+ static Bool first = TRUE; -+ static time_t start_tv_sec; -+ static suseconds_t start_usec; -+ int diff_sec, diff_usec; -+ -+ gettimeofday(&time, NULL); -+ tv_sec = time.tv_sec; -+ tv_usec = time.tv_usec; -+ if (first == TRUE) { -+ start_tv_sec = tv_sec; -+ start_usec = tv_usec; -+ first = FALSE; -+ } -+ diff_sec = (int)difftime(tv_sec, start_tv_sec); -+ diff_usec = (tv_usec - start_usec); -+ if (diff_usec < 0) { -+ diff_sec--; -+ diff_usec += 1000000; -+ } -+ sprintf(tmpBuffer, "[%d sec: %06d usec]", diff_sec , diff_usec); -+ len = strlen(tmpBuffer); -+ if (logFile) -+ fwrite(tmpBuffer, len, 1, logFile); -+ - /* - * Since a va_list can only be processed once, write the string to a - * buffer, and then write the buffer out to the appropriate output diff --git a/packages/x11/xserver/xorg-server/patches/xserver-no-root-2.diff b/packages/x11/xserver/xorg-server/patches/xserver-no-root-2.diff new file mode 100644 index 0000000000..69af3f37c5 --- /dev/null +++ b/packages/x11/xserver/xorg-server/patches/xserver-no-root-2.diff @@ -0,0 +1,53 @@ +diff --git a/hw/xfree86/os-support/linux/lnx_init.c b/hw/xfree86/os-support/linux/lnx_init.c +index 297e7a6..8671231 100644 +--- a/hw/xfree86/os-support/linux/lnx_init.c ++++ b/hw/xfree86/os-support/linux/lnx_init.c +@@ -42,6 +42,7 @@ static Bool KeepTty = FALSE; + static int VTnum = -1; + static Bool VTSwitch = TRUE; + static Bool ShareVTs = FALSE; ++Bool NoHwAccess = FALSE; + static int activeVT = -1; + + static int vtPermSave[4]; +@@ -377,6 +378,11 @@ xf86ProcessArgument(int argc, char *argv[], int i) + ShareVTs = TRUE; + return(1); + } ++ if (!strcmp(argv[i], "-nohwaccess")) ++ { ++ NoHwAccess = TRUE; ++ return(1); ++ } + if ((argv[i][0] == 'v') && (argv[i][1] == 't')) + { + if (sscanf(argv[i], "vt%2d", &VTnum) == 0) +@@ -397,5 +403,6 @@ xf86UseMsg(void) + ErrorF("-keeptty "); + ErrorF("don't detach controlling tty (for debugging only)\n"); + ErrorF("-novtswitch don't immediately switch to new VT\n"); ++ ErrorF("-nohwaccess don't access hardware ports directly\n"); + ErrorF("-sharevts share VTs with another X server\n"); + } +diff --git a/hw/xfree86/os-support/linux/lnx_video.c b/hw/xfree86/os-support/linux/lnx_video.c +index 26a1742..c34bb85 100644 +--- a/hw/xfree86/os-support/linux/lnx_video.c ++++ b/hw/xfree86/os-support/linux/lnx_video.c +@@ -50,6 +50,7 @@ + #define MAP_FAILED ((void *)-1) + #endif + ++extern Bool NoHwAccess; + static Bool ExtendedEnabled = FALSE; + + #ifdef __ia64__ +@@ -496,6 +497,9 @@ xf86EnableIO(void) + int fd; + unsigned int ioBase_phys; + #endif ++ /* Fake it... */ ++ if (NoHwAccess) ++ return TRUE; + + if (ExtendedEnabled) + return TRUE; diff --git a/packages/x11/xserver/xorg-server/url b/packages/x11/xserver/xorg-server/url index 69d2bf394e..e2b23b6bdc 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.7.5.tar.bz2 +http://sources.openelec.tv/svn/xorg-server-20100309.tar.bz2