Bug 21596

Summary: Xconfigurator's Custom Monitor configuration very confusing
Product: [Retired] Red Hat Linux Reporter: Panic <mdrew>
Component: XconfiguratorAssignee: Mike A. Harris <mharris>
Status: CLOSED RAWHIDE QA Contact: David Lawrence <dkl>
Severity: low Docs Contact:
Priority: medium    
Version: 7.0CC: dr
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2001-05-17 20:43:56 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Panic 2000-12-01 19:20:49 UTC
I fire up Xconfigurator.
It auto-detects my card, then asks me about my monitor.
I select Custom.

The text on this screen says:

"You must indicate the horizontal sync range of your monitor.  YOu can
either select one of the predefined ranges below that correspond to
industry-standard monitor types, or give a specific range.  It is VERY
IMPORTANT that you do not specify a monitor type with a horizontal sync
range that is beyond the capabilities of your monitor."

However, the list below this text does not mention horizontal sync ranges
in any way.  Instead, it has a Custom entry (which is nice, wasn't in
4.3.5) and a bunch of entries that look like this:

Standard VGA, 640x480 @ 60 Hz
Super VGA, 800x600 @ 56 Hz
Super VGA, 1024x768 @ 87 Hz interlaced, 800x600 @ 56 Hz

How exactly is someone supposed to choose a monitor type when there is no
information on the horizontal sync range in the selections available?  How
are they supposed to know what is and what isn't beyond the capabilities of
their monitor if none of the selections mention anything about horizontal
sync?

Perhaps something like this would more appropriate:

"Use this list to select the maximum resolution and vertical refresh rate
your monitor is capable of.  The horizontal sync range will be
automatically configured based on that information.  Alternatively, you can
choose the Custom option to directly enter in your horizontal and vertical
sync rates.  MAKE SURE that you do not choose a resolution and refresh rate
that your monitor is incapable of displaying, or provide a custom
horizontal sync rate that is beyond your monitor's capabilities."

Or, we should just give the horizontal sync ranges in the choices?

Comment 1 Mike A. Harris 2000-12-04 10:54:31 UTC
This relates to Xconfigurator, so I've changed the component.


Comment 2 Preston Brown 2001-01-29 19:39:38 UTC
damn, saw this one after translation freeze.  Sorry...

Comment 3 Mike A. Harris 2002-06-01 08:34:00 UTC
Monitor configuration ultimately boils down to a few things here.  First
thing, is in order to autodetect a given monitor, and set it up automatically,
the following must occur, in this order:

1) The monitor _must_ support DDC probe.
2) Our MonitorsDb database must contain an EDID entry for this specific monitor.
   If it does not, then the user can submit the Windows .INF file for their
   Monitor, which contains the information we need to configure it properly.
3) The specific video card they are using, must support querying a monitor
   for it's EDID information (most hardware does), and the XFree86 video
   driver _MUST_ support DDC probing on that video card.  If the card, the
   driver, or the monitor does not support this, then there is absolutely
   no way whatsoever to autodetect and autoconfigure a monitor.  Many Laptops
   and LCD panels are not autodetectable for example.  Older monitors also
   do not support DDC.

Another issue, is that there are different versions of DDC too.  A monitor
may support one or more versions of DDC, and a given video card driver
may support various DDC versions - or it might only support one version.
So, a given card+driver may be able to autoconfigure one monitor, and not
another - even though both monitors are PnP.

In the case where a monitor must be configured manually - then a user either
picks it off a list, and the settings in the database are hopefully correct
for that monitor (by whoever put the monitor in the database in the first
place).  If the monitor is not on the list, and must be configured manually,
then as sad as it is, a user is left up to his own devices to configure
it on his own.  There is no way on earth that we can pull Horizontal and
Vertical sync ranges for an unknown device out of the air and offer them
as options to a user.

Users stuck having to do this, need to find their monitor specifications,
either in their manual, on the back of the monitor, on the manufacturer's
website, or elsewhere, and then punch in all of those settings.  There is
nothing we can do to change this or automate it as it requires specifications
that we simply do not have.

The long term goal of course is to autodetect all modern monitors.  I plan
on doing some work in this area in the future to simplify monitor configuration,
but old monitors will more or less always be left in the dark.

As for the predefined ones:

Standard VGA, 640x480 @ 60 Hz
Super VGA, 800x600 @ 56 Hz
Super VGA, 1024x768 @ 87 Hz interlaced, 800x600 @ 56 Hz

et al. Those are for users who KNOW that their monitor is VGA, SuperVGA,
etc.  If you know which one it is, the horiz/vert frequencies are irrelevant.
On the converse, if the frequencies were there, that does not mean that
the setting should be chosen just because the monitor matches freqs or comes
close.

If one does not know, then one has to find out the specs manually and input
them.  The only way to simplify this, would beto either:

1) Do an exhaustive research on all ancient monitors, gathering specs, etc
   and completing large portions of the monitor database for monitors not
   listed.  - Since it is ancient hardware, I think R&D can be better spent
   elsewhere.

2) Drop support for ancient hardware that is complicated to configure, and
   requires screens that may be confusing to users.  Those with the hardware
   can still use it, but they'll have to edit the config files manually.

Most probably a combination of 1 and 2 will be used in the end.

Xconfigurator is now obsolete, and will be replaced by a new config tool
for our next release.  Monitor configuration will be nicer in this release,
and future releases.