* Mon Jan 07 2008 Adam Jackson <ajax@redhat.com> 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.
This commit is contained in:
Adam Jackson 2008-01-07 19:45:03 +00:00
parent 73fc9241cd
commit e6e366c9ca
4 changed files with 137 additions and 30 deletions

View File

@ -1,11 +1,11 @@
From: Adam Jackson <ajax@redhat.com>
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

View File

@ -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 <ajax@redhat.com> 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 <ajax@redhat.com> 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.

View File

@ -0,0 +1,21 @@
From: Adam Jackson <ajax@redhat.com>
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,

View File

@ -0,0 +1,102 @@
From: Adam Jackson <ajax@redhat.com>
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);