Hi !

I have some need that I'm not sure how to implement cleanly.

The problem is related to machines like the CRT iMacs (or eMacs). Those
machines have a built-in monitor that is driven by a weird chip called
"IVAD" (or "VCP" on older models) that is available via a motherboard
i2c bus (not the video card's i2c bus). They can only deal with a fixed
set of modes that cannot be obtained via DDC.

Currently, setting up a list of appropriate modelines can be done by
whatever distribution "config" tool, that is not my immediate problem
(though it would be possible to imagine some way to provide a special
EDID block to XFree based on detecting the machine type).

The problem is that this "IVAD" cirtuit also controls the geometry
and brightness of the screen, and should be configured properly after
each mode setting. It has a EEPROM containing geometry settings for
each of the supported modes, and upon mode change, we are supposed
to "apply" the proper sets of geometry settings.

I'm wondering how to "hook" something cleanly in XFree here. In order
to not be Linux-specific, I'm thinking about moving the actual control
of the IVAD chip to some userland tool (so the tool can be
re-implemented for *BSDs, as whatever mecanism I make for accessing
the motherboard i2c busses will be OS-specific).

So what I would need would be some way for XFree to launch some kind
of "helper" (app or script) upon mode change, providing as parameters
the ID (PCI ID in my case) of the card and the modeline beeing applied.

Ideally, I would need one call before changing the mode and one call
after so I can cleanly turn off the IVAD during the actual mode change.

Do this look feasible to you ? Makes any sense ?

I don't know if XFree currently provides any "generic" way to call
external tools (ala "system()") that is not OS-specific, though it
would probably be easy to add some abstraction and implement it in
the OS-specific part for OSes interested.

Also, would this have to be called in each driver or does it make
sense to have some core code call it before/after calling the
driver to set the mode ?

Regards,
Ben.


_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel

Reply via email to