* Fri Nov 02 2007 Adam Jackson <ajax@redhat.com> 1.4.99.1-0.6
- Merge a bunch of the more trivial patches upstream. - New git snapshot containing the merged bits. - Remove unused patches. - Drop the XFree86 obsoletes.
This commit is contained in:
parent
494b014eed
commit
06b805d972
@ -1,28 +0,0 @@
|
||||
From: Kristian Høgsberg <krh@redhat.com>
|
||||
Date: Sun, 28 Oct 2007 09:37:52 +0100
|
||||
Subject: [PATCH] Fix crash in xf86InitOrigins()
|
||||
|
||||
In a multihead setup, if only the first screen can be
|
||||
initialized, but the second screen is mentioned first in the
|
||||
ServerLayout section, the xf86InitOrigins() function will crash
|
||||
because the screen referred to in the e.g. "RightOf" part is
|
||||
non-existent.
|
||||
|
||||
---
|
||||
--- a/hw/xfree86/common/xf86Cursor.c.init-origins-fix 2004-10-18 22:22:42.675899006 -0400
|
||||
+++ b/hw/xfree86/common/xf86Cursor.c 2004-10-18 22:21:42.540867549 -0400
|
||||
@@ -566,6 +566,14 @@
|
||||
|
||||
screen = &xf86ConfigLayout.screens[i];
|
||||
|
||||
+ if (screen->refscreen != NULL &&
|
||||
+ screen->refscreen->screennum >= xf86NumScreens) {
|
||||
+ screensLeft &= ~(1 << i);
|
||||
+ xf86Msg(X_WARNING, "Not including screen \"%s\" in origins calculation.\n",
|
||||
+ screen->screen->id);
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
switch(screen->where) {
|
||||
case PosObsolete:
|
||||
OldStyleConfig = TRUE;
|
@ -1,16 +0,0 @@
|
||||
From: Adam Jackson <ajax@redhat.com>
|
||||
Date: Sun, 28 Oct 2007 09:37:52 +0100
|
||||
Subject: [PATCH] Build libxf86config with -fPIC
|
||||
|
||||
---
|
||||
--- xorg-server-1.0.1/hw/xfree86/parser/Makefile.am.xf86configfpic 2006-03-06 13:57:45.000000000 -0500
|
||||
+++ xorg-server-1.0.1/hw/xfree86/parser/Makefile.am 2006-03-06 13:59:11.000000000 -0500
|
||||
@@ -23,7 +23,7 @@
|
||||
DRI.c \
|
||||
Extensions.c
|
||||
|
||||
-AM_CFLAGS = $(XORG_CFLAGS)
|
||||
+AM_CFLAGS = $(XORG_CFLAGS) -fPIC -fvisibility=hidden
|
||||
|
||||
EXTRA_DIST = \
|
||||
Configint.h \
|
@ -1,34 +0,0 @@
|
||||
From: Adam Jackson <ajax@redhat.com>
|
||||
Date: Sun, 28 Oct 2007 09:37:52 +0100
|
||||
Subject: [PATCH] Don't backfill windows with bg=none
|
||||
|
||||
Disable backfilling of windows created with bg=none, which otherwise
|
||||
would force a framebuffer readback.
|
||||
|
||||
Note that this patch can only be dropped if you verify that
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=285991
|
||||
|
||||
is fixed (which it is in upstream git as of
|
||||
|
||||
f98dfec79dadb70fa7bba84e7335f92b3a73dc02
|
||||
|
||||
---
|
||||
--- a/composite/compalloc.c.spiffiffity 2006-03-13 16:59:55.000000000 -0500
|
||||
+++ b/composite/compalloc.c 2006-04-12 16:37:50.000000000 -0400
|
||||
@@ -478,6 +478,7 @@
|
||||
* Copy bits from the parent into the new pixmap so that it will
|
||||
* have "reasonable" contents in case for background None areas.
|
||||
*/
|
||||
+#if 0
|
||||
if (pGC)
|
||||
{
|
||||
XID val = IncludeInferiors;
|
||||
@@ -492,6 +493,7 @@
|
||||
w, h, 0, 0);
|
||||
FreeScratchGC (pGC);
|
||||
}
|
||||
+#endif
|
||||
return pPixmap;
|
||||
}
|
||||
|
@ -1,31 +0,0 @@
|
||||
--- xorg-server-1.1.1/hw/xfree86/os-support/linux/Makefile.am.automake-1.10 2006-11-30 15:35:09.000000000 -0500
|
||||
+++ xorg-server-1.1.1/hw/xfree86/os-support/linux/Makefile.am 2006-12-01 11:00:04.000000000 -0500
|
||||
@@ -41,7 +41,7 @@
|
||||
INCLUDES = $(XORG_INCS) $(PLATFORM_INCLUDES) -I/usr/include/drm # FIXME this last part is crack
|
||||
|
||||
# FIXME: These need to be added to the build
|
||||
-LNX_EXTRA_SOURCES = \
|
||||
+LNX_EXTRA_SRCS = \
|
||||
lnx_font.c \
|
||||
lnx_jstk.c \
|
||||
lnxResource.c
|
||||
--- xorg-server-1.1.1/hw/xfree86/os-support/misc/Makefile.am.automake-1.10 2006-07-05 14:31:41.000000000 -0400
|
||||
+++ xorg-server-1.1.1/hw/xfree86/os-support/misc/Makefile.am 2006-12-01 11:00:57.000000000 -0500
|
||||
@@ -1,14 +1,14 @@
|
||||
# FIXME: Add the *.S files to build when applicable
|
||||
-I386_SOURCES = BUSmemcpy.S IODelay.S SlowBcopy.S
|
||||
+I386_SRCS = BUSmemcpy.S IODelay.S SlowBcopy.S
|
||||
OTHER_SOURCES = BUSmemcpy.c IODelay.c SlowBcopy.c
|
||||
|
||||
ARCH_SOURCES = $(OTHER_SOURCES)
|
||||
|
||||
# FIXME: Add to the build (NeedPortIO)
|
||||
-PORTIO_SOURCES = PortIO.S
|
||||
+PORTIO_SRCS = PortIO.S
|
||||
|
||||
# FIXME: Add to the build (if HasGcc || HasGcc2)
|
||||
-ILHACK_SOURCES = xf86_IlHack.c
|
||||
+ILHACK_SRCS = xf86_IlHack.c
|
||||
|
||||
noinst_LTLIBRARIES = libmisc.la
|
||||
|
@ -1,33 +0,0 @@
|
||||
--- xorg-server-1.1.1/include/dix-config.h.in.builderstring 2006-07-05 14:38:48.000000000 -0400
|
||||
+++ xorg-server-1.1.1/include/dix-config.h.in 2006-08-09 16:59:05.000000000 -0400
|
||||
@@ -15,6 +15,9 @@
|
||||
/* Operating System Vendor */
|
||||
#undef OSVENDOR
|
||||
|
||||
+/* Builder string */
|
||||
+#undef BUILDERSTRING
|
||||
+
|
||||
/* Default font path */
|
||||
#undef COMPILEDDEFAULTFONTPATH
|
||||
|
||||
--- xorg-server-1.1.1/configure.ac.builderstring 2006-08-09 14:04:19.000000000 -0400
|
||||
+++ xorg-server-1.1.1/configure.ac 2006-08-09 16:58:25.000000000 -0400
|
||||
@@ -358,6 +358,9 @@
|
||||
AC_ARG_WITH(os-vendor, AS_HELP_STRING([--with-os-vendor=OSVENDOR], [Name of OS vendor]),
|
||||
[ OSVENDOR="$withval" ],
|
||||
[ OSVENDOR="" ])
|
||||
+AC_ARG_WITH(builderstring, AS_HELP_STRING([--with-builderstring=BUILDERSTRING], [Additional builder string]),
|
||||
+ [ BUILDERSTRING="$withval" ]
|
||||
+ [ ])
|
||||
AC_ARG_WITH(mesa-source, AS_HELP_STRING([--with-mesa-source=MESA_SOURCE], [Path to Mesa source tree]),
|
||||
[ MESA_SOURCE="$withval" ],
|
||||
[ MESA_SOURCE="" ])
|
||||
@@ -817,6 +820,8 @@
|
||||
AC_DEFINE_UNQUOTED(BUILDERADDR, ["$BUILDERADDR"], [Builder address])
|
||||
AC_DEFINE_UNQUOTED(OSNAME, ["$OSNAME"], [Operating System Name])
|
||||
AC_DEFINE_UNQUOTED(OSVENDOR, ["$OSVENDOR"], [Operating System Vendor])
|
||||
+AC_DEFINE_UNQUOTED(BUILDERSTRING, ["$BUILDERSTRING"], [Builder string])
|
||||
+
|
||||
AC_SUBST([VENDOR_STRING])
|
||||
AC_SUBST([VENDOR_STRING_SHORT])
|
||||
AC_SUBST([VENDOR_RELEASE])
|
@ -1,17 +0,0 @@
|
||||
From: Adam Jackson <ajax@redhat.com>
|
||||
Date: Sun, 28 Oct 2007 09:37:52 +0100
|
||||
Subject: [PATCH] Enable builtin font FPE.
|
||||
|
||||
---
|
||||
--- ./dix/dixfonts.c.builtin-fonts 2006-09-06 16:45:20.000000000 -0400
|
||||
+++ ./dix/dixfonts.c 2006-09-06 16:45:31.000000000 -0400
|
||||
@@ -1904,9 +1904,7 @@
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
-#ifdef KDRIVESERVER
|
||||
BuiltinRegisterFpeFunctions();
|
||||
-#endif
|
||||
FontFileRegisterFpeFunctions();
|
||||
#ifndef NOFONTSERVERACCESS
|
||||
fs_register_fpe_functions();
|
@ -1,85 +0,0 @@
|
||||
--- xorg-server-1.1.1/miext/cw/cw_ops.c.graphics-expose 2006-07-05 20:23:57.000000000 -0400
|
||||
+++ xorg-server-1.1.1/miext/cw/cw_ops.c 2006-10-04 23:54:03.000000000 -0400
|
||||
@@ -30,6 +30,7 @@
|
||||
#include "gcstruct.h"
|
||||
#include "pixmapstr.h"
|
||||
#include "cw.h"
|
||||
+#include "mi.h"
|
||||
|
||||
#define SETUP_BACKING_DST(_pDst, _pGC) \
|
||||
cwGCPtr pGCPrivate = getCwGC (_pGC); \
|
||||
@@ -185,7 +186,7 @@
|
||||
int w, int h, int dstx, int dsty)
|
||||
{
|
||||
int odstx, odsty;
|
||||
- RegionPtr exposed = NULL;
|
||||
+ int osrcx, osrcy;
|
||||
SETUP_BACKING_DST(pDst, pGC);
|
||||
SETUP_BACKING_SRC(pSrc, pGC);
|
||||
|
||||
@@ -193,19 +194,20 @@
|
||||
|
||||
odstx = dstx;
|
||||
odsty = dsty;
|
||||
+ osrcx = srcx;
|
||||
+ osrcy = srcy;
|
||||
CW_OFFSET_XY_DST(dstx, dsty);
|
||||
CW_OFFSET_XY_SRC(srcx, srcy);
|
||||
|
||||
- exposed = (*pBackingGC->ops->CopyArea)(pBackingSrc, pBackingDst,
|
||||
- pBackingGC, srcx, srcy, w, h,
|
||||
- dstx, dsty);
|
||||
-
|
||||
- if (exposed != NULL)
|
||||
- REGION_TRANSLATE(pDst->pScreen, exposed, odstx - dstx, odsty - dsty);
|
||||
-
|
||||
+ (*pBackingGC->ops->CopyArea)(pBackingSrc, pBackingDst,
|
||||
+ pBackingGC, srcx, srcy, w, h,
|
||||
+ dstx, dsty);
|
||||
+
|
||||
EPILOGUE(pGC);
|
||||
|
||||
- return exposed;
|
||||
+ return miHandleExposures(pSrc, pDst, pGC,
|
||||
+ osrcx, osrcy, w, h,
|
||||
+ odstx, odsty, 0);
|
||||
}
|
||||
|
||||
static RegionPtr
|
||||
@@ -213,7 +215,7 @@
|
||||
int w, int h, int dstx, int dsty, unsigned long plane)
|
||||
{
|
||||
int odstx, odsty;
|
||||
- RegionPtr exposed = NULL;
|
||||
+ int osrcx, osrcy;
|
||||
SETUP_BACKING_DST(pDst, pGC);
|
||||
SETUP_BACKING_SRC(pSrc, pGC);
|
||||
|
||||
@@ -221,19 +223,20 @@
|
||||
|
||||
odstx = dstx;
|
||||
odsty = dsty;
|
||||
+ osrcx = srcx;
|
||||
+ osrcy = srcy;
|
||||
CW_OFFSET_XY_DST(dstx, dsty);
|
||||
CW_OFFSET_XY_SRC(srcx, srcy);
|
||||
|
||||
- exposed = (*pBackingGC->ops->CopyPlane)(pBackingSrc, pBackingDst,
|
||||
- pBackingGC, srcx, srcy, w, h,
|
||||
- dstx, dsty, plane);
|
||||
-
|
||||
- if (exposed != NULL)
|
||||
- REGION_TRANSLATE(pDst->pScreen, exposed, odstx - dstx, odsty - dsty);
|
||||
+ (*pBackingGC->ops->CopyPlane)(pBackingSrc, pBackingDst,
|
||||
+ pBackingGC, srcx, srcy, w, h,
|
||||
+ dstx, dsty, plane);
|
||||
|
||||
EPILOGUE(pGC);
|
||||
|
||||
- return exposed;
|
||||
+ return miHandleExposures(pSrc, pDst, pGC,
|
||||
+ osrcx, osrcy, w, h,
|
||||
+ odstx, odsty, plane);
|
||||
}
|
||||
|
||||
static void
|
@ -1,20 +0,0 @@
|
||||
From: Adam Jackson <ajax@redhat.com>
|
||||
Date: Sun, 28 Oct 2007 09:37:52 +0100
|
||||
Subject: [PATCH] Disable Composite in Xnest.
|
||||
|
||||
---
|
||||
--- xorg-server-1.1.1/hw/xnest/Args.c.no-xnest-composite 2006-07-05 14:31:42.000000000 -0400
|
||||
+++ xorg-server-1.1.1/hw/xnest/Args.c 2006-07-25 14:02:33.000000000 -0400
|
||||
@@ -51,9 +51,12 @@
|
||||
Bool xnestDoDirectColormaps = False;
|
||||
Window xnestParentWindow = 0;
|
||||
|
||||
+/* XXX terrible hack */
|
||||
+extern Bool noCompositeExtension;
|
||||
/* ddxInitGlobals - called by |InitGlobals| from os/util.c */
|
||||
void ddxInitGlobals(void)
|
||||
{
|
||||
+ noCompositeExtension = TRUE;
|
||||
}
|
||||
|
||||
int
|
@ -1,23 +0,0 @@
|
||||
--- xorg-server-1.1.1/hw/xfree86/utils/Makefile.am.no-scanpci 2006-07-05 14:31:42.000000000 -0400
|
||||
+++ xorg-server-1.1.1/hw/xfree86/utils/Makefile.am 2006-11-10 11:43:27.000000000 -0500
|
||||
@@ -4,6 +4,5 @@
|
||||
ioport \
|
||||
kbd_mode \
|
||||
pcitweak \
|
||||
- scanpci \
|
||||
xorgcfg \
|
||||
xorgconfig
|
||||
--- xorg-server-1.1.1/hw/xfree86/scanpci/Makefile.am.no-scanpci 2006-07-05 14:31:41.000000000 -0400
|
||||
+++ xorg-server-1.1.1/hw/xfree86/scanpci/Makefile.am 2006-11-10 11:59:26.000000000 -0500
|
||||
@@ -1,10 +1,8 @@
|
||||
-module_LTLIBRARIES = libscanpci.la libpcidata.la
|
||||
+module_LTLIBRARIES = libpcidata.la
|
||||
|
||||
libpcidata_la_LDFLAGS = -avoid-version
|
||||
-libscanpci_la_LDFLAGS = -avoid-version
|
||||
|
||||
libpcidata_la_SOURCES = xf86PciData.c
|
||||
-libscanpci_la_SOURCES = xf86ScanPci.c
|
||||
|
||||
INCLUDES = $(XORG_INCS)
|
||||
|
@ -1,11 +0,0 @@
|
||||
--- xorg-server-1.1.1/hw/xfree86/xf4bpp/Makefile.am.xf1bpp 2006-07-05 14:31:42.000000000 -0400
|
||||
+++ xorg-server-1.1.1/hw/xfree86/xf4bpp/Makefile.am 2006-11-10 12:53:25.000000000 -0500
|
||||
@@ -46,8 +46,6 @@
|
||||
mfbzerarc.c \
|
||||
vgamodule.c
|
||||
|
||||
-libxf4bpp_la_LIBADD = ../xf1bpp/libxf1bpp.la
|
||||
-
|
||||
EXTRA_DIST = OScompiler.h ibmTrace.h ppcGCstr.h ppcSpMcro.h vgaReg.h \
|
||||
vgaVideo.h wm3.h NOTES
|
||||
|
@ -1,45 +0,0 @@
|
||||
From: Adam Jackson <ajax@redhat.com>
|
||||
Date: Sun, 28 Oct 2007 09:37:52 +0100
|
||||
Subject: [PATCH] Don't filter modes away during VBE mode list construction.
|
||||
|
||||
Pass all VBE modes back up to the driver, on the assumption that it
|
||||
knows how to filter modes intelligently.
|
||||
|
||||
---
|
||||
--- xorg-server-1.1.1/hw/xfree86/vbe/vbeModes.c.jx 2006-07-05 14:31:42.000000000 -0400
|
||||
+++ xorg-server-1.1.1/hw/xfree86/vbe/vbeModes.c 2006-09-22 15:29:34.000000000 -0400
|
||||
@@ -153,34 +153,6 @@
|
||||
xf86ErrorFVerb(DEBUG_VERB, "*");
|
||||
}
|
||||
|
||||
- /*
|
||||
- * Check if there's a valid monitor mode that this one can be matched
|
||||
- * up with. The actual matching is done later.
|
||||
- */
|
||||
- if (modeOK) {
|
||||
- Bool sizeMatch = FALSE;
|
||||
- modeOK = FALSE;
|
||||
- for (p = pScrn->monitor->Modes; p != NULL; p = p->next) {
|
||||
- if ((p->HDisplay != mode->XResolution) ||
|
||||
- (p->VDisplay != mode->YResolution) ||
|
||||
- (p->Flags & (V_INTERLACE | V_DBLSCAN | V_CLKDIV2)))
|
||||
- continue;
|
||||
- sizeMatch = TRUE;
|
||||
- /* XXX could support the various V_ flags */
|
||||
- status = xf86CheckModeForMonitor(p, pScrn->monitor);
|
||||
- if (status == MODE_OK) {
|
||||
- modeOK = TRUE;
|
||||
- break;
|
||||
- }
|
||||
- }
|
||||
- if (sizeMatch && !modeOK) {
|
||||
- xf86DrvMsg(pScrn->scrnIndex, X_INFO,
|
||||
- "Not using built-in mode \"%dx%d\" (%s)\n",
|
||||
- mode->XResolution, mode->YResolution,
|
||||
- xf86ModeStatusToString(status));
|
||||
- }
|
||||
- }
|
||||
-
|
||||
xf86ErrorFVerb(DEBUG_VERB,
|
||||
"Mode: %x (%dx%d)\n", id, mode->XResolution, mode->YResolution);
|
||||
xf86ErrorFVerb(DEBUG_VERB,
|
@ -1,37 +0,0 @@
|
||||
--- xorg-server-1.1.1/hw/xfree86/os-support/linux/lnx_init.c.vt-activate 2006-07-05 14:31:41.000000000 -0400
|
||||
+++ xorg-server-1.1.1/hw/xfree86/os-support/linux/lnx_init.c 2006-12-14 22:00:25.000000000 -0500
|
||||
@@ -248,14 +248,20 @@
|
||||
#endif
|
||||
/*
|
||||
* now get the VT
|
||||
+ *
|
||||
+ * There's a race here, in that if someone else does a VT_ACTIVATE
|
||||
+ * between our ACTIVATE/WAITACTIVE, we might never get the VT.
|
||||
+ * So we have to fail in that case. There's really no fixing this,
|
||||
+ * it's a racy protocol.
|
||||
*/
|
||||
if (ioctl(xf86Info.consoleFd, VT_ACTIVATE, xf86Info.vtno) < 0)
|
||||
- xf86Msg(X_WARNING, "xf86OpenConsole: VT_ACTIVATE failed: %s\n",
|
||||
- strerror(errno));
|
||||
+ FatalError("xf86OpenConsole: VT_ACTIVATE failed: %s\n",
|
||||
+ strerror(errno));
|
||||
+
|
||||
|
||||
if (ioctl(xf86Info.consoleFd, VT_WAITACTIVE, xf86Info.vtno) < 0)
|
||||
- xf86Msg(X_WARNING, "xf86OpenConsole: VT_WAITACTIVE failed: %s\n",
|
||||
- strerror(errno));
|
||||
+ FatalError("xf86OpenConsole: VT_WAITACTIVE failed: %s\n",
|
||||
+ strerror(errno));
|
||||
|
||||
if (ioctl(xf86Info.consoleFd, VT_GETMODE, &VT) < 0)
|
||||
FatalError("xf86OpenConsole: VT_GETMODE failed %s\n",
|
||||
@@ -352,6 +358,9 @@
|
||||
if (ioctl(xf86Info.consoleFd, VT_ACTIVATE, activeVT) < 0)
|
||||
xf86Msg(X_WARNING, "xf86CloseConsole: VT_ACTIVATE failed: %s\n",
|
||||
strerror(errno));
|
||||
+ if (ioctl(xf86Info.consoleFd, VT_WAITACTIVE, activeVT) < 0)
|
||||
+ xf86Msg(X_WARNING, "xf86CloseConsole: VT_WAITACTIVE failed: %s\n",
|
||||
+ strerror(errno));
|
||||
activeVT = -1;
|
||||
}
|
||||
|
@ -1,11 +0,0 @@
|
||||
--- xorg-server-1.1.1/mi/miinitext.c.xkb-in-xnest 2006-07-05 14:38:48.000000000 -0400
|
||||
+++ xorg-server-1.1.1/mi/miinitext.c 2006-08-17 22:57:27.000000000 -0400
|
||||
@@ -595,7 +595,7 @@
|
||||
#ifdef XSYNC
|
||||
if (!noSyncExtension) SyncExtensionInit();
|
||||
#endif
|
||||
-#if defined(XKB) && !defined(PRINT_ONLY_SERVER) && !defined(NO_HW_ONLY_EXTS)
|
||||
+#if defined(XKB) && !defined(PRINT_ONLY_SERVER)
|
||||
if (!noXkbExtension) XkbExtensionInit();
|
||||
#endif
|
||||
#ifdef XCMISC
|
@ -1,16 +0,0 @@
|
||||
From: Adam Jackson <ajax@redhat.com>
|
||||
Date: Sun, 28 Oct 2007 09:37:52 +0100
|
||||
Subject: [PATCH] Enable the Composite extension by default
|
||||
|
||||
---
|
||||
--- xorg-server-1.2.0/os/utils.c.enable-composite 2007-01-22 22:13:16.000000000 -0500
|
||||
+++ xorg-server-1.2.0/os/utils.c 2007-01-23 12:26:04.000000000 -0500
|
||||
@@ -138,7 +138,7 @@
|
||||
#ifdef COMPOSITE
|
||||
/* COMPOSITE is disabled by default for now until the
|
||||
* interface is stable */
|
||||
- #define COMPOSITE_DEFAULT FALSE
|
||||
+ #define COMPOSITE_DEFAULT TRUE
|
||||
_X_EXPORT Bool noCompositeExtension = !COMPOSITE_DEFAULT;
|
||||
#endif
|
||||
|
@ -1,39 +0,0 @@
|
||||
From: Adam Jackson <ajax@redhat.com>
|
||||
Date: Sun, 28 Oct 2007 09:37:52 +0100
|
||||
Subject: [PATCH] Add selinux awareness.
|
||||
|
||||
Mesa contains some codegen paths that check for selinux, so we need to
|
||||
link against libselinux to make that work.
|
||||
|
||||
---
|
||||
--- xserver-20070223/hw/xfree86/dixmods/Makefile.am.selinux-awareness 2007-02-23 11:20:30.000000000 -0500
|
||||
+++ xserver-20070223/hw/xfree86/dixmods/Makefile.am 2007-02-23 11:24:32.000000000 -0500
|
||||
@@ -42,7 +42,7 @@
|
||||
-I$(top_srcdir)/GL/glx
|
||||
|
||||
libGLcore_la_LDFLAGS = -avoid-version
|
||||
-libGLcore_la_LIBADD = $(top_builddir)/GL/mesa/libGLcore.la
|
||||
+libGLcore_la_LIBADD = $(top_builddir)/GL/mesa/libGLcore.la -lselinux
|
||||
libGLcore_la_SOURCES = GLcoremodule.c
|
||||
|
||||
libafb_la_LDFLAGS = -avoid-version
|
||||
--- xserver-20070223/configure.ac.selinux-awareness 2007-02-23 11:24:31.000000000 -0500
|
||||
+++ xserver-20070223/configure.ac 2007-02-23 11:25:38.000000000 -0500
|
||||
@@ -237,6 +237,8 @@
|
||||
;;
|
||||
esac
|
||||
|
||||
+SYS_LIBS="${SYS_LIBS} -lselinux"
|
||||
+
|
||||
dnl BSD *_video.c selection
|
||||
AM_CONDITIONAL(ALPHA_VIDEO, [test "x$ALPHA_VIDEO" = xyes])
|
||||
AM_CONDITIONAL(ARM_VIDEO, [test "x$ARM_VIDEO" = xyes])
|
||||
@@ -1010,7 +1012,7 @@
|
||||
AM_CONDITIONAL(XNEST, [test "x$XNEST" = xyes])
|
||||
|
||||
if test "x$XNEST" = xyes; then
|
||||
- XNEST_LIBS="$FB_LIB $MI_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $XTRAP_LIB $RECORD_LIB $GLX_LIBS $RENDER_LIB $RANDR_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $XPSTUBS_LIB $CWRAP_LIB $OS_LIB $LIBS"
|
||||
+ XNEST_LIBS="$FB_LIB $MI_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $XTRAP_LIB $RECORD_LIB $GLX_LIBS $RENDER_LIB $RANDR_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $XPSTUBS_LIB $CWRAP_LIB $OS_LIB $LIBS $XSERVER_LIBS"
|
||||
AC_SUBST([XNEST_LIBS])
|
||||
fi
|
||||
|
@ -1,32 +0,0 @@
|
||||
--- xorg-server-1.2.0/hw/kdrive/Makefile.am.xephyr 2007-01-22 22:13:14.000000000 -0500
|
||||
+++ xorg-server-1.2.0/hw/kdrive/Makefile.am 2007-01-23 12:28:32.000000000 -0500
|
||||
@@ -1,16 +1,3 @@
|
||||
-if KDRIVEVESA
|
||||
-VESA_SUBDIRS = vesa ati chips epson i810 mach64 mga neomagic nvidia pm2 r128 \
|
||||
- smi via
|
||||
-endif
|
||||
-
|
||||
-if KDRIVEFBDEV
|
||||
-FBDEV_SUBDIRS = fbdev
|
||||
-endif
|
||||
-
|
||||
-if XSDLSERVER
|
||||
-XSDL_SUBDIRS = sdl
|
||||
-endif
|
||||
-
|
||||
if XEPHYR
|
||||
XEPHYR_SUBDIRS = ephyr
|
||||
endif
|
||||
@@ -22,11 +9,7 @@
|
||||
SUBDIRS = \
|
||||
src \
|
||||
$(LINUX_SUBDIRS) \
|
||||
- $(XSDL_SUBDIRS) \
|
||||
- $(FBDEV_SUBDIRS) \
|
||||
- $(VESA_SUBDIRS) \
|
||||
- $(XEPHYR_SUBDIRS) \
|
||||
- fake
|
||||
+ $(XEPHYR_SUBDIRS)
|
||||
|
||||
DIST_SUBDIRS = vesa ati chips epson i810 mach64 mga neomagic nvidia pm2 r128 \
|
||||
smi via fbdev sdl ephyr src linux fake sis300
|
@ -1,16 +0,0 @@
|
||||
From: Adam Jackson <ajax@redhat.com>
|
||||
Date: Sun, 28 Oct 2007 09:37:52 +0100
|
||||
Subject: [PATCH] Disable explicit commenting in Monitor section.
|
||||
|
||||
---
|
||||
--- xorg-server-1.2.0/hw/xfree86/parser/Monitor.c.comment-less 2007-01-22 22:13:15.000000000 -0500
|
||||
+++ xorg-server-1.2.0/hw/xfree86/parser/Monitor.c 2007-01-23 12:32:48.000000000 -0500
|
||||
@@ -674,8 +674,6 @@
|
||||
fprintf (cf, "\tDisplaySize %d\t%d\n",
|
||||
ptr->mon_width,
|
||||
ptr->mon_height);
|
||||
- if ( ptr->mon_n_hsync || ptr->mon_n_vrefresh )
|
||||
- fprintf(cf," ### Comment all HorizSync and VertRefresh values to use DDC:\n");
|
||||
for (i = 0; i < ptr->mon_n_hsync; i++)
|
||||
{
|
||||
fprintf (cf, "\tHorizSync %2.1f - %2.1f\n",
|
@ -1,29 +0,0 @@
|
||||
--- hw/xfree86/parser/write.c.orig 2006-07-12 11:15:49.000000000 -0400
|
||||
+++ hw/xfree86/parser/write.c 2006-07-12 11:19:59.000000000 -0400
|
||||
@@ -108,13 +108,19 @@
|
||||
|
||||
xf86printLayoutSection (cf, cptr->conf_layout_lst);
|
||||
|
||||
- fprintf (cf, "Section \"Files\"\n");
|
||||
- xf86printFileSection (cf, cptr->conf_files);
|
||||
- fprintf (cf, "EndSection\n\n");
|
||||
-
|
||||
- fprintf (cf, "Section \"Module\"\n");
|
||||
- xf86printModuleSection (cf, cptr->conf_modules);
|
||||
- fprintf (cf, "EndSection\n\n");
|
||||
+ if (cptr->conf_files != NULL)
|
||||
+ {
|
||||
+ fprintf (cf, "Section \"Files\"\n");
|
||||
+ xf86printFileSection (cf, cptr->conf_files);
|
||||
+ fprintf (cf, "EndSection\n\n");
|
||||
+ }
|
||||
+
|
||||
+ if (cptr->conf_modules != NULL)
|
||||
+ {
|
||||
+ fprintf (cf, "Section \"Module\"\n");
|
||||
+ xf86printModuleSection (cf, cptr->conf_modules);
|
||||
+ fprintf (cf, "EndSection\n\n");
|
||||
+ }
|
||||
|
||||
xf86printVendorSection (cf, cptr->conf_vendor_lst);
|
||||
|
@ -15,12 +15,12 @@
|
||||
# RHEL5 bugfix sync
|
||||
|
||||
%define pkgname xorg-server
|
||||
%define gitdate 20071101
|
||||
%define gitdate 20071102
|
||||
|
||||
Summary: X.Org X11 X server
|
||||
Name: xorg-x11-server
|
||||
Version: 1.4.99.1
|
||||
Release: 0.5%{?dist}
|
||||
Release: 0.6%{?dist}
|
||||
URL: http://www.x.org
|
||||
License: MIT
|
||||
Group: User Interface/X
|
||||
@ -38,10 +38,7 @@ Source0: ftp://ftp.x.org/pub/individual/xserver/%{pkgname}-%{version}.tar.bz2
|
||||
Source100: comment-header-modefiles.txt
|
||||
|
||||
# general bug fixes
|
||||
Patch0: xorg-x11-server-0.99.3-init-origins-fix.patch
|
||||
Patch10: xorg-x11-server-1.1.1-vbe-filter-less.patch
|
||||
Patch19: xserver-1.3.0-xnest-exposures.patch
|
||||
Patch22: xserver-1.3.0-fbdevhw-magic-numbers.patch
|
||||
|
||||
# OpenGL compositing manager feature/optimization patches.
|
||||
Patch100: xorg-x11-server-1.1.0-no-move-damage.patch
|
||||
@ -53,25 +50,13 @@ Patch1001: xorg-x11-server-Red-Hat-extramodes.patch
|
||||
Patch1003: xserver-1.4.99-pic-libxf86config.patch
|
||||
Patch1004: xserver-1.4.99-selinux-awareness.patch
|
||||
Patch1005: xserver-1.4.99-builtin-fonts.patch
|
||||
Patch1008: xorg-x11-server-1.2.0-xf86config-comment-less.patch
|
||||
Patch1010: xserver-1.3.0-no-prerelease-warning.patch
|
||||
Patch1014: xserver-1.4.99-xaa-evict-pixmaps.patch
|
||||
Patch1022: xserver-1.3.0-default-dpi.patch
|
||||
Patch1024: xserver-1.3.0-avoid-ps2-probe.patch
|
||||
|
||||
Patch2004: xserver-1.3.0-honor-displaysize.patch
|
||||
Patch2007: xserver-1.3.0-randr12-config-hack.patch
|
||||
Patch2013: xserver-1.3.0-document-fontpath-correctly.patch
|
||||
Patch2015: xserver-1.3.0-accidental-abi.patch
|
||||
Patch2016: xserver-1.4.99-late-sigusr1.patch
|
||||
|
||||
# assorted PCI layer shenanigans. oh the pain.
|
||||
##Patch2500: xorg-x11-server-1.2.99-unbreak-domain.patch
|
||||
##Patch2501: xserver-1.3.0-pci-bus-count.patch
|
||||
##Patch2502: xserver-1.3.0-mmap-failure-check.patch
|
||||
##Patch2503: xserver-1.3.0-rom-search.patch
|
||||
##Patch2504: xserver-1.3.0-domain-obiwan.patch
|
||||
##Patch2505: xserver-1.3.0-pci-device-enable.patch
|
||||
|
||||
|
||||
%define moduledir %{_libdir}/xorg/modules
|
||||
@ -91,7 +76,7 @@ Patch2016: xserver-1.4.99-late-sigusr1.patch
|
||||
%endif
|
||||
|
||||
%define kdrive --enable-kdrive --enable-xephyr --disable-xsdl --disable-xfake --disable-xfbdev --disable-kdrive-vesa
|
||||
%define xservers --enable-xvfb --enable-xnest %{kdrive} --enable-dmx
|
||||
%define xservers --enable-xvfb --enable-xnest %{kdrive} %{enable_xorg} --enable-dmx
|
||||
|
||||
# FIXME: Temporary Build deps on autotools, as needed...
|
||||
BuildRequires: automake autoconf libtool
|
||||
@ -180,7 +165,7 @@ upon.
|
||||
%package Xnest
|
||||
Summary: A nested server.
|
||||
Group: User Interface/X
|
||||
Obsoletes: XFree86-Xnest, xorg-x11-Xnest
|
||||
Obsoletes: xorg-x11-Xnest
|
||||
Requires: xorg-x11-server-common >= %{version}-%{release}
|
||||
Provides: Xnest
|
||||
|
||||
@ -213,7 +198,7 @@ application for Xdmx would be to unify a 4 by 4 grid of 1280x1024 displays
|
||||
%package Xvfb
|
||||
Summary: A X Windows System virtual framebuffer X server.
|
||||
Group: User Interface/X
|
||||
Obsoletes: XFree86-Xvfb xorg-x11-Xvfb
|
||||
Obsoletes: xorg-x11-Xvfb
|
||||
Requires: xorg-x11-server-common >= %{version}-%{release}
|
||||
Provides: Xvfb
|
||||
|
||||
@ -246,7 +231,7 @@ Render and Composite.
|
||||
%package devel
|
||||
Summary: SDK for X server driver module development
|
||||
Group: User Interface/X
|
||||
Obsoletes: XFree86-sdk xorg-x11-sdk xorg-x11-server-sdk
|
||||
Obsoletes: xorg-x11-sdk xorg-x11-server-sdk
|
||||
Requires: xorg-x11-util-macros
|
||||
Requires: xorg-x11-proto-devel
|
||||
Requires: pkgconfig
|
||||
@ -300,8 +285,7 @@ fi
|
||||
# --with-rgb-path should be superfluous now ?
|
||||
# --with-pie ?
|
||||
autoreconf -v --install || exit 1
|
||||
%configure --enable-maintainer-mode \
|
||||
%{enable_xorg} %{xservers} \
|
||||
%configure --enable-maintainer-mode %{xservers} \
|
||||
--disable-static \
|
||||
--with-pic \
|
||||
--disable-{a,c,m}fb \
|
||||
@ -534,6 +518,12 @@ rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
|
||||
%changelog
|
||||
* Fri Nov 02 2007 Adam Jackson <ajax@redhat.com> 1.4.99.1-0.6
|
||||
- Merge a bunch of the more trivial patches upstream.
|
||||
- New git snapshot containing the merged bits.
|
||||
- Remove unused patches.
|
||||
- Drop the XFree86 obsoletes.
|
||||
|
||||
* Fri Nov 02 2007 Adam Jackson <ajax@redhat.com> 1.4.99.1-0.5
|
||||
- New git snapshot that fixes Xdmx build.
|
||||
- Reenable Xdmx build.
|
||||
|
@ -1,18 +0,0 @@
|
||||
From: Adam Jackson <ajax@redhat.com>
|
||||
Date: Sun, 28 Oct 2007 09:37:52 +0100
|
||||
Subject: [PATCH] Fix MMX detection for AMD Geode processors.
|
||||
|
||||
---
|
||||
--- a/fb/fbpict.c
|
||||
+++ a/fb/fbpict.c
|
||||
@@ -1516,7 +1516,9 @@ static unsigned int detectCPUFeatures(void) {
|
||||
features |= SSE;
|
||||
if (result & (1 << 26))
|
||||
features |= SSE2;
|
||||
- if ((result & MMX) && !(result & SSE) && (strcmp(vendor, "AuthenticAMD") == 0)) {
|
||||
+ if ((features & MMX) && !(features & SSE) &&
|
||||
+ (strcmp(vendor, "AuthenticAMD") == 0 ||
|
||||
+ strcmp(vendor, "Geode by NSC") == 0)) {
|
||||
/* check for AMD MMX extensions */
|
||||
|
||||
unsigned int result;
|
@ -1,11 +0,0 @@
|
||||
--- xorg-server-1.2.0/hw/xfree86/os-support/xf86_libc.h.jx 2007-01-22 22:13:15.000000000 -0500
|
||||
+++ xorg-server-1.2.0/hw/xfree86/os-support/xf86_libc.h 2007-01-29 18:13:11.000000000 -0500
|
||||
@@ -428,7 +428,7 @@
|
||||
#define toupper(i) xf86toupper(i)
|
||||
#undef ungetc
|
||||
#define ungetc(i,FP) xf86ungetc(i,FP)
|
||||
-#undef vfprinf
|
||||
+#undef vfprintf
|
||||
#define vfprintf(p,f,a) xf86vfprintf(p,f,a)
|
||||
#undef vsnprintf
|
||||
#define vsnprintf(s,n,f,a) xf86vsnprintf(s,n,f,a)
|
@ -1,29 +0,0 @@
|
||||
From: Adam Jackson <ajax@redhat.com>
|
||||
Date: Sun, 28 Oct 2007 09:37:52 +0100
|
||||
Subject: [PATCH] Fix keysym typedef in Xephyr.
|
||||
|
||||
---
|
||||
--- xorg-server-1.2.0/hw/kdrive/ephyr/hostx.c.xephyr-keysym 2007-01-22 22:13:14.000000000 -0500
|
||||
+++ xorg-server-1.2.0/hw/kdrive/ephyr/hostx.c 2007-01-29 17:58:00.000000000 -0500
|
||||
@@ -77,9 +77,10 @@
|
||||
|
||||
static int HostXWantDamageDebug = 0;
|
||||
|
||||
-extern KeySym EphyrKeymap[];
|
||||
+/* these two need to be 32-bits. do not say KeySym, that way lies madness */
|
||||
+extern unsigned int EphyrKeymap[];
|
||||
+extern unsigned int kdKeymap[];
|
||||
|
||||
-extern KeySym kdKeymap[];
|
||||
extern int kdMinScanCode;
|
||||
extern int kdMaxScanCode;
|
||||
extern int kdMinKeyCode;
|
||||
@@ -662,7 +663,7 @@
|
||||
void
|
||||
hostx_load_keymap(void)
|
||||
{
|
||||
- KeySym *keymap;
|
||||
+ unsigned int *keymap;
|
||||
int host_width, min_keycode, max_keycode, width;
|
||||
int i,j;
|
||||
|
@ -1,32 +0,0 @@
|
||||
From: Adam Jackson <ajax@redhat.com>
|
||||
Date: Sun, 28 Oct 2007 09:37:52 +0100
|
||||
Subject: [PATCH] Fix accidental ABI usage in RANDR 1.2 drivers.
|
||||
|
||||
Due to RANDR 1.2, xf86findOptionValue and xf86nameCompare are now ABI.
|
||||
Make sure they're exported from the server.
|
||||
|
||||
---
|
||||
diff -up xorg-server-1.3.0.0/hw/xfree86/parser/Flags.c.jx xorg-server-1.3.0.0/hw/xfree86/parser/Flags.c
|
||||
--- xorg-server-1.3.0.0/hw/xfree86/parser/Flags.c.jx 2006-09-18 02:04:18.000000000 -0400
|
||||
+++ xorg-server-1.3.0.0/hw/xfree86/parser/Flags.c 2007-10-03 11:08:01.000000000 -0400
|
||||
@@ -330,7 +330,7 @@ xf86findOption (XF86OptionPtr list, cons
|
||||
* returned. If the option is not found, a NULL is returned.
|
||||
*/
|
||||
|
||||
-char *
|
||||
+__attribute__((visibility("default"))) char *
|
||||
xf86findOptionValue (XF86OptionPtr list, const char *name)
|
||||
{
|
||||
XF86OptionPtr p = xf86findOption (list, name);
|
||||
diff -up xorg-server-1.3.0.0/hw/xfree86/parser/scan.c.jx xorg-server-1.3.0.0/hw/xfree86/parser/scan.c
|
||||
--- xorg-server-1.3.0.0/hw/xfree86/parser/scan.c.jx 2006-10-04 17:46:03.000000000 -0400
|
||||
+++ xorg-server-1.3.0.0/hw/xfree86/parser/scan.c 2007-10-03 10:57:43.000000000 -0400
|
||||
@@ -985,7 +985,7 @@ StringToToken (char *str, xf86ConfigSymT
|
||||
* Compare two names. The characters '_', ' ', and '\t' are ignored
|
||||
* in the comparison.
|
||||
*/
|
||||
-int
|
||||
+__attribute__((visibility("default"))) int
|
||||
xf86nameCompare (const char *s1, const char *s2)
|
||||
{
|
||||
char c1, c2;
|
@ -1,73 +0,0 @@
|
||||
diff --git a/hw/xfree86/loader/xf86sym.c b/hw/xfree86/loader/xf86sym.c
|
||||
index d925bed..8a2768d 100644
|
||||
--- a/hw/xfree86/loader/xf86sym.c
|
||||
+++ b/hw/xfree86/loader/xf86sym.c
|
||||
@@ -259,6 +259,7 @@ _X_HIDDEN void *xfree86LookupTab[] = {
|
||||
SYMFUNC(xf86UDelay)
|
||||
SYMFUNC(xf86IODelay)
|
||||
SYMFUNC(xf86SlowBcopy)
|
||||
+ SYMFUNC(xf86SetReallySlowBcopy)
|
||||
#ifdef __alpha__
|
||||
SYMFUNC(xf86SlowBCopyToBus)
|
||||
SYMFUNC(xf86SlowBCopyFromBus)
|
||||
diff --git a/hw/xfree86/os-support/misc/SlowBcopy.c b/hw/xfree86/os-support/misc/SlowBcopy.c
|
||||
index 7694eaa..5cd7168 100644
|
||||
--- a/hw/xfree86/os-support/misc/SlowBcopy.c
|
||||
+++ b/hw/xfree86/os-support/misc/SlowBcopy.c
|
||||
@@ -22,21 +22,37 @@
|
||||
#include "xf86_OSlib.h"
|
||||
#include "compiler.h"
|
||||
|
||||
-/* The outb() isn't needed on my machine, but who knows ... -- ost */
|
||||
+static int really_slow_bcopy;
|
||||
+
|
||||
_X_EXPORT void
|
||||
-xf86SlowBcopy(unsigned char *src, unsigned char *dst, int len)
|
||||
+xf86SetReallySlowBcopy(void)
|
||||
+{
|
||||
+ really_slow_bcopy = 1;
|
||||
+}
|
||||
+
|
||||
+#if defined(__i386__) || defined(__x86_64__)
|
||||
+static void xf86_really_slow_bcopy(unsigned char *src, unsigned char *dst, int len)
|
||||
{
|
||||
while(len--)
|
||||
{
|
||||
*dst++ = *src++;
|
||||
-#if !defined(__sparc__) && \
|
||||
- !defined(__powerpc__) && \
|
||||
- !defined(__mips__) && \
|
||||
- !defined(__ia64__) && \
|
||||
- !defined(__arm__)
|
||||
outb(0x80, 0x00);
|
||||
+ }
|
||||
+}
|
||||
#endif
|
||||
+
|
||||
+/* The outb() isn't needed on my machine, but who knows ... -- ost */
|
||||
+_X_EXPORT void
|
||||
+xf86SlowBcopy(unsigned char *src, unsigned char *dst, int len)
|
||||
+{
|
||||
+#if defined(__i386__) || defined(__x86_64__)
|
||||
+ if (really_slow_bcopy) {
|
||||
+ xf86_really_slow_bcopy(src, dst, len);
|
||||
+ return;
|
||||
}
|
||||
+#endif
|
||||
+ while(len--)
|
||||
+ *dst++ = *src++;
|
||||
}
|
||||
|
||||
#ifdef __alpha__
|
||||
diff --git a/hw/xfree86/os-support/xf86_OSproc.h b/hw/xfree86/os-support/xf86_OSproc.h
|
||||
index 1bbbf56..6f0391d 100644
|
||||
--- a/hw/xfree86/os-support/xf86_OSproc.h
|
||||
+++ b/hw/xfree86/os-support/xf86_OSproc.h
|
||||
@@ -159,6 +159,7 @@ extern void xf86BusToMem(unsigned char *, unsigned char *, int);
|
||||
extern void xf86MemToBus(unsigned char *, unsigned char *, int);
|
||||
extern void xf86IODelay(void);
|
||||
extern void xf86UDelay(long usec);
|
||||
+extern void xf86SetReallySlowBcopy(void);
|
||||
extern void xf86SlowBcopy(unsigned char *, unsigned char *, int);
|
||||
extern int xf86OpenSerial(pointer options);
|
||||
extern int xf86SetSerial(int fd, pointer options);
|
@ -1,53 +0,0 @@
|
||||
--- xorg-server-1.3.0.0/hw/xfree86/common/xf86Bus.c.arm 2007-02-17 20:37:56.000000000 -0500
|
||||
+++ xorg-server-1.3.0.0/hw/xfree86/common/xf86Bus.c 2007-06-04 11:33:14.000000000 -0400
|
||||
@@ -3006,7 +3006,7 @@
|
||||
|
||||
}
|
||||
|
||||
-#if !defined(__sparc) && !defined(__sparc__) && !defined(__powerpc__) && !defined(__mips__)
|
||||
+#if !defined(__sparc) && !defined(__sparc__) && !defined(__powerpc__) && !defined(__mips__) && !defined(__arm__)
|
||||
#include "vgaHW.h"
|
||||
#include "compiler.h"
|
||||
#endif
|
||||
@@ -3018,7 +3018,7 @@
|
||||
CheckGenericGA()
|
||||
{
|
||||
/* This needs to be changed for multiple domains */
|
||||
-#if !defined(__sparc__) && !defined(__sparc) && !defined(__powerpc__) && !defined(__mips__) && !defined(__ia64__) && !defined(__arm__) && !defined(__s390__)
|
||||
+#if !defined(__sparc__) && !defined(__sparc) && !defined(__powerpc__) && !defined(__mips__) && !defined(__ia64__) && !defined(__arm__) && !defined(__s390__) && !defined(__arm__)
|
||||
IOADDRESS GenericIOBase = VGAHW_GET_IOBASE();
|
||||
CARD8 CurrentValue, TestValue;
|
||||
|
||||
--- xorg-server-1.3.0.0/hw/xfree86/os-support/linux/lnx_video.c.arm 2006-09-18 02:04:18.000000000 -0400
|
||||
+++ xorg-server-1.3.0.0/hw/xfree86/os-support/linux/lnx_video.c 2007-06-04 11:35:21.000000000 -0400
|
||||
@@ -62,7 +62,8 @@
|
||||
#elif !defined(__powerpc__) && \
|
||||
!defined(__mc68000__) && \
|
||||
!defined(__sparc__) && \
|
||||
- !defined(__mips__)
|
||||
+ !defined(__mips__) && \
|
||||
+ !defined(__arm__)
|
||||
|
||||
/*
|
||||
* Due to conflicts with "compiler.h", don't rely on <sys/io.h> to declare
|
||||
@@ -567,7 +568,7 @@
|
||||
#endif
|
||||
}
|
||||
close(fd);
|
||||
-#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && !defined(__sh__) && !defined(__hppa__)
|
||||
+#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && !defined(__sh__) && !defined(__hppa__) && !defined(__arm__)
|
||||
if (ioperm(0, 1024, 1) || iopl(3)) {
|
||||
if (errno == ENODEV)
|
||||
ErrorF("xf86EnableIOPorts: no I/O ports found\n");
|
||||
--- xorg-server-1.3.0.0/hw/xfree86/os-support/misc/SlowBcopy.c.arm 2006-09-18 02:04:18.000000000 -0400
|
||||
+++ xorg-server-1.3.0.0/hw/xfree86/os-support/misc/SlowBcopy.c 2007-06-04 11:31:28.000000000 -0400
|
||||
@@ -35,7 +35,8 @@
|
||||
#if !defined(__sparc__) && \
|
||||
!defined(__powerpc__) && \
|
||||
!defined(__mips__) && \
|
||||
- !defined(__ia64__)
|
||||
+ !defined(__ia64__) && \
|
||||
+ !defined(__arm__)
|
||||
outb(0x80, 0x00);
|
||||
#endif
|
||||
}
|
@ -1,99 +0,0 @@
|
||||
From: Adam Jackson <ajax@redhat.com>
|
||||
Date: Sun, 28 Oct 2007 09:37:52 +0100
|
||||
Subject: [PATCH] Avoid PS/2 protocol probing for /dev/input/mice
|
||||
|
||||
The kernel will always upconvert to ExplorerPS/2 for all readers of
|
||||
/dev/input/mice, so don't waste time on startup trying to figure
|
||||
that out.
|
||||
|
||||
---
|
||||
diff -up xorg-server-1.3.0.0/hw/xfree86/os-support/linux/lnx_mouse.c.jx xorg-server-1.3.0.0/hw/xfree86/os-support/linux/lnx_mouse.c
|
||||
--- xorg-server-1.3.0.0/hw/xfree86/os-support/linux/lnx_mouse.c.jx 2006-09-18 02:04:18.000000000 -0400
|
||||
+++ xorg-server-1.3.0.0/hw/xfree86/os-support/linux/lnx_mouse.c 2007-10-11 09:53:33.000000000 -0400
|
||||
@@ -45,7 +45,8 @@ typedef enum {
|
||||
MOUSE_PROTO_SERIAL,
|
||||
MOUSE_PROTO_PS2,
|
||||
MOUSE_PROTO_MSC,
|
||||
- MOUSE_PROTO_GPM
|
||||
+ MOUSE_PROTO_GPM,
|
||||
+ MOUSE_PROTO_EXPPS2,
|
||||
} protocolTypes;
|
||||
|
||||
static struct {
|
||||
@@ -55,7 +56,8 @@ static struct {
|
||||
{ MOUSE_PROTO_UNKNOWN, NULL },
|
||||
{ MOUSE_PROTO_PS2, "PS/2" },
|
||||
{ MOUSE_PROTO_MSC, "MouseSystems" },
|
||||
- { MOUSE_PROTO_GPM, "GPM" }
|
||||
+ { MOUSE_PROTO_GPM, "GPM" },
|
||||
+ { MOUSE_PROTO_EXPPS2, "ExplorerPS/2" },
|
||||
};
|
||||
|
||||
static const char *
|
||||
@@ -87,7 +89,7 @@ FindDevice(InputInfoPtr pInfo, const cha
|
||||
}
|
||||
|
||||
static const char *
|
||||
-GuessProtocol(InputInfoPtr pInfo, int flags)
|
||||
+lnxMouseMagic(InputInfoPtr pInfo)
|
||||
{
|
||||
int fd = -1;
|
||||
const char *dev;
|
||||
@@ -137,8 +139,10 @@ GuessProtocol(InputInfoPtr pInfo, int fl
|
||||
}
|
||||
}
|
||||
|
||||
- if (strcmp(realdev, DEFAULT_PS2_DEV) == 0)
|
||||
- proto = MOUSE_PROTO_PS2;
|
||||
+ if (strcmp(realdev, DEFAULT_MOUSE_DEV) == 0)
|
||||
+ proto = MOUSE_PROTO_EXPPS2;
|
||||
+ else if (strcmp(realdev, DEFAULT_PS2_DEV) == 0)
|
||||
+ proto = MOUSE_PROTO_EXPPS2;
|
||||
else if (strcmp(realdev, DEFAULT_GPM_DATA_DEV) == 0)
|
||||
proto = MOUSE_PROTO_MSC;
|
||||
else if (strcmp(realdev, DEFAULT_GPM_CTL_DEV) == 0)
|
||||
@@ -171,15 +175,14 @@ GuessProtocol(InputInfoPtr pInfo, int fl
|
||||
close(fd);
|
||||
}
|
||||
if (proto == MOUSE_PROTO_UNKNOWN) {
|
||||
- xf86Msg(X_ERROR, "%s: GuessProtocol: Cannot find mouse protocol.\n",
|
||||
+ xf86Msg(X_ERROR, "%s: Cannot find mouse protocol.\n",
|
||||
pInfo->name);
|
||||
return NULL;
|
||||
} else {
|
||||
for (i = 0; i < sizeof(devproto)/sizeof(devproto[0]); i++) {
|
||||
if (devproto[i].proto == proto) {
|
||||
xf86Msg(X_INFO,
|
||||
- "%s: GuessProtocol: "
|
||||
- "setting mouse protocol to \"%s\"\n",
|
||||
+ "%s: Setting mouse protocol to \"%s\"\n",
|
||||
pInfo->name, devproto[i].name);
|
||||
return devproto[i].name;
|
||||
}
|
||||
@@ -188,6 +191,18 @@ GuessProtocol(InputInfoPtr pInfo, int fl
|
||||
return NULL;
|
||||
}
|
||||
|
||||
+static const char *
|
||||
+GuessProtocol(InputInfoPtr pInfo, int flags)
|
||||
+{
|
||||
+ return lnxMouseMagic(pInfo);
|
||||
+}
|
||||
+
|
||||
+static const char *
|
||||
+SetupAuto(InputInfoPtr pInfo, int *protoPara)
|
||||
+{
|
||||
+ return lnxMouseMagic(pInfo);
|
||||
+}
|
||||
+
|
||||
_X_EXPORT OSMouseInfoPtr
|
||||
xf86OSMouseInit(int flags)
|
||||
{
|
||||
@@ -200,6 +215,7 @@ xf86OSMouseInit(int flags)
|
||||
p->DefaultProtocol = DefaultProtocol;
|
||||
p->FindDevice = FindDevice;
|
||||
p->GuessProtocol = GuessProtocol;
|
||||
+ p->SetupAuto = SetupAuto;
|
||||
return p;
|
||||
}
|
||||
|
@ -1,35 +0,0 @@
|
||||
diff -up xorg-server-1.3.0.0/composite/compext.c.jx xorg-server-1.3.0.0/composite/compext.c
|
||||
--- xorg-server-1.3.0.0/composite/compext.c.jx 2007-07-12 09:30:39.000000000 -0400
|
||||
+++ xorg-server-1.3.0.0/composite/compext.c 2007-07-12 09:33:45.000000000 -0400
|
||||
@@ -49,6 +49,9 @@
|
||||
|
||||
#include "compint.h"
|
||||
|
||||
+#define SERVER_COMPOSITE_MAJOR 0
|
||||
+#define SERVER_COMPOSITE_MINOR 3
|
||||
+
|
||||
static CARD8 CompositeReqCode;
|
||||
int CompositeClientPrivateIndex;
|
||||
RESTYPE CompositeClientWindowType;
|
||||
@@ -133,16 +136,16 @@ ProcCompositeQueryVersion (ClientPtr cli
|
||||
rep.type = X_Reply;
|
||||
rep.length = 0;
|
||||
rep.sequenceNumber = client->sequence;
|
||||
- if (stuff->majorVersion < COMPOSITE_MAJOR) {
|
||||
+ if (stuff->majorVersion < SERVER_COMPOSITE_MAJOR) {
|
||||
rep.majorVersion = stuff->majorVersion;
|
||||
rep.minorVersion = stuff->minorVersion;
|
||||
} else {
|
||||
- rep.majorVersion = COMPOSITE_MAJOR;
|
||||
- if (stuff->majorVersion == COMPOSITE_MAJOR &&
|
||||
- stuff->minorVersion < COMPOSITE_MINOR)
|
||||
+ rep.majorVersion = SERVER_COMPOSITE_MAJOR;
|
||||
+ if (stuff->majorVersion == SERVER_COMPOSITE_MAJOR &&
|
||||
+ stuff->minorVersion < SERVER_COMPOSITE_MINOR)
|
||||
rep.minorVersion = stuff->minorVersion;
|
||||
else
|
||||
- rep.minorVersion = COMPOSITE_MINOR;
|
||||
+ rep.minorVersion = SERVER_COMPOSITE_MINOR;
|
||||
}
|
||||
pCompositeClient->major_version = rep.majorVersion;
|
||||
pCompositeClient->minor_version = rep.minorVersion;
|
File diff suppressed because it is too large
Load Diff
@ -1,20 +0,0 @@
|
||||
From: Adam Jackson <ajax@redhat.com>
|
||||
Date: Sun, 28 Oct 2007 09:37:52 +0100
|
||||
Subject: [PATCH] Fix magic number in fbdevhw
|
||||
|
||||
The transformation between fbdev and xfree86 mode timings needs to be
|
||||
invertible, otherwise Xen and other framebuffers that don't have real
|
||||
pixel clocks won't initialize.
|
||||
|
||||
---
|
||||
--- xorg-server-1.3.0.0/hw/xfree86/fbdevhw/fbdevhw.c.jx 2007-03-26 23:32:36.000000000 -0400
|
||||
+++ xorg-server-1.3.0.0/hw/xfree86/fbdevhw/fbdevhw.c 2007-05-11 15:10:05.000000000 -0400
|
||||
@@ -258,7 +258,7 @@
|
||||
static void
|
||||
fbdev2xfree_timing(struct fb_var_screeninfo *var, DisplayModePtr mode)
|
||||
{
|
||||
- mode->Clock = var->pixclock ? 1000000000/var->pixclock : 28000000;
|
||||
+ mode->Clock = var->pixclock ? 1000000000/var->pixclock : 0;
|
||||
mode->HDisplay = var->xres;
|
||||
mode->HSyncStart = mode->HDisplay+var->right_margin;
|
||||
mode->HSyncEnd = mode->HSyncStart+var->hsync_len;
|
@ -1,152 +0,0 @@
|
||||
commit 7e2c935920cafadbd87c351f1a3239932864fb90
|
||||
Author: Fredrik Höglund <fredrik@kde.org>
|
||||
Date: Fri May 18 20:06:14 2007 +0200
|
||||
|
||||
Add a new IDLETIME system sync counter.
|
||||
|
||||
This counter exposes the time in milliseconds since the last
|
||||
input event. Clients such as screen savers and power managers
|
||||
can set an alarm on this counter to find out when the idle time
|
||||
reaches a certain value, without having to poll the server.
|
||||
|
||||
diff --git a/Xext/sync.c b/Xext/sync.c
|
||||
index c5441a1..6fc2dcc 100644
|
||||
--- a/Xext/sync.c
|
||||
+++ b/Xext/sync.c
|
||||
@@ -243,6 +243,11 @@ SyncInitServerTime(
|
||||
void
|
||||
);
|
||||
|
||||
+static void
|
||||
+SyncInitIdleTime(
|
||||
+ void
|
||||
+);
|
||||
+
|
||||
static void
|
||||
SyncResetProc(
|
||||
ExtensionEntry * /* extEntry */
|
||||
@@ -2400,6 +2405,7 @@ SyncExtensionInit(INITARGS)
|
||||
* because there is always a servertime counter.
|
||||
*/
|
||||
SyncInitServerTime();
|
||||
+ SyncInitIdleTime();
|
||||
|
||||
#ifdef DEBUG
|
||||
fprintf(stderr, "Sync Extension %d.%d\n",
|
||||
@@ -2520,3 +2526,116 @@ SyncInitServerTime(void)
|
||||
ServertimeQueryValue, ServertimeBracketValues);
|
||||
pnext_time = NULL;
|
||||
}
|
||||
+
|
||||
+
|
||||
+
|
||||
+/*
|
||||
+ * IDLETIME implementation
|
||||
+ */
|
||||
+
|
||||
+static pointer IdleTimeCounter;
|
||||
+static XSyncValue *pIdleTimeValueLess;
|
||||
+static XSyncValue *pIdleTimeValueGreater;
|
||||
+
|
||||
+static void
|
||||
+IdleTimeQueryValue (pointer pCounter, CARD64 *pValue_return)
|
||||
+{
|
||||
+ CARD32 idle = GetTimeInMillis() - lastDeviceEventTime.milliseconds;
|
||||
+ XSyncIntsToValue (pValue_return, idle, 0);
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+IdleTimeBlockHandler (pointer env,
|
||||
+ struct timeval **wt,
|
||||
+ pointer LastSelectMask)
|
||||
+{
|
||||
+ XSyncValue idle;
|
||||
+
|
||||
+ if (!pIdleTimeValueLess && !pIdleTimeValueGreater)
|
||||
+ return;
|
||||
+
|
||||
+ IdleTimeQueryValue (NULL, &idle);
|
||||
+
|
||||
+ if (pIdleTimeValueLess &&
|
||||
+ XSyncValueLessOrEqual (idle, *pIdleTimeValueLess))
|
||||
+ {
|
||||
+ AdjustWaitForDelay (wt, 0);
|
||||
+ }
|
||||
+ else if (pIdleTimeValueGreater)
|
||||
+ {
|
||||
+ unsigned long timeout = 0;
|
||||
+
|
||||
+ if (XSyncValueLessThan (idle, *pIdleTimeValueGreater))
|
||||
+ {
|
||||
+ XSyncValue value;
|
||||
+ Bool overflow;
|
||||
+
|
||||
+ XSyncValueSubtract (&value, *pIdleTimeValueGreater,
|
||||
+ idle, &overflow);
|
||||
+ timeout = XSyncValueLow32 (value);
|
||||
+ }
|
||||
+
|
||||
+ AdjustWaitForDelay (wt, timeout);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+IdleTimeWakeupHandler (pointer env,
|
||||
+ int rc,
|
||||
+ pointer LastSelectMask)
|
||||
+{
|
||||
+ XSyncValue idle;
|
||||
+
|
||||
+ if (!pIdleTimeValueLess && !pIdleTimeValueGreater)
|
||||
+ return;
|
||||
+
|
||||
+ IdleTimeQueryValue (NULL, &idle);
|
||||
+
|
||||
+ if ((pIdleTimeValueGreater &&
|
||||
+ XSyncValueGreaterThan (idle, *pIdleTimeValueGreater)) ||
|
||||
+ (pIdleTimeValueLess && XSyncValueLessThan (idle, *pIdleTimeValueLess)))
|
||||
+ {
|
||||
+ SyncChangeCounter (IdleTimeCounter, idle);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+IdleTimeBracketValues (pointer pCounter,
|
||||
+ CARD64 *pbracket_less,
|
||||
+ CARD64 *pbracket_greater)
|
||||
+{
|
||||
+ Bool registered = (pIdleTimeValueLess || pIdleTimeValueGreater);
|
||||
+
|
||||
+ if (registered && !pbracket_less && !pbracket_greater)
|
||||
+ {
|
||||
+ RemoveBlockAndWakeupHandlers(IdleTimeBlockHandler,
|
||||
+ IdleTimeWakeupHandler,
|
||||
+ NULL);
|
||||
+ }
|
||||
+ else if (!registered && (pbracket_less || pbracket_greater))
|
||||
+ {
|
||||
+ RegisterBlockAndWakeupHandlers(IdleTimeBlockHandler,
|
||||
+ IdleTimeWakeupHandler,
|
||||
+ NULL);
|
||||
+ }
|
||||
+
|
||||
+ pIdleTimeValueGreater = pbracket_greater;
|
||||
+ pIdleTimeValueLess = pbracket_less;
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+SyncInitIdleTime (void)
|
||||
+{
|
||||
+ CARD64 resolution;
|
||||
+ XSyncValue idle;
|
||||
+
|
||||
+ IdleTimeQueryValue (NULL, &idle);
|
||||
+ XSyncIntToValue (&resolution, 4);
|
||||
+
|
||||
+ IdleTimeCounter = SyncCreateSystemCounter ("IDLETIME", idle, resolution,
|
||||
+ XSyncCounterUnrestricted,
|
||||
+ IdleTimeQueryValue,
|
||||
+ IdleTimeBracketValues);
|
||||
+
|
||||
+ pIdleTimeValueLess = pIdleTimeValueGreater = NULL;
|
||||
+}
|
@ -1,12 +0,0 @@
|
||||
diff -up xorg-server-1.3.0.0/hw/xfree86/common/xf86AutoConfig.c.jx xorg-server-1.3.0.0/hw/xfree86/common/xf86AutoConfig.c
|
||||
--- xorg-server-1.3.0.0/hw/xfree86/common/xf86AutoConfig.c.jx 2006-11-16 13:01:24.000000000 -0500
|
||||
+++ xorg-server-1.3.0.0/hw/xfree86/common/xf86AutoConfig.c 2007-09-26 10:08:20.000000000 -0400
|
||||
@@ -175,7 +175,7 @@ videoPtrToDriverName(pciVideoPtr info)
|
||||
case 0x8086:
|
||||
if ((info->chipType == 0x00d1) || (info->chipType == 0x7800))
|
||||
return "i740";
|
||||
- else return "i810";
|
||||
+ else return "intel";
|
||||
case 0x102b: return "mga";
|
||||
case 0x10c8: return "neomagic";
|
||||
case 0x105d: return "i128";
|
@ -1,165 +0,0 @@
|
||||
From: Adam Jackson <ajax@redhat.com>
|
||||
Date: Sun, 28 Oct 2007 09:37:52 +0100
|
||||
Subject: [PATCH] Move SIGUSR1 notification as late as possible.
|
||||
|
||||
If we inherited a signal mask from the parent process that ignores SIGUSR1,
|
||||
then we will send SIGUSR1 to the parent to indicate when we're ready to
|
||||
accept connections. Unfortunately, we send this notification way too
|
||||
early, right after creating the sockets rather than just before entering
|
||||
the main loop.
|
||||
|
||||
Move it to just before Dispatch() so we're not lying quite so much.
|
||||
|
||||
---
|
||||
diff -up xorg-server-1.3.0.0/dix/main.c.jx xorg-server-1.3.0.0/dix/main.c
|
||||
--- xorg-server-1.3.0.0/dix/main.c.jx 2006-11-16 13:01:23.000000000 -0500
|
||||
+++ xorg-server-1.3.0.0/dix/main.c 2007-10-15 14:37:13.000000000 -0400
|
||||
@@ -442,6 +442,8 @@ main(int argc, char *argv[], char *envp[
|
||||
FatalError("could not create connection block info");
|
||||
}
|
||||
|
||||
+ NotifyParentProcess();
|
||||
+
|
||||
Dispatch();
|
||||
|
||||
/* Now free up whatever must be freed */
|
||||
diff -up xorg-server-1.3.0.0/include/os.h.jx xorg-server-1.3.0.0/include/os.h
|
||||
--- xorg-server-1.3.0.0/include/os.h.jx 2007-02-16 11:03:12.000000000 -0500
|
||||
+++ xorg-server-1.3.0.0/include/os.h 2007-10-15 14:37:13.000000000 -0400
|
||||
@@ -124,6 +124,8 @@ extern void ResetOsBuffers(void);
|
||||
|
||||
extern void InitConnectionLimits(void);
|
||||
|
||||
+extern void NotifyParentProcess(void);
|
||||
+
|
||||
extern void CreateWellKnownSockets(void);
|
||||
|
||||
extern void ResetWellKnownSockets(void);
|
||||
diff -up xorg-server-1.3.0.0/os/connection.c.jx xorg-server-1.3.0.0/os/connection.c
|
||||
--- xorg-server-1.3.0.0/os/connection.c.jx 2007-02-17 20:37:56.000000000 -0500
|
||||
+++ xorg-server-1.3.0.0/os/connection.c 2007-10-15 14:42:19.000000000 -0400
|
||||
@@ -370,6 +370,52 @@ InitConnectionLimits(void)
|
||||
#endif
|
||||
}
|
||||
|
||||
+/*
|
||||
+ * If SIGUSR1 was set to SIG_IGN when the server started, assume that either
|
||||
+ *
|
||||
+ * a- The parent process is ignoring SIGUSR1
|
||||
+ *
|
||||
+ * or
|
||||
+ *
|
||||
+ * b- The parent process is expecting a SIGUSR1
|
||||
+ * when the server is ready to accept connections
|
||||
+ *
|
||||
+ * In the first case, the signal will be harmless, in the second case,
|
||||
+ * the signal will be quite useful.
|
||||
+ */
|
||||
+static void
|
||||
+InitParentProcess(void)
|
||||
+{
|
||||
+#if !defined(WIN32)
|
||||
+ OsSigHandlerPtr handler;
|
||||
+ handler = OsSignal (SIGUSR1, SIG_IGN);
|
||||
+ if ( handler == SIG_IGN)
|
||||
+ RunFromSmartParent = TRUE;
|
||||
+ OsSignal(SIGUSR1, handler);
|
||||
+ ParentProcess = getppid ();
|
||||
+#ifdef __UNIXOS2__
|
||||
+ /*
|
||||
+ * fg030505: under OS/2, xinit is not the parent process but
|
||||
+ * the "grant parent" process of the server because execvpe()
|
||||
+ * presents us an additional process number;
|
||||
+ * GetPPID(pid) is part of libemxfix
|
||||
+ */
|
||||
+ ParentProcess = GetPPID (ParentProcess);
|
||||
+#endif /* __UNIXOS2__ */
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+NotifyParentProcess(void)
|
||||
+{
|
||||
+#if !defined(WIN32)
|
||||
+ if (RunFromSmartParent) {
|
||||
+ if (ParentProcess > 1) {
|
||||
+ kill (ParentProcess, SIGUSR1);
|
||||
+ }
|
||||
+ }
|
||||
+#endif
|
||||
+}
|
||||
|
||||
/*****************
|
||||
* CreateWellKnownSockets
|
||||
@@ -382,7 +428,6 @@ CreateWellKnownSockets(void)
|
||||
int i;
|
||||
int partial;
|
||||
char port[20];
|
||||
- OsSigHandlerPtr handler;
|
||||
|
||||
FD_ZERO(&AllSockets);
|
||||
FD_ZERO(&AllClients);
|
||||
@@ -436,42 +481,9 @@ CreateWellKnownSockets(void)
|
||||
OsSignal (SIGTERM, GiveUp);
|
||||
XFD_COPYSET (&WellKnownConnections, &AllSockets);
|
||||
ResetHosts(display);
|
||||
- /*
|
||||
- * Magic: If SIGUSR1 was set to SIG_IGN when
|
||||
- * the server started, assume that either
|
||||
- *
|
||||
- * a- The parent process is ignoring SIGUSR1
|
||||
- *
|
||||
- * or
|
||||
- *
|
||||
- * b- The parent process is expecting a SIGUSR1
|
||||
- * when the server is ready to accept connections
|
||||
- *
|
||||
- * In the first case, the signal will be harmless,
|
||||
- * in the second case, the signal will be quite
|
||||
- * useful
|
||||
- */
|
||||
-#if !defined(WIN32)
|
||||
- handler = OsSignal (SIGUSR1, SIG_IGN);
|
||||
- if ( handler == SIG_IGN)
|
||||
- RunFromSmartParent = TRUE;
|
||||
- OsSignal(SIGUSR1, handler);
|
||||
- ParentProcess = getppid ();
|
||||
-#ifdef __UNIXOS2__
|
||||
- /*
|
||||
- * fg030505: under OS/2, xinit is not the parent process but
|
||||
- * the "grant parent" process of the server because execvpe()
|
||||
- * presents us an additional process number;
|
||||
- * GetPPID(pid) is part of libemxfix
|
||||
- */
|
||||
- ParentProcess = GetPPID (ParentProcess);
|
||||
-#endif /* __UNIXOS2__ */
|
||||
- if (RunFromSmartParent) {
|
||||
- if (ParentProcess > 1) {
|
||||
- kill (ParentProcess, SIGUSR1);
|
||||
- }
|
||||
- }
|
||||
-#endif
|
||||
+
|
||||
+ InitParentProcess();
|
||||
+
|
||||
#ifdef XDMCP
|
||||
XdmcpInit ();
|
||||
#endif
|
||||
@@ -520,16 +532,7 @@ ResetWellKnownSockets (void)
|
||||
|
||||
ResetAuthorization ();
|
||||
ResetHosts(display);
|
||||
- /*
|
||||
- * See above in CreateWellKnownSockets about SIGUSR1
|
||||
- */
|
||||
-#if !defined(WIN32)
|
||||
- if (RunFromSmartParent) {
|
||||
- if (ParentProcess > 1) {
|
||||
- kill (ParentProcess, SIGUSR1);
|
||||
- }
|
||||
- }
|
||||
-#endif
|
||||
+
|
||||
/*
|
||||
* restart XDMCP
|
||||
*/
|
File diff suppressed because it is too large
Load Diff
@ -1,35 +0,0 @@
|
||||
From: Adam Jackson <ajax@redhat.com>
|
||||
Date: Sun, 28 Oct 2007 09:37:52 +0100
|
||||
Subject: [PATCH] Disable Composite on 8bpp displays.
|
||||
|
||||
---
|
||||
diff --git a/composite/compext.c b/composite/compext.c
|
||||
index 4c25cc7..af05b4a 100644
|
||||
--- a/composite/compext.c
|
||||
+++ b/composite/compext.c
|
||||
@@ -678,6 +678,25 @@ CompositeExtensionInit (void)
|
||||
ExtensionEntry *extEntry;
|
||||
int s;
|
||||
|
||||
+ for (s = 0; s < screenInfo.numScreens; s++) {
|
||||
+ ScreenPtr pScreen = screenInfo.screens[s];
|
||||
+ VisualPtr vis;
|
||||
+
|
||||
+ /* Composite on 8bpp pseudocolor root windows appears to fail, so
|
||||
+ * just disable it on anything pseudocolor for safety.
|
||||
+ */
|
||||
+ for (vis = pScreen->visuals; vis->vid != pScreen->rootVisual; vis++)
|
||||
+ ;
|
||||
+ if ((vis->class | DynamicClass) == PseudoColor)
|
||||
+ return;
|
||||
+
|
||||
+ /* Ensure that Render is initialized, which is required for automatic
|
||||
+ * compositing.
|
||||
+ */
|
||||
+ if (GetPictureScreenIfSet(pScreen) == NULL)
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
CompositeClientWindowType = CreateNewResourceType (FreeCompositeClientWindow);
|
||||
if (!CompositeClientWindowType)
|
||||
return;
|
@ -1,76 +0,0 @@
|
||||
From: Julien Cristau <jcristau@debian.org>
|
||||
Date: Wed, 30 May 2007 02:01:30 +0000 (-0400)
|
||||
Subject: Make sure that the ramdac symbols are present in the server
|
||||
X-Git-Url: http://gitweb.freedesktop.org/?p=xorg/xserver.git;a=commitdiff;h=3c6f1428489c1f71acd41066ea73ef4ae7c60f17
|
||||
|
||||
Make sure that the ramdac symbols are present in the server
|
||||
|
||||
The former ramdac module is now built into the server, so its symbols need to
|
||||
be explicitly exported to drivers (Debian #423129).
|
||||
---
|
||||
|
||||
--- a/hw/xfree86/loader/xf86sym.c
|
||||
+++ b/hw/xfree86/loader/xf86sym.c
|
||||
@@ -96,6 +96,11 @@
|
||||
#endif
|
||||
#include "xf86DDC.h"
|
||||
#include "edid.h"
|
||||
+#include "xf86Cursor.h"
|
||||
+#include "xf86RamDac.h"
|
||||
+#include "BT.h"
|
||||
+#include "IBM.h"
|
||||
+#include "TI.h"
|
||||
|
||||
#ifndef HAS_GLIBC_SIGSETJMP
|
||||
#if defined(setjmp) && defined(__GNU_LIBRARY__) && \
|
||||
@@ -1255,4 +1260,50 @@ _X_HIDDEN void *xfree86LookupTab[] = {
|
||||
SYMFUNC(xf86I2CWriteRead)
|
||||
SYMFUNC(xf86I2CWriteVec)
|
||||
SYMFUNC(xf86I2CWriteWord)
|
||||
+
|
||||
+ /* ramdac/xf86RamDac.c */
|
||||
+ SYMFUNC(RamDacCreateInfoRec)
|
||||
+ SYMFUNC(RamDacHelperCreateInfoRec)
|
||||
+ SYMFUNC(RamDacDestroyInfoRec)
|
||||
+ SYMFUNC(RamDacHelperDestroyInfoRec)
|
||||
+ SYMFUNC(RamDacInit)
|
||||
+ SYMFUNC(RamDacHandleColormaps)
|
||||
+ SYMFUNC(RamDacFreeRec)
|
||||
+ SYMFUNC(RamDacGetHWIndex)
|
||||
+ SYMVAR(RamDacHWPrivateIndex)
|
||||
+ SYMVAR(RamDacScreenPrivateIndex)
|
||||
+
|
||||
+ /* ramdac/xf86Cursor.c */
|
||||
+ SYMFUNC(xf86InitCursor)
|
||||
+ SYMFUNC(xf86CreateCursorInfoRec)
|
||||
+ SYMFUNC(xf86DestroyCursorInfoRec)
|
||||
+ SYMFUNC(xf86ForceHWCursor)
|
||||
+
|
||||
+ /* ramdac/BT.c */
|
||||
+ SYMFUNC(BTramdacProbe)
|
||||
+ SYMFUNC(BTramdacSave)
|
||||
+ SYMFUNC(BTramdacRestore)
|
||||
+ SYMFUNC(BTramdacSetBpp)
|
||||
+
|
||||
+ /* ramdac/IBM.c */
|
||||
+ SYMFUNC(IBMramdacProbe)
|
||||
+ SYMFUNC(IBMramdacSave)
|
||||
+ SYMFUNC(IBMramdacRestore)
|
||||
+ SYMFUNC(IBMramdac526SetBpp)
|
||||
+ SYMFUNC(IBMramdac640SetBpp)
|
||||
+ SYMFUNC(IBMramdac526CalculateMNPCForClock)
|
||||
+ SYMFUNC(IBMramdac640CalculateMNPCForClock)
|
||||
+ SYMFUNC(IBMramdac526HWCursorInit)
|
||||
+ SYMFUNC(IBMramdac640HWCursorInit)
|
||||
+ SYMFUNC(IBMramdac526SetBppWeak)
|
||||
+
|
||||
+ /* ramdac/TI.c */
|
||||
+ SYMFUNC(TIramdacCalculateMNPForClock)
|
||||
+ SYMFUNC(TIramdacProbe)
|
||||
+ SYMFUNC(TIramdacSave)
|
||||
+ SYMFUNC(TIramdacRestore)
|
||||
+ SYMFUNC(TIramdac3026SetBpp)
|
||||
+ SYMFUNC(TIramdac3030SetBpp)
|
||||
+ SYMFUNC(TIramdacHWCursorInit)
|
||||
+ SYMFUNC(TIramdacLoadPalette)
|
||||
};
|
@ -1,33 +0,0 @@
|
||||
diff -up xorg-server-1.3.0.0/hw/xfree86/modes/xf86Crtc.c.jx xorg-server-1.3.0.0/hw/xfree86/modes/xf86Crtc.c
|
||||
--- xorg-server-1.3.0.0/hw/xfree86/modes/xf86Crtc.c.jx 2007-10-03 13:10:28.000000000 -0400
|
||||
+++ xorg-server-1.3.0.0/hw/xfree86/modes/xf86Crtc.c 2007-10-05 09:58:11.000000000 -0400
|
||||
@@ -1420,6 +1420,9 @@ xf86ProbeOutputModes (ScrnInfoPtr scrn,
|
||||
{
|
||||
if (!strcmp (preferred_mode, mode->name))
|
||||
{
|
||||
+ DisplayModePtr m;
|
||||
+
|
||||
+ /* Sort it to the front of the list */
|
||||
if (mode != output->probed_modes)
|
||||
{
|
||||
if (mode->prev)
|
||||
@@ -1431,10 +1434,17 @@ xf86ProbeOutputModes (ScrnInfoPtr scrn,
|
||||
mode->prev = NULL;
|
||||
output->probed_modes = mode;
|
||||
}
|
||||
+
|
||||
+ /* Mark it preferred */
|
||||
mode->type |= M_T_PREFERRED;
|
||||
+
|
||||
+ /* And unprefer everything else */
|
||||
+ for (m = output->probed_modes; m; m = m->next)
|
||||
+ if (m != mode)
|
||||
+ m->type &= ~M_T_PREFERRED;
|
||||
+
|
||||
+ break;
|
||||
}
|
||||
- else
|
||||
- mode->type &= ~M_T_PREFERRED;
|
||||
}
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,37 +0,0 @@
|
||||
--- xorg-server-1.3.0.0/randr/rrxinerama.c.jx 2007-05-17 17:07:31.000000000 -0400
|
||||
+++ xorg-server-1.3.0.0/randr/rrxinerama.c 2007-05-31 21:41:13.000000000 -0400
|
||||
@@ -147,12 +147,6 @@
|
||||
}
|
||||
|
||||
static Bool
|
||||
-RRXineramaScreenActive (ScreenPtr pScreen)
|
||||
-{
|
||||
- return rrGetScrPriv(pScreen) != NULL;
|
||||
-}
|
||||
-
|
||||
-static Bool
|
||||
RRXineramaCrtcActive (RRCrtcPtr crtc)
|
||||
{
|
||||
return crtc->mode != NULL && crtc->numOutputs > 0;
|
||||
@@ -164,7 +158,7 @@
|
||||
int i, n;
|
||||
|
||||
n = 0;
|
||||
- if (RRXineramaScreenActive (pScreen))
|
||||
+ if (rrGetScrPriv (pScreen))
|
||||
{
|
||||
rrScrPriv(pScreen);
|
||||
for (i = 0; i < pScrPriv->numCrtcs; i++)
|
||||
@@ -174,6 +168,12 @@
|
||||
return n;
|
||||
}
|
||||
|
||||
+static Bool
|
||||
+RRXineramaScreenActive (ScreenPtr pScreen)
|
||||
+{
|
||||
+ return RRXineramaScreenCount (pScreen) > 0;
|
||||
+}
|
||||
+
|
||||
int
|
||||
ProcRRXineramaGetScreenCount(ClientPtr client)
|
||||
{
|
@ -1,54 +0,0 @@
|
||||
From: Michel Dänzer <michel@tungstengraphics.com>
|
||||
Date: Thu, 24 May 2007 10:10:05 +0000 (+0200)
|
||||
Subject: Consolidate portPriv->pDraw assignments into xf86XVEnlistPortInWindow.
|
||||
X-Git-Url: http://gitweb.freedesktop.org/?p=xorg/xserver.git;a=commitdiff;h=649e7f82d8d4333443493056b81eb20d6cf022bc
|
||||
|
||||
Consolidate portPriv->pDraw assignments into xf86XVEnlistPortInWindow.
|
||||
|
||||
This avoids a crash in xf86XVReputVideo and also cleans up the code slightly.
|
||||
---
|
||||
|
||||
--- a/hw/xfree86/common/xf86xv.c
|
||||
+++ b/hw/xfree86/common/xf86xv.c
|
||||
@@ -979,6 +979,9 @@ xf86XVEnlistPortInWindow(WindowPtr pWin,
|
||||
winPriv->next = PrivRoot;
|
||||
pWin->devPrivates[XF86XVWindowIndex].ptr = (pointer)winPriv;
|
||||
}
|
||||
+
|
||||
+ portPriv->pDraw = (DrawablePtr)pWin;
|
||||
+
|
||||
return Success;
|
||||
}
|
||||
|
||||
@@ -1375,7 +1378,6 @@ xf86XVPutVideo(
|
||||
result = xf86XVEnlistPortInWindow((WindowPtr)pDraw, portPriv);
|
||||
if(result != Success) return result;
|
||||
|
||||
- portPriv->pDraw = pDraw;
|
||||
portPriv->type = XvInputMask;
|
||||
|
||||
/* save a copy of these parameters */
|
||||
@@ -1479,7 +1481,6 @@ xf86XVPutStill(
|
||||
|
||||
xf86XVEnlistPortInWindow((WindowPtr)pDraw, portPriv);
|
||||
portPriv->isOn = XV_ON;
|
||||
- portPriv->pDraw = pDraw;
|
||||
portPriv->drw_x = drw_x; portPriv->drw_y = drw_y;
|
||||
portPriv->drw_w = drw_w; portPriv->drw_h = drw_h;
|
||||
portPriv->type = 0; /* no mask means it's transient and should
|
||||
@@ -1529,7 +1530,6 @@ xf86XVGetVideo(
|
||||
result = xf86XVEnlistPortInWindow((WindowPtr)pDraw, portPriv);
|
||||
if(result != Success) return result;
|
||||
|
||||
- portPriv->pDraw = pDraw;
|
||||
portPriv->type = XvOutputMask;
|
||||
|
||||
/* save a copy of these parameters */
|
||||
@@ -1784,7 +1784,6 @@ xf86XVPutImage(
|
||||
(portPriv->AdaptorRec->flags & VIDEO_OVERLAID_IMAGES)) {
|
||||
|
||||
portPriv->isOn = XV_ON;
|
||||
- portPriv->pDraw = pDraw;
|
||||
portPriv->drw_x = drw_x; portPriv->drw_y = drw_y;
|
||||
portPriv->drw_w = drw_w; portPriv->drw_h = drw_h;
|
||||
portPriv->type = 0; /* no mask means it's transient and should
|
@ -1,291 +0,0 @@
|
||||
From: Eric Anholt <eric@anholt.net>
|
||||
Date: Thu, 11 Oct 2007 23:48:56 +0000 (-0700)
|
||||
Subject: Bug #10304,12784,11603: Add quirks for several physical size issues.
|
||||
X-Git-Url: http://gitweb.freedesktop.org/?p=xorg/xserver.git;a=commitdiff;h=fc092334ac0a323b80a9602cb8bf60ca9dee3bfa
|
||||
|
||||
Bug #10304,12784,11603: Add quirks for several physical size issues.
|
||||
|
||||
A lot of EDID writers apparently end up stuffing centimeters (like the
|
||||
maximum image size field) into the detailed timings, instead of millimeters.
|
||||
Some of them only get it wrong in one direction. Also, add a quirk to let
|
||||
us mark the largest 75hz mode as preferred, which will often be used for
|
||||
EDID 1.0 CRTs.
|
||||
---
|
||||
|
||||
--- a/hw/xfree86/modes/xf86Crtc.c
|
||||
+++ b/hw/xfree86/modes/xf86Crtc.c
|
||||
@@ -2134,8 +2134,12 @@ _X_EXPORT xf86MonPtr
|
||||
xf86OutputGetEDID (xf86OutputPtr output, I2CBusPtr pDDCBus)
|
||||
{
|
||||
ScrnInfoPtr scrn = output->scrn;
|
||||
+ xf86MonPtr mon;
|
||||
|
||||
- return xf86DoEDID_DDC2 (scrn->scrnIndex, pDDCBus);
|
||||
+ mon = xf86DoEDID_DDC2 (scrn->scrnIndex, pDDCBus);
|
||||
+ xf86DDCApplyQuirks (scrn->scrnIndex, pDDCBus);
|
||||
+
|
||||
+ return mon;
|
||||
}
|
||||
|
||||
static char *_xf86ConnectorNames[] = { "None", "VGA", "DVI-I", "DVI-D",
|
||||
--- a/hw/xfree86/modes/xf86EdidModes.c
|
||||
+++ b/hw/xfree86/modes/xf86EdidModes.c
|
||||
@@ -54,6 +54,16 @@ typedef enum {
|
||||
DDC_QUIRK_PREFER_LARGE_60 = 1 << 0,
|
||||
/* 135MHz clock is too high, drop a bit */
|
||||
DDC_QUIRK_135_CLOCK_TOO_HIGH = 1 << 1,
|
||||
+ /* Prefer the largest mode at 75 Hz */
|
||||
+ DDC_QUIRK_PREFER_LARGE_75 = 1 << 2,
|
||||
+ /* Convert detailed timing's horizontal from units of cm to mm */
|
||||
+ DDC_QUIRK_DETAILED_H_IN_CM = 1 << 3,
|
||||
+ /* Convert detailed timing's vertical from units of cm to mm */
|
||||
+ DDC_QUIRK_DETAILED_V_IN_CM = 1 << 4,
|
||||
+ /* Detailed timing descriptors have bogus size values, so just take the
|
||||
+ * maximum size and use that.
|
||||
+ */
|
||||
+ DDC_QUIRK_DETAILED_USE_MAXIMUM_SIZE = 1 << 5,
|
||||
} ddc_quirk_t;
|
||||
|
||||
static Bool quirk_prefer_large_60 (int scrnIndex, xf86MonPtr DDC)
|
||||
@@ -81,6 +91,52 @@ static Bool quirk_prefer_large_60 (int s
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
+static Bool quirk_prefer_large_75 (int scrnIndex, xf86MonPtr DDC)
|
||||
+{
|
||||
+ /* Bug #11603: Funai Electronics PM36B */
|
||||
+ if (memcmp (DDC->vendor.name, "FCM", 4) == 0 &&
|
||||
+ DDC->vendor.prod_id == 13600)
|
||||
+ return TRUE;
|
||||
+
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+static Bool quirk_detailed_h_in_cm (int scrnIndex, xf86MonPtr DDC)
|
||||
+{
|
||||
+ /* Bug #10304: "LGPhilipsLCD LP154W01-A5" */
|
||||
+ /* Bug #12784: "LGPhilipsLCD LP154W01-TLA2" */
|
||||
+ if (memcmp (DDC->vendor.name, "LPL", 4) == 0 &&
|
||||
+ DDC->vendor.prod_id == 0)
|
||||
+ return TRUE;
|
||||
+
|
||||
+ /* Bug #11603: Funai Electronics PM36B */
|
||||
+ if (memcmp (DDC->vendor.name, "FCM", 4) == 0 &&
|
||||
+ DDC->vendor.prod_id == 13600)
|
||||
+ return TRUE;
|
||||
+
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+static Bool quirk_detailed_v_in_cm (int scrnIndex, xf86MonPtr DDC)
|
||||
+{
|
||||
+ /* Bug #11603: Funai Electronics PM36B */
|
||||
+ if (memcmp (DDC->vendor.name, "FCM", 4) == 0 &&
|
||||
+ DDC->vendor.prod_id == 13600)
|
||||
+ return TRUE;
|
||||
+
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+static Bool quirk_detailed_use_maximum_size (int scrnIndex, xf86MonPtr DDC)
|
||||
+{
|
||||
+ /* Bug #10304: LGPhilipsLCD LP154W01-A5 */
|
||||
+ if (memcmp (DDC->vendor.name, "LPL", 4) == 0 &&
|
||||
+ DDC->vendor.prod_id == 0)
|
||||
+ return TRUE;
|
||||
+
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
static Bool quirk_135_clock_too_high (int scrnIndex, xf86MonPtr DDC)
|
||||
{
|
||||
/* Envision Peripherals, Inc. EN-7100e. See bug #9550. */
|
||||
@@ -106,6 +162,22 @@ static const ddc_quirk_map_t ddc_quirks[
|
||||
quirk_135_clock_too_high, DDC_QUIRK_135_CLOCK_TOO_HIGH,
|
||||
"Recommended 135MHz pixel clock is too high"
|
||||
},
|
||||
+ {
|
||||
+ quirk_prefer_large_75, DDC_QUIRK_PREFER_LARGE_75,
|
||||
+ "Detailed timing is not preferred, use largest mode at 75Hz"
|
||||
+ },
|
||||
+ {
|
||||
+ quirk_detailed_h_in_cm, DDC_QUIRK_DETAILED_H_IN_CM,
|
||||
+ "Detailed timings give horizontal size in cm."
|
||||
+ },
|
||||
+ {
|
||||
+ quirk_detailed_v_in_cm, DDC_QUIRK_DETAILED_V_IN_CM,
|
||||
+ "Detailed timings give vertical size in cm."
|
||||
+ },
|
||||
+ {
|
||||
+ quirk_detailed_use_maximum_size, DDC_QUIRK_DETAILED_USE_MAXIMUM_SIZE,
|
||||
+ "Detailed timings give sizes in cm."
|
||||
+ },
|
||||
{
|
||||
NULL, DDC_QUIRK_NONE,
|
||||
"No known quirks"
|
||||
@@ -303,6 +375,98 @@ DDCGuessRangesFromModes(int scrnIndex, M
|
||||
}
|
||||
}
|
||||
|
||||
+static ddc_quirk_t
|
||||
+xf86DDCDetectQuirks(int scrnIndex, xf86MonPtr DDC, Bool verbose)
|
||||
+{
|
||||
+ ddc_quirk_t quirks;
|
||||
+ int i;
|
||||
+
|
||||
+ quirks = DDC_QUIRK_NONE;
|
||||
+ for (i = 0; ddc_quirks[i].detect; i++) {
|
||||
+ if (ddc_quirks[i].detect (scrnIndex, DDC)) {
|
||||
+ if (verbose) {
|
||||
+ xf86DrvMsg (scrnIndex, X_INFO, " EDID quirk: %s\n",
|
||||
+ ddc_quirks[i].description);
|
||||
+ }
|
||||
+ quirks |= ddc_quirks[i].quirk;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ return quirks;
|
||||
+}
|
||||
+
|
||||
+/**
|
||||
+ * Applies monitor-specific quirks to the decoded EDID information.
|
||||
+ *
|
||||
+ * Note that some quirks applying to the mode list are still implemented in
|
||||
+ * xf86DDCGetModes.
|
||||
+ */
|
||||
+void
|
||||
+xf86DDCApplyQuirks(int scrnIndex, xf86MonPtr DDC)
|
||||
+{
|
||||
+ ddc_quirk_t quirks = xf86DDCDetectQuirks (scrnIndex, DDC, FALSE);
|
||||
+ int i;
|
||||
+
|
||||
+ for (i = 0; i < DET_TIMINGS; i++) {
|
||||
+ struct detailed_monitor_section *det_mon = &DDC->det_mon[i];
|
||||
+
|
||||
+ if (det_mon->type != DT)
|
||||
+ continue;
|
||||
+
|
||||
+ if (quirks & DDC_QUIRK_DETAILED_H_IN_CM)
|
||||
+ det_mon->section.d_timings.h_size *= 10;
|
||||
+
|
||||
+ if (quirks & DDC_QUIRK_DETAILED_V_IN_CM)
|
||||
+ det_mon->section.d_timings.v_size *= 10;
|
||||
+
|
||||
+ if (quirks & DDC_QUIRK_DETAILED_USE_MAXIMUM_SIZE) {
|
||||
+ det_mon->section.d_timings.h_size = 10 * DDC->features.hsize;
|
||||
+ det_mon->section.d_timings.v_size = 10 * DDC->features.vsize;
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+/**
|
||||
+ * Walks the modes list, finding the mode with the largest area which is
|
||||
+ * closest to the target refresh rate, and marks it as the only preferred mode.
|
||||
+*/
|
||||
+static void
|
||||
+xf86DDCSetPreferredRefresh(int scrnIndex, DisplayModePtr modes,
|
||||
+ float target_refresh)
|
||||
+{
|
||||
+ DisplayModePtr mode, best = modes;
|
||||
+
|
||||
+ for (mode = modes; mode; mode = mode->next)
|
||||
+ {
|
||||
+ mode->type &= ~M_T_PREFERRED;
|
||||
+
|
||||
+ if (mode == best) continue;
|
||||
+
|
||||
+ if (mode->HDisplay * mode->VDisplay >
|
||||
+ best->HDisplay * best->VDisplay)
|
||||
+ {
|
||||
+ best = mode;
|
||||
+ continue;
|
||||
+ }
|
||||
+ if (mode->HDisplay * mode->VDisplay ==
|
||||
+ best->HDisplay * best->VDisplay)
|
||||
+ {
|
||||
+ double mode_refresh = xf86ModeVRefresh (mode);
|
||||
+ double best_refresh = xf86ModeVRefresh (best);
|
||||
+ double mode_dist = fabs(mode_refresh - target_refresh);
|
||||
+ double best_dist = fabs(best_refresh - target_refresh);
|
||||
+
|
||||
+ if (mode_dist < best_dist)
|
||||
+ {
|
||||
+ best = mode;
|
||||
+ continue;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ if (best)
|
||||
+ best->type |= M_T_PREFERRED;
|
||||
+}
|
||||
+
|
||||
_X_EXPORT DisplayModePtr
|
||||
xf86DDCGetModes(int scrnIndex, xf86MonPtr DDC)
|
||||
{
|
||||
@@ -312,15 +476,9 @@ xf86DDCGetModes(int scrnIndex, xf86MonPt
|
||||
|
||||
xf86DrvMsg (scrnIndex, X_INFO, "EDID vendor \"%s\", prod id %d\n",
|
||||
DDC->vendor.name, DDC->vendor.prod_id);
|
||||
- quirks = DDC_QUIRK_NONE;
|
||||
- for (i = 0; ddc_quirks[i].detect; i++)
|
||||
- if (ddc_quirks[i].detect (scrnIndex, DDC))
|
||||
- {
|
||||
- xf86DrvMsg (scrnIndex, X_INFO, " EDID quirk: %s\n",
|
||||
- ddc_quirks[i].description);
|
||||
- quirks |= ddc_quirks[i].quirk;
|
||||
- }
|
||||
-
|
||||
+
|
||||
+ quirks = xf86DDCDetectQuirks(scrnIndex, DDC, TRUE);
|
||||
+
|
||||
preferred = PREFERRED_TIMING_MODE(DDC->features.msc);
|
||||
if (quirks & DDC_QUIRK_PREFER_LARGE_60)
|
||||
preferred = 0;
|
||||
@@ -357,32 +515,11 @@ xf86DDCGetModes(int scrnIndex, xf86MonPt
|
||||
Modes = xf86ModesAdd(Modes, Mode);
|
||||
|
||||
if (quirks & DDC_QUIRK_PREFER_LARGE_60)
|
||||
- {
|
||||
- DisplayModePtr best = Modes;
|
||||
- for (Mode = Modes; Mode; Mode = Mode->next)
|
||||
- {
|
||||
- if (Mode == best) continue;
|
||||
- if (Mode->HDisplay * Mode->VDisplay > best->HDisplay * best->VDisplay)
|
||||
- {
|
||||
- best = Mode;
|
||||
- continue;
|
||||
- }
|
||||
- if (Mode->HDisplay * Mode->VDisplay == best->HDisplay * best->VDisplay)
|
||||
- {
|
||||
- double mode_refresh = xf86ModeVRefresh (Mode);
|
||||
- double best_refresh = xf86ModeVRefresh (best);
|
||||
- double mode_dist = fabs(mode_refresh - 60.0);
|
||||
- double best_dist = fabs(best_refresh - 60.0);
|
||||
- if (mode_dist < best_dist)
|
||||
- {
|
||||
- best = Mode;
|
||||
- continue;
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
- if (best)
|
||||
- best->type |= M_T_PREFERRED;
|
||||
- }
|
||||
+ xf86DDCSetPreferredRefresh(scrnIndex, Modes, 60);
|
||||
+
|
||||
+ if (quirks & DDC_QUIRK_PREFER_LARGE_75)
|
||||
+ xf86DDCSetPreferredRefresh(scrnIndex, Modes, 75);
|
||||
+
|
||||
return Modes;
|
||||
}
|
||||
|
||||
--- a/hw/xfree86/modes/xf86Modes.h
|
||||
+++ b/hw/xfree86/modes/xf86Modes.h
|
||||
@@ -95,4 +95,7 @@ xf86GetMonitorModes (ScrnInfoPtr pScrn,
|
||||
DisplayModePtr
|
||||
xf86GetDefaultModes (Bool interlaceAllowed, Bool doubleScanAllowed);
|
||||
|
||||
+void
|
||||
+xf86DDCApplyQuirks(int scrnIndex, xf86MonPtr DDC);
|
||||
+
|
||||
#endif /* _XF86MODES_H_ */
|
@ -1,28 +0,0 @@
|
||||
commit 2fe74ef339c3a4902ae8214f5a0454662895422c
|
||||
Author: Matthias Hopf <mhopf@suse.de>
|
||||
Date: Thu Mar 15 16:56:01 2007 +0100
|
||||
|
||||
Fix calculations in x86 emulator for the long long case (Andreas Schwab).
|
||||
|
||||
diff --git a/hw/xfree86/x86emu/prim_ops.c b/hw/xfree86/x86emu/prim_ops.c
|
||||
index 461e09e..b9e7257 100644
|
||||
--- a/hw/xfree86/x86emu/prim_ops.c
|
||||
+++ b/hw/xfree86/x86emu/prim_ops.c
|
||||
@@ -2082,7 +2082,7 @@ Implements the IMUL instruction and side effects.
|
||||
void imul_long_direct(u32 *res_lo, u32* res_hi,u32 d, u32 s)
|
||||
{
|
||||
#ifdef __HAS_LONG_LONG__
|
||||
- s64 res = (s32)d * (s32)s;
|
||||
+ s64 res = (s64)(s32)d * (s32)s;
|
||||
|
||||
*res_lo = (u32)res;
|
||||
*res_hi = (u32)(res >> 32);
|
||||
@@ -2174,7 +2174,7 @@ Implements the MUL instruction and side effects.
|
||||
void mul_long(u32 s)
|
||||
{
|
||||
#ifdef __HAS_LONG_LONG__
|
||||
- u64 res = (u32)M.x86.R_EAX * (u32)s;
|
||||
+ u64 res = (u64)M.x86.R_EAX * s;
|
||||
|
||||
M.x86.R_EAX = (u32)res;
|
||||
M.x86.R_EDX = (u32)(res >> 32);
|
@ -1,36 +0,0 @@
|
||||
--- xorg-server-1.3.0.0/os/utils.c.jx 2007-04-25 13:28:05.000000000 -0400
|
||||
+++ xorg-server-1.3.0.0/os/utils.c 2007-04-30 14:33:04.000000000 -0400
|
||||
@@ -1725,6 +1725,8 @@
|
||||
int pid;
|
||||
} *pidlist;
|
||||
|
||||
+static sighandler_t old_alarm = NULL; /* XXX horrible awful hack */
|
||||
+
|
||||
pointer
|
||||
Popen(char *command, char *type)
|
||||
{
|
||||
@@ -1746,11 +1748,15 @@
|
||||
return NULL;
|
||||
}
|
||||
|
||||
+ /* Ignore the smart scheduler while this is going on */
|
||||
+ old_alarm = signal(SIGALRM, SIG_IGN);
|
||||
+
|
||||
switch (pid = fork()) {
|
||||
case -1: /* error */
|
||||
close(pdes[0]);
|
||||
close(pdes[1]);
|
||||
xfree(cur);
|
||||
+ signal(SIGALRM, old_alarm);
|
||||
return NULL;
|
||||
case 0: /* child */
|
||||
if (setgid(getgid()) == -1)
|
||||
@@ -1926,6 +1932,8 @@
|
||||
/* allow EINTR again */
|
||||
OsReleaseSignals ();
|
||||
|
||||
+ signal(SIGALRM, old_alarm);
|
||||
+
|
||||
return pid == -1 ? -1 : pstat;
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,29 +0,0 @@
|
||||
--- a/randr/rrscreen.c.orig 2006-07-05 21:31:44.000000000 +0300
|
||||
+++ b/randr/rrscreen.c 2007-02-03 00:00:10.000000000 +0200
|
||||
@@ -723,7 +723,6 @@
|
||||
pScrPriv = rrGetScrPriv(pScreen);
|
||||
|
||||
time = ClientTimeToServerTime(stuff->timestamp);
|
||||
- configTime = ClientTimeToServerTime(stuff->configTimestamp);
|
||||
|
||||
oldWidth = pScreen->width;
|
||||
oldHeight = pScreen->height;
|
||||
@@ -738,11 +737,15 @@
|
||||
return BadAlloc;
|
||||
|
||||
/*
|
||||
- * if the client's config timestamp is not the same as the last config
|
||||
+ * If the client's config timestamp is not the same as the last config
|
||||
* timestamp, then the config information isn't up-to-date and
|
||||
- * can't even be validated
|
||||
+ * can't even be validated.
|
||||
+ *
|
||||
+ * Note that the client only knows about the milliseconds part of the
|
||||
+ * timestamp, so using CompareTimeStamps here would cause randr to suddenly
|
||||
+ * stop working after several hours have passed (freedesktop bug #6502).
|
||||
*/
|
||||
- if (CompareTimeStamps (configTime, pScrPriv->lastConfigTime) != 0)
|
||||
+ if (stuff->configTimestamp != pScrPriv->lastConfigTime.milliseconds)
|
||||
{
|
||||
rep.status = RRSetConfigInvalidConfigTime;
|
||||
goto sendReply;
|
28
xserver-1.4.99-builtin-fonts.patch
Normal file
28
xserver-1.4.99-builtin-fonts.patch
Normal file
@ -0,0 +1,28 @@
|
||||
From fe82a1fe634a2e0ceb030de90309d26044c7b75e Mon Sep 17 00:00:00 2001
|
||||
From: Adam Jackson <ajax@redhat.com>
|
||||
Date: Thu, 1 Nov 2007 15:06:17 -0400
|
||||
Subject: [PATCH] Enable builtin font FPE.
|
||||
|
||||
---
|
||||
dix/dixfonts.c | 3 ---
|
||||
1 files changed, 0 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dix/dixfonts.c b/dix/dixfonts.c
|
||||
index c21b3ec..c951b05 100644
|
||||
--- a/dix/dixfonts.c
|
||||
+++ b/dix/dixfonts.c
|
||||
@@ -1890,11 +1890,8 @@ InitFonts (void)
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
-#ifdef BUILTIN_FONTS
|
||||
BuiltinRegisterFpeFunctions();
|
||||
-#else
|
||||
FontFileRegisterFpeFunctions();
|
||||
-#endif
|
||||
#ifndef NOFONTSERVERACCESS
|
||||
fs_register_fpe_functions();
|
||||
#endif
|
||||
--
|
||||
1.5.3.4
|
||||
|
32
xserver-1.4.99-dont-backfill-bg-none.patch
Normal file
32
xserver-1.4.99-dont-backfill-bg-none.patch
Normal file
@ -0,0 +1,32 @@
|
||||
From 6a39049e34eeefeeb821970d83e1994870af8f3e Mon Sep 17 00:00:00 2001
|
||||
From: Adam Jackson <ajax@redhat.com>
|
||||
Date: Thu, 1 Nov 2007 14:56:25 -0400
|
||||
Subject: [PATCH] Don't backfill bg=None windows in Composite.
|
||||
|
||||
---
|
||||
composite/compalloc.c | 2 ++
|
||||
1 files changed, 2 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/composite/compalloc.c b/composite/compalloc.c
|
||||
index 006e808..67d830d 100644
|
||||
--- a/composite/compalloc.c
|
||||
+++ b/composite/compalloc.c
|
||||
@@ -478,6 +478,7 @@ compNewPixmap (WindowPtr pWin, int x, int y, int w, int h)
|
||||
* Copy bits from the parent into the new pixmap so that it will
|
||||
* have "reasonable" contents in case for background None areas.
|
||||
*/
|
||||
+#if 0
|
||||
if (pGC)
|
||||
{
|
||||
XID val = IncludeInferiors;
|
||||
@@ -492,6 +493,7 @@ compNewPixmap (WindowPtr pWin, int x, int y, int w, int h)
|
||||
w, h, 0, 0);
|
||||
FreeScratchGC (pGC);
|
||||
}
|
||||
+#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
--
|
||||
1.5.3.4
|
||||
|
25
xserver-1.4.99-pic-libxf86config.patch
Normal file
25
xserver-1.4.99-pic-libxf86config.patch
Normal file
@ -0,0 +1,25 @@
|
||||
From 6344659a33a7c192dffe6e796c771d02f78da5e5 Mon Sep 17 00:00:00 2001
|
||||
From: Adam Jackson <ajax@redhat.com>
|
||||
Date: Thu, 1 Nov 2007 15:02:24 -0400
|
||||
Subject: [PATCH] Build libxf86config with -fPIC.
|
||||
|
||||
---
|
||||
hw/xfree86/parser/Makefile.am | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/hw/xfree86/parser/Makefile.am b/hw/xfree86/parser/Makefile.am
|
||||
index 849ee8b..0691158 100644
|
||||
--- a/hw/xfree86/parser/Makefile.am
|
||||
+++ b/hw/xfree86/parser/Makefile.am
|
||||
@@ -25,7 +25,7 @@ libxf86config_a_SOURCES = \
|
||||
DRI.c \
|
||||
Extensions.c
|
||||
|
||||
-AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS)
|
||||
+AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) -fPIC -fvisibility=hidden
|
||||
|
||||
EXTRA_DIST = \
|
||||
Configint.h \
|
||||
--
|
||||
1.5.3.4
|
||||
|
48
xserver-1.4.99-selinux-awareness.patch
Normal file
48
xserver-1.4.99-selinux-awareness.patch
Normal file
@ -0,0 +1,48 @@
|
||||
From 823a13f90b5619823325ea162ae30d652e448492 Mon Sep 17 00:00:00 2001
|
||||
From: Adam Jackson <ajax@redhat.com>
|
||||
Date: Thu, 1 Nov 2007 10:39:57 -0400
|
||||
Subject: [PATCH] Link GL subsystem against libselinux.
|
||||
|
||||
---
|
||||
configure.ac | 4 +++-
|
||||
hw/xfree86/dixmods/Makefile.am | 2 +-
|
||||
2 files changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 57132b0..a16b46a 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -339,6 +339,8 @@ case $host_cpu in
|
||||
;;
|
||||
esac
|
||||
|
||||
+SYS_LIBS="${SYS_LIBS} -lselinux"
|
||||
+
|
||||
dnl BSD *_video.c selection
|
||||
AM_CONDITIONAL(ALPHA_VIDEO, [test "x$ALPHA_VIDEO" = xyes])
|
||||
AM_CONDITIONAL(ARM_VIDEO, [test "x$ARM_VIDEO" = xyes])
|
||||
@@ -1229,7 +1231,7 @@ AC_MSG_RESULT([$XNEST])
|
||||
AM_CONDITIONAL(XNEST, [test "x$XNEST" = xyes])
|
||||
|
||||
if test "x$XNEST" = xyes; then
|
||||
- XNEST_LIBS="$CONFIG_LIB $FB_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $XTRAP_LIB $RECORD_LIB $GLX_LIBS $RENDER_LIB $RANDR_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $XPSTUBS_LIB $CWRAP_LIB"
|
||||
+ XNEST_LIBS="$CONFIG_LIB $FB_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $XTRAP_LIB $RECORD_LIB $GLX_LIBS $RENDER_LIB $RANDR_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $XPSTUBS_LIB $CWRAP_LIB $XSERVER_LIBS"
|
||||
XNEST_SYS_LIBS="$XNESTMODULES_LIBS"
|
||||
AC_SUBST([XNEST_LIBS])
|
||||
AC_SUBST([XNEST_SYS_LIBS])
|
||||
diff --git a/hw/xfree86/dixmods/Makefile.am b/hw/xfree86/dixmods/Makefile.am
|
||||
index efc5f4a..1b9ecfd 100644
|
||||
--- a/hw/xfree86/dixmods/Makefile.am
|
||||
+++ b/hw/xfree86/dixmods/Makefile.am
|
||||
@@ -50,7 +50,7 @@ INCLUDES = @XORG_INCS@ \
|
||||
-I$(top_srcdir)/GL/glx
|
||||
|
||||
libGLcore_la_LDFLAGS = -avoid-version
|
||||
-libGLcore_la_LIBADD = $(top_builddir)/GL/mesa/libGLcore.la
|
||||
+libGLcore_la_LIBADD = $(top_builddir)/GL/mesa/libGLcore.la -lselinux
|
||||
libGLcore_la_SOURCES = GLcoremodule.c
|
||||
|
||||
libafb_la_LDFLAGS = -avoid-version
|
||||
--
|
||||
1.5.3.4
|
||||
|
@ -1,17 +1,49 @@
|
||||
From fb3008787193b79909fe922577794f7d4a656922 Mon Sep 17 00:00:00 2001
|
||||
From: Adam Jackson <ajax@redhat.com>
|
||||
Date: Sun, 28 Oct 2007 09:37:52 +0100
|
||||
Subject: [PATCH] Add pixmap eviction for XAA.
|
||||
Date: Thu, 1 Nov 2007 15:18:31 -0400
|
||||
Subject: [PATCH] Add pixmap eviction call for XAA.
|
||||
|
||||
DRI drivers without zero-copy EXT_texture_from_pixmap need to copy the
|
||||
texture image out of video memory to bind it. Ick. Add a hack to
|
||||
evict XAA pixmaps and disable the pixmap cache when the first texture
|
||||
is bound.
|
||||
|
||||
---
|
||||
diff -up xorg-server-1.3.0.0/hw/xfree86/xaa/xaaInit.c.offscreen-pixmaps xorg-server-1.3.0.0/hw/xfree86/xaa/xaaInit.c
|
||||
--- xorg-server-1.3.0.0/hw/xfree86/xaa/xaaInit.c.offscreen-pixmaps 2007-08-13 10:27:45.000000000 +1000
|
||||
+++ xorg-server-1.3.0.0/hw/xfree86/xaa/xaaInit.c 2007-08-13 10:28:35.000000000 +1000
|
||||
@@ -97,6 +97,30 @@ XAADestroyInfoRec(XAAInfoRecPtr infoRec)
|
||||
GL/glx/glxdri.c | 16 ++++++++++++++++
|
||||
hw/xfree86/xaa/xaaInit.c | 24 ++++++++++++++++++++++++
|
||||
2 files changed, 40 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/GL/glx/glxdri.c b/GL/glx/glxdri.c
|
||||
index c0da07b..6c4faed 100644
|
||||
--- a/GL/glx/glxdri.c
|
||||
+++ b/GL/glx/glxdri.c
|
||||
@@ -360,6 +360,22 @@ __glXDRIbindTexImage(__GLXcontext *baseContext,
|
||||
|
||||
pixmap = (PixmapPtr) glxPixmap->pDraw;
|
||||
|
||||
+ if (!screen->texOffsetStart) {
|
||||
+ /* When the GLX_EXT_texture_from_pixmap is used, as it's
|
||||
+ * implemented here, we want to pull pixmap out of video memory
|
||||
+ * and into host memory. */
|
||||
+ extern void XAAEvictPixmaps(void);
|
||||
+ static int evictedPixmaps = 0;
|
||||
+
|
||||
+ if (!evictedPixmaps) {
|
||||
+ __glXDRIenterServer(GL_FALSE);
|
||||
+ if (dlsym(RTLD_DEFAULT, "XAAEvictPixmaps"))
|
||||
+ XAAEvictPixmaps();
|
||||
+ __glXDRIleaveServer(GL_FALSE);
|
||||
+ evictedPixmaps = TRUE;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
if (screen->texOffsetStart && screen->texOffset) {
|
||||
__GLXDRIdrawable **texOffsetOverride = screen->texOffsetOverride;
|
||||
int i, firstEmpty = 16;
|
||||
diff --git a/hw/xfree86/xaa/xaaInit.c b/hw/xfree86/xaa/xaaInit.c
|
||||
index 4222425..602b525 100644
|
||||
--- a/hw/xfree86/xaa/xaaInit.c
|
||||
+++ b/hw/xfree86/xaa/xaaInit.c
|
||||
@@ -88,6 +88,30 @@ XAADestroyInfoRec(XAAInfoRecPtr infoRec)
|
||||
xfree(infoRec);
|
||||
}
|
||||
|
||||
@ -34,7 +66,7 @@ diff -up xorg-server-1.3.0.0/hw/xfree86/xaa/xaaInit.c.offscreen-pixmaps xorg-ser
|
||||
+
|
||||
+ infoRec->offscreenDepths = 0;
|
||||
+ infoRec->Flags &= ~OFFSCREEN_PIXMAPS;
|
||||
+
|
||||
+
|
||||
+ XAAMoveOutOffscreenPixmaps(pScreen);
|
||||
+ XAAInvalidatePixmapCache(pScreen);
|
||||
+ }
|
||||
@ -42,29 +74,6 @@ diff -up xorg-server-1.3.0.0/hw/xfree86/xaa/xaaInit.c.offscreen-pixmaps xorg-ser
|
||||
|
||||
Bool
|
||||
XAAInit(ScreenPtr pScreen, XAAInfoRecPtr infoRec)
|
||||
diff -up xorg-server-1.3.0.0/GL/glx/glxdri.c.offscreen-pixmaps xorg-server-1.3.0.0/GL/glx/glxdri.c
|
||||
--- xorg-server-1.3.0.0/GL/glx/glxdri.c.offscreen-pixmaps 2007-08-13 10:23:52.000000000 +1000
|
||||
+++ xorg-server-1.3.0.0/GL/glx/glxdri.c 2007-08-13 10:26:08.000000000 +1000
|
||||
@@ -380,6 +380,22 @@ __glXDRIbindTexImage(__GLXcontext *baseC
|
||||
__GLXDRIscreen * const screen =
|
||||
(__GLXDRIscreen *) __glXgetActiveScreen(pScreen->myNum);
|
||||
|
||||
+ if (!screen->texOffsetStart) {
|
||||
+ /* When the GLX_EXT_texture_from_pixmap is used, as it's
|
||||
+ * implemented here, we want to pull pixmap out of video memory
|
||||
+ * and into host memory. */
|
||||
+ extern void XAAEvictPixmaps(void);
|
||||
+ static int evictedPixmaps = 0;
|
||||
+
|
||||
+ if (!evictedPixmaps) {
|
||||
+ __glXDRIenterServer(GL_FALSE);
|
||||
+ if (dlsym(RTLD_DEFAULT, "XAAEvictPixmaps"))
|
||||
+ XAAEvictPixmaps();
|
||||
+ __glXDRIleaveServer(GL_FALSE);
|
||||
+ evictedPixmaps = TRUE;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
pixmap = (PixmapPtr) glxPixmap->pDraw;
|
||||
|
||||
if (screen->texOffsetStart && screen->driScreen.setTexOffset) {
|
||||
--
|
||||
1.5.3.4
|
||||
|
Loading…
Reference in New Issue
Block a user