X Strike Force xresprobe SVN commit: r25 - in trunk: . ddcprobe debian
Author: otavio
Date: 2005-03-23 20:29:33 -0500 (Wed, 23 Mar 2005)
New Revision: 25
Added:
trunk/rigprobe.sh
Modified:
trunk/Makefile
trunk/ddcprobe/Makefile
trunk/ddcprobe/common.c
trunk/ddcprobe/ddcprobe.c
trunk/ddcprobe/lrmi.c
trunk/ddcprobe/vesamode.c
trunk/debian/changelog.Ubuntu
trunk/debian/control
trunk/xresprobe
Log:
Merge changes did on 0.4.16 release.
Modified: trunk/Makefile
===================================================================
--- trunk/Makefile 2005-03-24 01:25:28 UTC (rev 24)
+++ trunk/Makefile 2005-03-24 01:29:33 UTC (rev 25)
@@ -16,4 +16,5 @@
install -m755 ddcprobe.sh $(DESTDIR)$(DATADIR)/
install -m755 lcdsize.sh $(DESTDIR)$(DATADIR)/
install -m755 bitdepth.sh $(DESTDIR)$(DATADIR)/
+ install -m755 rigprobe.sh $(DESTDIR)$(DATADIR)/
install -m644 xorg.conf $(DESTDIR)$(DATADIR)/
Modified: trunk/ddcprobe/Makefile
===================================================================
--- trunk/ddcprobe/Makefile 2005-03-24 01:25:28 UTC (rev 24)
+++ trunk/ddcprobe/Makefile 2005-03-24 01:29:33 UTC (rev 25)
@@ -3,7 +3,7 @@
ARCH := $(patsubst ppc%,ppc,$(ARCH))
CC = gcc
-CFLAGS = -Wall -O2 -g# -DDEBUG
+CFLAGS = -W -Wall -O2 -g# -DDEBUG
TARGETS = ddcprobe ddcxinfo
DDC_OBJS = vesamode.o common.o
DDC_LIBS =
Modified: trunk/ddcprobe/common.c
===================================================================
--- trunk/ddcprobe/common.c 2005-03-24 01:25:28 UTC (rev 24)
+++ trunk/ddcprobe/common.c 2005-03-24 01:29:33 UTC (rev 25)
@@ -49,7 +49,8 @@
struct edid1_info *edid;
struct modeline *ret;
char buf[LINE_MAX];
- int modeline_count = 0, i, j;
+ int modeline_count = 0, j;
+ unsigned int i;
if((edid = get_edid_info()) == NULL) {
return NULL;
Modified: trunk/ddcprobe/ddcprobe.c
===================================================================
--- trunk/ddcprobe/ddcprobe.c 2005-03-24 01:25:28 UTC (rev 24)
+++ trunk/ddcprobe/ddcprobe.c 2005-03-24 01:29:33 UTC (rev 25)
@@ -45,6 +45,13 @@
struct edid1_info *edid_info = NULL;
char manufacturer[4];
int i;
+ struct vbe_info *vbe_info = NULL;
+#if defined (__i386__)
+ u_int16_t *mode_list = NULL;
+#endif /* __i386__ */
+ unsigned char *timings;
+ struct edid_monitor_descriptor *monitor;
+ unsigned char *timing;
#if defined (__i386__) || defined (__powerpc__)
assert(sizeof(struct edid1_info) == 256);
@@ -52,12 +59,7 @@
assert(sizeof(struct edid_monitor_descriptor) == 18);
assert(sizeof(struct vbe_info) == 512);
#endif
- struct vbe_info *vbe_info = NULL;
-#if defined (__i386__)
- u_int16_t *mode_list = NULL;
-#endif /* __i386__ */
-
vbe_info = vbe_get_vbe_info();
if(vbe_info == NULL) {
fprintf(stderr, "VESA BIOS Extensions not detected.\n");
@@ -237,9 +239,8 @@
* removed it and replaced it with my own dtiming code, which is derived
* from the VESA spec and parse-edid.c. How well it works on monitors
* with multiple dtimings is unknown, since I don't have one. -daniels */
- unsigned char *timings = (unsigned char *)&edid_info->monitor_details.detailed_timing;
- struct edid_monitor_descriptor *monitor = NULL;
- unsigned char *timing;
+ timings = (unsigned char *)&edid_info->monitor_details.detailed_timing;
+ monitor = NULL;
for(i = 0; i < 4; i++) {
timing = &(timings[i*18]);
if (timing[0] == 0 && timing[1] == 0) {
Modified: trunk/ddcprobe/lrmi.c
===================================================================
--- trunk/ddcprobe/lrmi.c 2005-03-24 01:25:28 UTC (rev 24)
+++ trunk/ddcprobe/lrmi.c 2005-03-24 01:29:33 UTC (rev 25)
@@ -47,7 +47,7 @@
int ready;
int count;
struct mem_block blocks[REAL_MEM_BLOCKS];
- } mem_info = { 0 };
+ } mem_info;
static int
real_mem_init(void)
@@ -185,7 +185,7 @@
unsigned short ret_seg, ret_off;
unsigned short stack_seg, stack_off;
struct vm86_struct vm;
- } context = { 0 };
+ } context;
static inline void
Modified: trunk/ddcprobe/vesamode.c
===================================================================
--- trunk/ddcprobe/vesamode.c 2005-03-24 01:25:28 UTC (rev 24)
+++ trunk/ddcprobe/vesamode.c 2005-03-24 01:29:33 UTC (rev 25)
@@ -4,40 +4,40 @@
/* Known standard VESA modes. */
struct vesa_mode_t known_vesa_modes[] = {
/* VESA 1.0/1.1 ? */
- {0x100, 640, 400, 256, "640x400x256"},
- {0x101, 640, 480, 256, "640x480x256"},
- {0x102, 800, 600, 16, "800x600x16"},
- {0x103, 800, 600, 256, "800x600x256"},
- {0x104, 1024, 768, 16, "1024x768x16"},
- {0x105, 1024, 768, 256, "1024x768x256"},
- {0x106, 1280, 1024, 16, "1280x1024x16"},
- {0x107, 1280, 1024, 256,"1280x1024x256"},
- {0x108, 80, 60, 16, "80x60 (text)"},
- {0x109, 132, 25, 16, "132x25 (text)"},
- {0x10a, 132, 43, 16, "132x43 (text)"},
- {0x10b, 132, 50, 16, "132x50 (text)"},
- {0x10c, 132, 60, 16, "132x60 (text)"},
+ {0x100, 640, 400, 256, "640x400x256", 0},
+ {0x101, 640, 480, 256, "640x480x256", 0},
+ {0x102, 800, 600, 16, "800x600x16", 0},
+ {0x103, 800, 600, 256, "800x600x256", 0},
+ {0x104, 1024, 768, 16, "1024x768x16", 0},
+ {0x105, 1024, 768, 256, "1024x768x256", 0},
+ {0x106, 1280, 1024, 16, "1280x1024x16", 0},
+ {0x107, 1280, 1024, 256,"1280x1024x256", 0},
+ {0x108, 80, 60, 16, "80x60 (text)", 0},
+ {0x109, 132, 25, 16, "132x25 (text)", 0},
+ {0x10a, 132, 43, 16, "132x43 (text)", 0},
+ {0x10b, 132, 50, 16, "132x50 (text)", 0},
+ {0x10c, 132, 60, 16, "132x60 (text)", 0},
/* VESA 1.2+ */
- {0x10d, 320, 200, 32768, "320x200x32k"},
- {0x10e, 320, 200, 65536, "320x200x64k"},
- {0x10f, 320, 200, 16777216, "320x200x16m"},
- {0x110, 640, 480, 32768, "640x480x32k"},
- {0x111, 640, 480, 65536, "640x480x64k"},
- {0x112, 640, 480, 16777216, "640x480x16m"},
- {0x113, 800, 600, 32768, "800x600x32k"},
- {0x114, 800, 600, 65536, "800x600x64k"},
- {0x115, 800, 600, 16777216, "800x600x16m"},
- {0x116, 1024, 768, 32768, "1024x768x32k"},
- {0x117, 1024, 768, 65536, "1024x768x64k"},
- {0x118, 1024, 768, 16777216, "1024x768x16m"},
- {0x119, 1280, 1024, 32768, "1280x1024x32k"},
- {0x11a, 1280, 1024, 65536, "1280x1024x64k"},
- {0x11b, 1280, 1024, 16777216, "1280x1024x16m"},
+ {0x10d, 320, 200, 32768, "320x200x32k", 0},
+ {0x10e, 320, 200, 65536, "320x200x64k", 0},
+ {0x10f, 320, 200, 16777216, "320x200x16m", 0},
+ {0x110, 640, 480, 32768, "640x480x32k", 0},
+ {0x111, 640, 480, 65536, "640x480x64k", 0},
+ {0x112, 640, 480, 16777216, "640x480x16m", 0},
+ {0x113, 800, 600, 32768, "800x600x32k", 0},
+ {0x114, 800, 600, 65536, "800x600x64k", 0},
+ {0x115, 800, 600, 16777216, "800x600x16m", 0},
+ {0x116, 1024, 768, 32768, "1024x768x32k", 0},
+ {0x117, 1024, 768, 65536, "1024x768x64k", 0},
+ {0x118, 1024, 768, 16777216, "1024x768x16m", 0},
+ {0x119, 1280, 1024, 32768, "1280x1024x32k", 0},
+ {0x11a, 1280, 1024, 65536, "1280x1024x64k", 0},
+ {0x11b, 1280, 1024, 16777216, "1280x1024x16m", 0},
/* VESA 2.0+ */
- {0x120, 1600, 1200, 256, "1600x1200x256"},
- {0x121, 1600, 1200, 32768, "1600x1200x32k"},
- {0x122, 1600, 1200, 65536, "1600x1200x64k"},
- { 0, 0, 0, 0, ""},
+ {0x120, 1600, 1200, 256, "1600x1200x256", 0},
+ {0x121, 1600, 1200, 32768, "1600x1200x32k", 0},
+ {0x122, 1600, 1200, 65536, "1600x1200x64k", 0},
+ { 0, 0, 0, 0, "", 0},
};
struct vesa_timing_t known_vesa_timings[] = {
Modified: trunk/debian/changelog.Ubuntu
===================================================================
--- trunk/debian/changelog.Ubuntu 2005-03-24 01:25:28 UTC (rev 24)
+++ trunk/debian/changelog.Ubuntu 2005-03-24 01:29:33 UTC (rev 25)
@@ -1,3 +1,17 @@
+xresprobe (0.4.16) hoary; urgency=low
+
+ * Merge from unreleased 0.5 branch: add support for 'rigging' xresprobe
+ results. XRESPROBE_RIG=noddc results in a null result being returned
+ (f.e. a desktop where DDC fails) and XRESPROBE_RIG=log results in
+ lcdsize.sh and bitdepth.sh being run across $XRESPROBE_RIG_LOG.
+ XRESPROBE_RIG=ddc results in ddcprobe.sh being run across
+ $XRESPROBE_RIG_DDC. Driver will be taken from $XRESPROBE_DRIVER; bit
+ depth check is run across $XRESPROBE_RIG_LOG, if it exists.
+ * Add Replaces on kudzu-vesa (thanks, Otavio Salvador).
+ * Add patch from Petter Reinholdtsen to fix compilation with gcc 2.95.
+
+ -- Daniel Stone <daniel.stone@ubuntu.com> Thu, 17 Mar 2005 10:58:01 +1100
+
xresprobe (0.4.15) hoary; urgency=low
* Add patch from Sven Luther to walk /sys looking for EDID data exported by
Modified: trunk/debian/control
===================================================================
--- trunk/debian/control 2005-03-24 01:25:28 UTC (rev 24)
+++ trunk/debian/control 2005-03-24 01:29:33 UTC (rev 25)
@@ -10,9 +10,9 @@
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Recommends: laptop-detect
+Replaces: kudzu-vesa
Conflicts: kudzu-vesa
Provides: kudzu-vesa
-Replaces: kudzu-vesa
Description: X Resolution Probe
xresprobe is a package that probes both laptop and DDC-compliant screens for
their standard resolutions, and returns a specifically-formatted, easy-to-parse
Copied: trunk/rigprobe.sh (from rev 24, tags/0.4.16/rigprobe.sh)
Property changes on: trunk/rigprobe.sh
___________________________________________________________________
Name: svn:executable
+ *
Modified: trunk/xresprobe
===================================================================
--- trunk/xresprobe 2005-03-24 01:25:28 UTC (rev 24)
+++ trunk/xresprobe 2005-03-24 01:29:33 UTC (rev 25)
@@ -1,5 +1,5 @@
#!/bin/sh
-# Usage: xresprobe driver
+# Usage: xresprobe driver [screentype]
# Copyright (C) 2004 Canonical Ltd
# Author: Daniel Stone <daniel.stone@ubuntu.com>
#
@@ -60,6 +60,13 @@
echo "laptop: $LAPTOP; ddc: $DDC" >&2
fi
+if [ -n "$XRESPROBE_RIG" ]; then
+ if [ -n "$XRESPROBE_DEBUG" ]; then
+ echo "xresprobe: rigging results for $XRESPROBE_RIG" >&2
+ fi
+ exec "$DATADIR/rigprobe.sh" $DRIVER $SCREENTYPE $LAPTOP
+fi
+
doddc() {
if [ -n "$XRESPROBE_DEBUG" ]; then
echo "attempting DDC detection" >&2
Reply to: