Группа :: Система/X11
Пакет: xorg-x11
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Патч: xorg-x11-6.7.0-libxf86config-monitor-freq-fix.patch
Скачать
Скачать
Patch by Mike A. Harris <mharris@redhat.com>
Fix bug http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=120950 and the
200,000,000 bug duplicates. ;o)
Filed upstream as:
http://freedesktop.org/bugzilla/show_bug.cgi?id=1223
--- xc/programs/Xserver/hw/xfree86/parser/Monitor.c.libxf86config-do-not-comment-out-monitor-frequencies Fri May 7 04:12:31 2004
+++ xc/programs/Xserver/hw/xfree86/parser/Monitor.c Fri May 7 04:21:31 2004
@@ -671,17 +671,44 @@
fprintf (cf, "\tDisplaySize %d\t%d\n",
ptr->mon_width,
ptr->mon_height);
+/* This causes the config file to always be written out with the
+ * HorizSync/VertRefresh lines commented out, forcing all default X config
+ * files written out by this library to rely on DDC. This is not a viable
+ * thing to do because there are a great number of reasons why DDC may not
+ * be useable, such as:
+ * - KVM's which do not pass DDC
+ * - Video drivers with no DDC support
+ * - DFPs, LCDs, and to a lesser extent nowadays CRTs which do not support
+ * DDC
+ * - Other hardware plugged into the monitor cable which interferes with DDC
+ * - Non-x86 architecture which the DDC probing code of a driver uses the
+ * video BIOS, but which that does not work.
+ * - various other scenarios
+ *
+ * Red Hat bugzilla is loaded with bugs reported from savage, radeon, nv,
+ * r128, and other hardware users in which this problem causes them to have
+ * seriously limited display resolutions because the monitor frequencies are
+ * not known when X starts up, forcing them into 640x480. As such, I'm
+ * changing this back to the way it used to be under the "if it wasn't broken,
+ * don't fix it" principle. I doubt we will every be able to 100% rely that
+ * DDC will always be available, so this will never be a reliable way to
+ * configure monitors.
+ *
+ * Mike A. Harris <mharris@redhat.com>, May 7, 2004 (X.org X11 6.7.0)
+ */
+#if 0
if ( ptr->mon_n_hsync || ptr->mon_n_vrefresh )
fprintf(cf," ### Uncomment if you don't want to default to DDC:\n");
+#endif
for (i = 0; i < ptr->mon_n_hsync; i++)
{
- fprintf (cf, "#\tHorizSync %2.1f - %2.1f\n",
+ fprintf (cf, "\tHorizSync %2.1f - %2.1f\n",
ptr->mon_hsync[i].lo,
ptr->mon_hsync[i].hi);
}
for (i = 0; i < ptr->mon_n_vrefresh; i++)
{
- fprintf (cf, "#\tVertRefresh %2.1f - %2.1f\n",
+ fprintf (cf, "\tVertRefresh %2.1f - %2.1f\n",
ptr->mon_vrefresh[i].lo,
ptr->mon_vrefresh[i].hi);
}