Output order on Radeon X1950 [patch]
jwalt at garni.ch
Tue Oct 21 05:38:38 PDT 2008
I encountered a problem with output order detection in the radeon driver. On
my X1950 card, outputs are mapped like this:
phys. Connector AtomBios-index
Which leads to the situation that merging of outputs reverses the order of
outputs: CRT1 is merged with DFP3, and CRT2 with DFP1, so that outputs are now
ordered like this:
1 DFP1 (+CRT2), named "DVI-1"
0 DFP3 (+CRT1), named "DVI-0"
This makes kdm believe "DVI-1" is the primary display, while fglrx, radeonhd
and Windows all agree on the reverse order. Note that the naming is consistent
between all drivers. Just the order in which the outputs were created using
xf86OutputCreate is wrong.
I have modified the merging code in
RADEONGetATOMConnectorInfoFromBIOSConnectorTable to always use the numerically
smaller index for the merged entry. It doesn't seem terribly elegent to me,
but it is correct -- and works.
Since changing the output order changed the names, now I had:
0 CRT1(+DFP3), named "DVI-1"
1 DFP1(+CRT2), named "DVI-0"
This is the correct order, but disagrees on how the other drivers name the
connectors. So I updated RADEONSetupConnectors to assign names more
intuitively, including HDMI and VGA. It used to be DVI-1/VGA-1/HDMI-1 for the
first (n-1) connectors, and ...-0 for the last, which is only correct for <=2
connectors anyways, and counter-intuitive as well. The new code assigns
DVI-0/1/... (same HDMI/VGA) in order, for almost arbitrary connector counts.
Attached is my patch. Consider it public domain if licensing is an issue.
Please be tolerant with it -- I never worked on an X driver before, so should
I have done any obvious mistakes, feel free to correct them :)
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 6210 bytes
Desc: not available
Url : http://lists.x.org/archives/xorg-driver-ati/attachments/20081021/3d251056/attachment-0001.bin
More information about the xorg-driver-ati