RandR 1.3 additions?

Dirk Thierbach dthierbach at gmx.de
Tue Jan 22 00:10:19 PST 2008


On Tue, Jan 22, 2008 at 02:04:11AM -0500, Alex Deucher wrote:
> Jesse those seem reasonable to me.  It got me thinking again about a
> few other things that would improve randr.  I think we need an
> additional level of abstraction for encoders and connectors rather
> than just outputs.  

Yes, please. I would suggest to go one step further, and generalize
the whole approach: Allow a "network" (usually in form of a DAG) of
"blocks" (which may be DACs, scalers, various encoders). This network
essentially connects (part of) a framebuffer to an output. The driver
knows about its topology, and allows to set up such paths (allowing
sharing when it is possible, so you can for example use one CRTC to
drive several outputs, or the other way round, you can merge a scaled
video overlay with a framebuffer image, or you can support special
configurations, like on the Riva TNT, where you can use the video
overlay as a second-pseudo-head to drive the TV output independently
of the CRTC, which at the same time drives the monitor).

Every such block can have "properties", which are collected along an
active path. The user can adjust some of them, so there will be a
universal way to adjust say, brightness, contrast etc. or more unusual
ones like "digital vibrance" in the way the hardware supports on that
path.

Also, every such block can get parameters, directly or indirectly,
from the modeline (which would also need to be generalized). Then we
would finally have enough infrastructure to support TV encoders on
external chips (some of which need a lot of paramaters which cannot be
easily calculated from the modeline as it is now).

> The question is, do we want to expose physical connectors (TV port,
> DVI-I port, DVI-D port, VGA port, etc.)  to users or encoders (DAC,
> TMDS, etc.)?

Expose both, in a way that makes sense to the user. Also, provide
the user with some default paths, so he can just say "turn on the
monitor", "turn on both both monitor and TV", "turn on only TV".

Then both the average user who just wants it to work, and the
expert user who may want to tweak things as he likes best is happy.

- Dirk



More information about the xorg mailing list