rpms/xorg-x11-server/devel xorg-x11-server-1.1.1-edid-root-window-properties.patch, NONE, 1.1 xorg-x11-server.spec, 1.115, 1.116
fedora-cvs-commits at redhat.com
fedora-cvs-commits at redhat.com
Wed Jul 12 20:26:47 UTC 2006
- Previous message (by thread): rpms/at-spi/devel .cvsignore, 1.24, 1.25 at-spi.spec, 1.44, 1.45 sources, 1.24, 1.25
- Next message (by thread): rpms/kernel/devel patch-2.6.18-rc1-git5.bz2.sign, NONE, 1.1 .cvsignore, 1.481, 1.482 kernel-2.6.spec, 1.2385, 1.2386 sources, 1.425, 1.426 upstream, 1.392, 1.393 patch-2.6.18-rc1-git3.bz2.sign, 1.1, NONE patch-2.6.18-rc1-git4.bz2.sign, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: ajackson
Update of /cvs/dist/rpms/xorg-x11-server/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv31122
Modified Files:
xorg-x11-server.spec
Added Files:
xorg-x11-server-1.1.1-edid-root-window-properties.patch
Log Message:
* Wed Jul 12 2006 Adam Jackson <ajackson at redhat.com> 1.1.1-4.fc6
- Restore placing the raw EDID block on the root window.
xorg-x11-server-1.1.1-edid-root-window-properties.patch:
ddcProperty.c | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 88 insertions(+), 3 deletions(-)
--- NEW FILE xorg-x11-server-1.1.1-edid-root-window-properties.patch ---
--- xorg-server-1.1.1/hw/xfree86/ddc/ddcProperty.c.edid-on-root-window 2006-07-12 16:06:31.000000000 -0400
+++ xorg-server-1.1.1/hw/xfree86/ddc/ddcProperty.c 2006-07-12 16:06:31.000000000 -0400
@@ -27,6 +27,10 @@
#include "xf86.h"
#include "xf86DDC.h"
+#include <X11/Xatom.h>
+#include "property.h"
+#include "propertyst.h"
+#include "xf86DDC.h"
/*
* xf86Mode.c should have a some more DisplayModePtr list handling.
@@ -405,9 +409,88 @@
}
}
-/*
- * Empty shell that keeps most drivers happy.
- */
+#define EDID1_ATOM_NAME "XFree86_DDC_EDID1_RAWDATA"
+#define EDID2_ATOM_NAME "XFree86_DDC_EDID2_RAWDATA"
+#define VDIF_ATOM_NAME "XFree86_DDC_VDIF_RAWDATA"
+
+static void
+addRootWindowProperties(ScrnInfoPtr pScrn, xf86MonPtr DDC)
+{
+ Atom EDID1Atom=-1, EDID2Atom=-1;
+ CARD8 *EDID1rawdata = NULL;
+ CARD8 *EDID2rawdata = NULL;
+ int i, scrnIndex = pScrn->scrnIndex;
+ Bool makeEDID1prop = FALSE;
+ Bool makeEDID2prop = FALSE;
+
+ if (DDC->ver.version == 1) {
+ makeEDID1prop = TRUE;
+ } else if (DDC->ver.version == 2) {
+ int checksum1;
+ int checksum2;
+ makeEDID2prop = TRUE;
+
+ /* Some monitors (eg Panasonic PanaSync4)
+ * report version==2 because they used EDID v2 spec document,
+ * although they use EDID v1 data structure :-(
+ *
+ * Try using checksum to determine when we have such a monitor.
+ */
+ checksum2 = 0;
+ for (i = 0; i < 256; i++)
+ checksum2 += DDC->rawData[i];
+ if (checksum2 % 256) {
+ xf86DrvMsg(scrnIndex, X_INFO, "Monitor EDID v2 checksum failed\n");
+ xf86DrvMsg(scrnIndex, X_INFO,
+ "XFree86_DDC_EDID2_RAWDATA property may be bad\n");
+ checksum1 = 0;
+ for (i = 0; i < 128; i++)
+ checksum1 += DDC->rawData[i];
+ if (!(checksum1 % 256)) {
+ xf86DrvMsg(scrnIndex, X_INFO,
+ "Monitor EDID v1 checksum passed,\n");
+ xf86DrvMsg(scrnIndex, X_INFO,
+ "XFree86_DDC_EDID1_RAWDATA property created\n");
+ makeEDID1prop = TRUE;
+ }
+ }
+ } else {
+ xf86DrvMsg(scrnIndex, X_PROBED, "unexpected EDID version %d.%d\n",
+ DDC->ver.version, DDC->ver.revision);
+ return;
+ }
+
+ if (makeEDID1prop) {
+ if ((EDID1rawdata = xalloc(128*sizeof(CARD8)))==NULL)
+ return;
+
+ EDID1Atom = MakeAtom(EDID1_ATOM_NAME, sizeof(EDID1_ATOM_NAME), TRUE);
+ memcpy(EDID1rawdata, DDC->rawData, 128);
+ xf86RegisterRootWindowProperty(scrnIndex, EDID1Atom, XA_INTEGER, 8,
+ 128, (unsigned char *)EDID1rawdata);
+ }
+
+ if (makeEDID2prop) {
+ if ((EDID2rawdata = xalloc(256*sizeof(CARD8)))==NULL)
+ return;
+
+ memcpy(EDID2rawdata, DDC->rawData, 256);
+ EDID2Atom = MakeAtom(EDID2_ATOM_NAME, sizeof(EDID2_ATOM_NAME), TRUE);
+ xf86RegisterRootWindowProperty(scrnIndex, EDID2Atom, XA_INTEGER, 8,
+ 256, (unsigned char *)EDID2rawdata);
+ }
+
+#if 0
+ if (DDC->vdif) {
+#define VDIF_DUMMY_STRING "setting dummy VDIF property - please insert correct values\n"
+
+ VDIFAtom = MakeAtom(VDIF_ATOM_NAME, sizeof(VDIF_ATOM_NAME), TRUE);
+ xf86RegisterRootWindowProperty(scrnIndex, VDIFAtom, XA_STRING, 8,
+ strlen(VDIF_DUMMY_STRING), VDIF_DUMMY_STRING);
+ }
+#endif
+}
+
Bool
xf86SetDDCproperties(ScrnInfoPtr pScrn, xf86MonPtr DDC)
{
@@ -416,5 +499,7 @@
xf86DDCMonitorSet(pScrn->scrnIndex, pScrn->monitor, DDC);
+ addRootWindowProperties(pScrn, DDC);
+
return TRUE;
}
Index: xorg-x11-server.spec
===================================================================
RCS file: /cvs/dist/rpms/xorg-x11-server/devel/xorg-x11-server.spec,v
retrieving revision 1.115
retrieving revision 1.116
diff -u -r1.115 -r1.116
--- xorg-x11-server.spec 12 Jul 2006 09:19:02 -0000 1.115
+++ xorg-x11-server.spec 12 Jul 2006 20:26:45 -0000 1.116
@@ -9,7 +9,7 @@
# upgrades to officially released distribution releases, if the package
# Version field above is not changing, append and/or bump a digit /after/
# the dist tag. ie: 25%{dist}.0 -> 25%{dist}.1 ...
-Release: 3.1%{?dist}
+Release: 4%{?dist}
URL: http://www.x.org
License: MIT/X11
Group: User Interface/X
@@ -48,6 +48,7 @@
Patch3004: xorg-x11-server-1.1.0-no-autoconfig-targetrefresh.patch
Patch3005: xorg-x11-server-1.1.1-getconfig-pl-die-die-die.patch
Patch3006: xorg-x11-server-1.1.1-dpms-on-by-default.patch
+Patch3007: xorg-x11-server-1.1.1-edid-root-window-properties.patch
%define moduledir %{_libdir}/xorg/modules
%define drimoduledir %{_libdir}/dri
@@ -313,6 +314,7 @@
%patch3004 -p1 -b .targetrefresh
%patch3005 -p1 -b .getconfig-pl-die-die-die
%patch3006 -p1 -b .dpms-on-by-default
+%patch3007 -p1 -b .edid-on-root-window
%build
#FONTDIR="${datadir}/X11/fonts"
@@ -638,7 +640,10 @@
# -------------------------------------------------------------------
%changelog
-* Wed Jul 12 2006 Jesse Keating <jkeating at redhat.com> - sh: line 0: fg: no job control
+* Wed Jul 12 2006 Adam Jackson <ajackson at redhat.com> 1.1.1-4.fc6
+- Restore placing the raw EDID block on the root window.
+
+* Wed Jul 12 2006 Jesse Keating <jkeating at redhat.com> 1.1.1-3.1.fc6
- rebuild
* Tue Jul 11 2006 Adam Jackson <ajackson at redhat.com> 1.1.1-3.fc6
- Previous message (by thread): rpms/at-spi/devel .cvsignore, 1.24, 1.25 at-spi.spec, 1.44, 1.45 sources, 1.24, 1.25
- Next message (by thread): rpms/kernel/devel patch-2.6.18-rc1-git5.bz2.sign, NONE, 1.1 .cvsignore, 1.481, 1.482 kernel-2.6.spec, 1.2385, 1.2386 sources, 1.425, 1.426 upstream, 1.392, 1.393 patch-2.6.18-rc1-git3.bz2.sign, 1.1, NONE patch-2.6.18-rc1-git4.bz2.sign, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-cvs-commits
mailing list