New monitor, pink vertical line and crazy screen resolution with Evergreen + KMS

Dave Witbrodt dawitbro at sbcglobal.net
Wed Mar 3 18:52:49 PST 2010


James Cloos wrote:
> I'd bet that if you were to tile something like this pbm (written
> directly info the mail buffer; I think I have the syntax correct):
> 
> P1
> 16 4
> 1010101010101010
> 0101010101010101
> 1010101010101010
> 0101010101010101
> 
> and were to look at it under magnification, you'd find that a couple of
> the columns were missing.  Ie, that the monitor had squeezed the 1920
> columns into 1918.

I can't check it right now.  I'll put it on my to-do list for the next 
time I have the HD 5750 installed.  I'm using the HD 4850 until some new 
support appears in radeon or the DRM.

Because the monitor itself is reporting a 1922 horizontal mode but only 
has 1920 physical pixels across, I would expect that the vertical line 
takes up 2 pixels per row, 1918 pixels follow those on each row, and 2 
more (to complete the 1920 mode being fed to the monitor by Linux) 
disappear off the end of each row.  This is pure speculation, of course.


> It probably can accept a range of resolutions -- just like analoge
> monitors of yore -- and scales them to fit its hw res.

It is certainly designed to do scaling, but I assumed that only specific 
scaled modes were allowed -- those listed in the monitor's manual.  I 
would have expected any mode involving more pixels (horizontally and/or 
vertically) than can be physically displayed to be rejected, most likely 
producing a black screen and possibly an on-screen display message from 
the monitor about an unsupported mode.  I believe I've seen some LCDs 
behave that way, though not recently, and never one that I owned.


> Even with KMS, I do still see a Printing probed modes for output
> section in my Xorg.0.log, but I see that the gtf(1) modelines do
> not match those, so comparing the ones from your monitor to gtf
> wouldn't be as illustrative as I had assumed.

Well, since the problem occurs in the DRM when KMS/radeondrmfb takes 
over from the BIOS VGA mode, I'm not sure that there's anything 
interesting for us to look at in Xorg.0.log.  My lovely pink line is 
there when I boot to a runlevel with X disabled; it goes away if I 
disable KMS, and rely solely on UMS/radeon modesetting.

The pink line is not caused by X.  It is caused by the HDMI connector 
support in DRM+KMS for Evergreen.


> Perhaps the pink or purple stripe is the (intended) sync pulse.
> 
> Maybe there is a bug in the atom bios which the driver needs to work
> around?

Sync pulse:  yes, like an error in the Evergreen (kernel) mode setting code.

AtomBIOS:  if a bug is present there, then ATI already has a solution -- 
Vista is able to handle both my DVI-to-HDMI converter cable and the 
regular HDMI cable without the pink line.  I am not knowledgeable about 
  hardware or driver software in general, but this tells me that the 
hardware (video card, monitor, and cables) are in good working order, 
and the problem must lie in the software support.  If AtomBIOS is 
problematic on my HD 5750, then ATI already knows how to work around the 
problem in their Windows drivers.

Since we have seen (on this mailing list) another user reporting the 
same vertical line on a different Evergreen card -- mine is HD 5750, his 
is HD 5870 -- then I think there is some simple programming error in the 
Evergreen KMS support.

My whole purpose in buying the card was to help the open source ATI 
driver developers with debugging.  I waited for several months before 
any indication of open source Evergreen support appeared.  The very 
first time Phoronix mentioned some Evergreen support was appearing, I 
immediately bought the fastest fanless Evergreen card available.  (I 
hate fan noise, and this card is totally silent! :)

I thought that since I had been spending a lot of time since November 
learning how to package upstream sources for my own Debian system, 
trying to get my (fanless) HD 4850 to work with 2D + 3D acceleration and 
KMS, I should put those newly-learned skills to work helping out with 
support for the next generation of hardware coming out.  I make my own 
DEBs, use 'git' to obtain new code from upstream, I modify code with 
patches, etc.  I hope to use these minimal skills to help with the 
Evergreen testing efforts.

I am not yet able to contribute code.  In fact, I've made no attempt to 
look at any radeon or DRM code, except for merging drm-radeon-testing 
into 2.6.33 when it was released (and fixing a few merge conflicts). 
Not being able hack the code (for lack of familiarity, and for lack of 
time to gain familiarity) is the most frustrating thing for me at the 
moment.  The fact that Evergreen support is currently featureless (and 
slightly broken on HDMI) doesn't bother me at all.  In fact, at this 
point I expected much more brokenness than this!  I just want to make 
myself available to help!

Any developers working on open source Evergreen support should feel free 
to ask me to test kernel patches, radeon patches, or (much later, no 
doubt) Mesa patches.  Anything I'm able to do, or that I'm able to 
_learn_ to do, I'll do.


Dave W.



More information about the xorg-driver-ati mailing list