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