On 5 Oct 2001, Kjetil Torgrim Homme wrote:

> [Dr Andrew C Aitchison]
>
> Thank you for your work in this area!
>
> >   I've assumed that the config file always knows what it is doing.
>
> Yes, but the X server should be as self-configuring as possible.  The
> question is "what's possible?" :-)
>
> >   With this patch, leaving this values out of the monitor section is
> >   allowed, but it does mean that the server may behave differently
> >   if the monitor is powered down when the server starts up.
>
> Duh!  I didn't think of that.  A state file containing the last DDC
> results is one possible kluge.  Can the X server notice when the
> screen is turned on?  I guess polling once a second is good enough.

This would definitely have to be an advanced and optional feature.
Some people don't like DDC since it is reported to crash or lock some
systems (although I don't have details). Attempting to get DDC info from
a monitor once upsets them, getting it every second would be unacceptable.

Lots of laptops require delicate tweaking to get an external monitor
running either with or instead of the built-in panel. For example mine
allows he picture to go to the internel screen, the external, or both,
but I have to use function key sequences which go to BIOS; we don't have
the documentation to do this through the X server.
IIRC I can use refresh rates on the external monitor which do not work in
the internal screen, but the chip can only generate one refresh rate at a
time. The panel doesn't provide DDC - any DDC results must be from the
external monitor. I also have TV out, but I'd be surprised if the machine
could detect that a TV was connected (although it might be possible).
I'd be much happier configuring the interaction of all this manually than
trusting an auto-probing setup.

The DDC info is available to clients through properties of the root window
- usually XFree86_DDC_EDID1_RAWDATA. Try
        xprop -root 8x XFree86_DDC_EDID1_RAWDATA
Theoretically you might have XFree86_DDC_EDID2_RAWDATA instead,
if the monitor provided a different sort of data, but that code has never
been tested and the EDID2 standard seems to be frozen, whilst the EDID1
standard has been updated and appears to be alive and well.
Currently this property is only built at start up.

> How hard is it to reprogram the video card to change the refresh rate?
> It seems to me the code is all there, we only need to choose modelines
> while running, not just on start up.  (The virtual resolution will
> need to be static during these changes.)

xvidtune does this via XFree86-VidModeExtension.
If we extended this extension to update the XFree86_DDC_EDID1_RAWDATA
property on demand you could write a client which looked for a
different monitor every few seconds and changed modelines as neccessary.
There are non-X tools to probe the DDC information, but I'd expect
that running some of those on some systems whilst the X server is active
would cause problems, since the hardware isn't always designed to
be accessed by two programs at the same time.

-- 
Dr. Andrew C. Aitchison         Computer Officer, DPMMS, Cambridge
[EMAIL PROTECTED]   http://www.dpmms.cam.ac.uk/~werdna

_______________________________________________
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert

Reply via email to