diff --git a/xorg-x11-server-Red-Hat-extramodes.patch b/xorg-x11-server-Red-Hat-extramodes.patch index a0a0069..173f172 100644 --- a/xorg-x11-server-Red-Hat-extramodes.patch +++ b/xorg-x11-server-Red-Hat-extramodes.patch @@ -1,11 +1,11 @@ From: Adam Jackson Date: Sun, 28 Oct 2007 09:37:52 +0100 -Subject: [PATCH] Add more stuff to extramodes +Subject: [PATCH] Fedora extra modes list --- --- xorg-server-1.2.0/hw/xfree86/common/extramodes.Red-Hat-extramodes 2007-01-22 22:13:15.000000000 -0500 +++ xorg-server-1.2.0/hw/xfree86/common/extramodes 2007-02-05 18:26:19.000000000 -0500 -@@ -3,21 +3,162 @@ +@@ -3,21 +3,135 @@ // // $XFree86: xc/programs/Xserver/hw/xfree86/etc/extramodes,v 1.5 2002/06/05 19:43:05 dawes Exp $ // @@ -138,35 +138,8 @@ Subject: [PATCH] Add more stuff to extramodes +# 1920x1080 59.93 Hz (CVT 2.07M9-R) hsync: 66.59 kHz; pclk: 138.50 MHz +Modeline "1920x1080" 138.50 1920 1968 2000 2080 1080 1083 1088 1111 +hsync -vsync + -+# 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz -+Modeline "1920x1080" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync -+ -+# 1920x1080 69.92 Hz (CVT) hsync: 78.80 kHz; pclk: 204.25 MHz -+Modeline "1920x1080" 204.25 1920 2056 2256 2592 1080 1083 1088 1127 -hsync +vsync -+ -+# 1920x1080 74.91 Hz (CVT 2.07M9) hsync: 84.64 kHz; pclk: 220.75 MHz -+Modeline "1920x1080" 220.75 1920 2064 2264 2608 1080 1083 1088 1130 -hsync +vsync -+ -+# 1920x1080 84.88 Hz (CVT 2.07M9) hsync: 96.51 kHz; pclk: 253.25 MHz -+Modeline "1920x1080" 253.25 1920 2064 2272 2624 1080 1083 1088 1137 -hsync +vsync -+ +# 1920x1200 59.95 Hz (CVT 2.30MA-R) hsync: 74.04 kHz; pclk: 154.00 MHz +Modeline "1920x1200" 154.00 1920 1968 2000 2080 1200 1203 1209 1235 +hsync -vsync -+ -+# 1920x1200 @ 60.00 Hz (GTF) hsync: 74.52 kHz; pclk: 193.16 MHz -+Modeline "1920x1200" 193.16 1920 2048 2256 2592 1200 1201 1204 1242 -HSync +Vsync -+ -+# 1920x1200 @ 70.00 Hz (GTF) hsync: 87.43 kHz; pclk: 228.02 MHz -+Modeline "1920x1200" 228.02 1920 2056 2264 2608 1200 1201 1204 1249 -HSync +Vsync -+ -+# 1920x1200 @ 70Hz (Red Hat custom modeline - bugzilla #53364) hsync: 87.50 KHz -+Modeline "1920x1200" 230.0 1920 1936 2096 2528 1200 1201 1204 1250 -HSync -VSync -+ -+# 1920x1200 @ 75.00 Hz (GTF) hsync: 93.97 kHz; pclk: 246.59 MHz -+Modeline "1920x1200" 246.59 1920 2064 2272 2624 1200 1201 1204 1253 -HSync +Vsync -+ -+# 1920x1200 @ 85.00 Hz (GTF) hsync: 107.10 kHz; pclk: 282.74 MHz -+Modeline "1920x1200" 282.74 1920 2072 2280 2640 1200 1201 1204 1260 -HSync +Vsync # 1920x1440 @ 85Hz (VESA GTF) hsync: 128.5kHz Modeline "1920x1440" 341.35 1920 2072 2288 2656 1440 1441 1444 1512 -hsync +vsync diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index 74b4e64..2757f00 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -20,7 +20,7 @@ Summary: X.Org X11 X server Name: xorg-x11-server Version: 1.4.99.1 -Release: 0.13%{?dist} +Release: 0.14%{?dist} URL: http://www.x.org License: MIT Group: User Interface/X @@ -64,6 +64,8 @@ Patch2013: xserver-1.4.99-document-fontpath-correctly.patch Patch4003: argh-pixman.patch Patch4004: xserver-1.4.99-xephyr-dri.patch Patch4005: xserver-1.4.99-openchrome.patch +Patch4006: xserver-1.3.0-randr-fix-set-rotations-xinerama.patch +Patch4007: xserver-1.3.0-ignore-extra-entity.patch # Trivial things to never merge upstream ever # This should be fixed in the kernel. @@ -529,6 +531,15 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Mon Jan 07 2008 Adam Jackson 1.4.99.1-0.14 +- Sync with F8 bugfixes: + - xorg-x11-server-Red-Hat-extramodes.patch: Don't supply non-CVT-R timings + for 1920x{1080,1200}. + - xserver-1.3.0-ignore-extra-entity.patch: If a driver doesn't support + secondary entities, don't fatal error just ignore and keep going. + - xserver-1.3.0-randr-fix-set-rotations-xinerama.patch: Attempt to stop + xinerama segfaulting randr12. + * Mon Dec 10 2007 Adam Jackson 1.4.99.1-0.13 - xserver-1.4.99-alloca-poison.patch: Fatal error on {DE,}ALLOCATE_LOCAL so we don't build broken drivers. diff --git a/xserver-1.3.0-ignore-extra-entity.patch b/xserver-1.3.0-ignore-extra-entity.patch new file mode 100644 index 0000000..f5c3c8b --- /dev/null +++ b/xserver-1.3.0-ignore-extra-entity.patch @@ -0,0 +1,21 @@ +From: Adam Jackson +Date: Sun, 28 Oct 2007 09:37:52 +0100 +Subject: [PATCH] Ignore non-sharable entities instead of crashing. + +--- +diff -up xorg-server-1.3.0.0/hw/xfree86/common/xf86Bus.c.da xorg-server-1.3.0.0/hw/xfree86/common/xf86Bus.c +--- xorg-server-1.3.0.0/hw/xfree86/common/xf86Bus.c.da 2007-11-29 15:42:04.000000000 +1000 ++++ xorg-server-1.3.0.0/hw/xfree86/common/xf86Bus.c 2007-11-29 15:42:11.000000000 +1000 +@@ -341,8 +341,10 @@ xf86AddEntityToScreen(ScrnInfoPtr pScrn, + if (entityIndex == -1) + return; + if (xf86Entities[entityIndex]->inUse && +- !(xf86Entities[entityIndex]->entityProp & IS_SHARED_ACCEL)) +- FatalError("Requested Entity already in use!\n"); ++ !(xf86Entities[entityIndex]->entityProp & IS_SHARED_ACCEL)) { ++ ErrorF("Requested Entity already in use!\n"); ++ return; ++ } + + pScrn->numEntities++; + pScrn->entityList = xnfrealloc(pScrn->entityList, diff --git a/xserver-1.3.0-randr-fix-set-rotations-xinerama.patch b/xserver-1.3.0-randr-fix-set-rotations-xinerama.patch new file mode 100644 index 0000000..788dcf9 --- /dev/null +++ b/xserver-1.3.0-randr-fix-set-rotations-xinerama.patch @@ -0,0 +1,102 @@ +From: Adam Jackson +Date: Sun, 28 Oct 2007 09:37:52 +0100 +Subject: [PATCH] Xinerama shouldn't segfault RANDR 1.2 + +--- +diff --git a/hw/xfree86/modes/xf86RandR12.c b/hw/xfree86/modes/xf86RandR12.c +index 61a7db3..bb7f945 100644 +--- a/hw/xfree86/modes/xf86RandR12.c ++++ b/hw/xfree86/modes/xf86RandR12.c +@@ -59,7 +59,7 @@ static Bool xf86RandR12Init12 (ScreenPtr pScreen); + static Bool xf86RandR12CreateScreenResources12 (ScreenPtr pScreen); + #endif + +-static int xf86RandR12Index; ++static int xf86RandR12Index = -1; + static int xf86RandR12Generation; + + #define XF86RANDRINFO(p) \ +@@ -340,10 +340,12 @@ xf86RandR12ScreenSetSize (ScreenPtr pScreen, + PixmapPtr pScrnPix = (*pScreen->GetScreenPixmap)(pScreen); + Bool ret = FALSE; + +- if (randrp->virtualX == -1 || randrp->virtualY == -1) +- { +- randrp->virtualX = pScrn->virtualX; +- randrp->virtualY = pScrn->virtualY; ++ if (xf86RandR12Index != -1) { ++ if (randrp->virtualX == -1 || randrp->virtualY == -1) ++ { ++ randrp->virtualX = pScrn->virtualX; ++ randrp->virtualY = pScrn->virtualY; ++ } + } + if (pRoot && pScrn->vtSema) + (*pScrn->EnableDisableFBAccess) (pScreen->myNum, FALSE); +@@ -366,7 +368,7 @@ finish: + if (pRoot && pScrn->vtSema) + (*pScrn->EnableDisableFBAccess) (pScreen->myNum, TRUE); + #if RANDR_12_INTERFACE +- if (WindowTable[pScreen->myNum] && ret) ++ if ((xf86RandR12Index != -1) && WindowTable[pScreen->myNum] && ret) + RRScreenSizeNotify (pScreen); + #endif + return ret; +@@ -466,6 +468,9 @@ xf86RandR12CreateScreenResources (ScreenPtr pScreen) + mmHeight); + } + ++ if (xf86RandR12Index == -1) ++ return TRUE; ++ + if (randrp->virtualX == -1 || randrp->virtualY == -1) + { + randrp->virtualX = pScrn->virtualX; +@@ -533,12 +538,18 @@ xf86RandR12Init (ScreenPtr pScreen) + _X_EXPORT void + xf86RandR12SetRotations (ScreenPtr pScreen, Rotation rotations) + { +- XF86RandRInfoPtr randrp = XF86RANDRINFO(pScreen); ++ XF86RandRInfoPtr randrp; + #if RANDR_12_INTERFACE + ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + int c; + xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn); ++#endif + ++ if (xf86RandR12Index == -1) ++ return; ++ ++ randrp = XF86RANDRINFO(pScreen); ++#if RANDR_12_INTERFACE + for (c = 0; c < config->num_crtc; c++) { + xf86CrtcPtr crtc = config->crtc[c]; + +@@ -1065,9 +1076,11 @@ xf86RandR12CreateScreenResources12 (ScreenPtr pScreen) + ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn); + ++ if (xf86RandR12Index == -1) ++ return TRUE; ++ + for (c = 0; c < config->num_crtc; c++) +- xf86RandR12CrtcNotify (config->crtc[c]->randr_crtc); +- ++ xf86RandR12CrtcNotify (config->crtc[c]->randr_crtc); + + RRScreenSetSizeRange (pScreen, config->minWidth, config->minHeight, + config->maxWidth, config->maxHeight); +@@ -1084,11 +1097,11 @@ xf86RandR12TellChanged (ScreenPtr pScreen) + { + ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn); +- XF86RandRInfoPtr randrp = XF86RANDRINFO(pScreen); + int c; + +- if (!randrp) ++ if (xf86RandR12Index == -1) + return; ++ + xf86RandR12SetInfo12 (pScreen); + for (c = 0; c < config->num_crtc; c++) + xf86RandR12CrtcNotify (config->crtc[c]->randr_crtc);