RandR 1.3 additions?

Jesse Barnes jbarnes at virtuousgeek.org
Mon Jan 21 23:29:49 PST 2008


On Monday, January 21, 2008 11:04 pm 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.  On a lot of hardware you can have encoders like
> DACs that are shared between multiple physical connectors (you might
> have a DAC shared between a TV port and a DVI-I port). The other case
> would be ports with more than one encoder associated with them (DVI-I
> for example: DAC and TMDS).  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.)?  For example on a card with
> two DVI-I ports and  a TV port would you expose two DACs and two TMDS
> outputs or two DVI ports and a TV port?  I would argue that connectors
> are a better choice as that's what the user sees.
>
> crtc -> encoder -> output
>
> CRTC
> crtc {
>     possible_encoders;
> }
>
> DAC, TMDS, LVDS
> encoder {
>     crtc;
>     possible_crtcs;
>     output;
>     possible_outputs;
> }
>
> DVI-I, VGA, TV
> output {
>     crtc;
>     encoder;
>     possible_encoders;
>     monitor;
> }
>
> the outputs would still handle the detect() functionality, and they
> would choose the encoder.  A driver that didn't want to use the
> encoders abstraction would still work so drivers could gradually
> update or not.
>
> Then you could do things like xrandr --output DVI-0 --crtc 0 --encoder
> DAC-0 --mode 1280x1024
>
> DVI-0 connected 1280x1024+1280+0 (0x4f) normal (normal left inverted
> right x axis y axis) 376mm x 301mm
>         Identifier: 0x4e
>         Timestamp:  27142
>         Subpixel:   horizontal rgb
>         Clones:
>         CRTC:       1
>         CRTCs:      0 1
>         ENCODER: TMDS-0
>         ENCODERS: TMDS-0 DAC-1
>
> Thoughts?

Hm yeah, sounds interesting.  Seems like a good addition.  So would the server 
have any visibility into the encoder scheme?  I guess not, though it would 
probably make sense to have a server provided encoder structure so that the 
drivers don't have to invent one themselves...

Jesse



More information about the xorg mailing list