#742307 xserver-xorg-video-radeon: Radeon HD 6570 ("Turks") - severe display corruption esp. after boot

Package:
xserver-xorg-video-radeon
Source:
xserver-xorg-video-ati
Description:
X.Org X server -- AMD/ATI Radeon display driver
Submitter:
Benjamin Moody
Date:
2014-08-13 04:48:04 UTC
Severity:
important
#742307#5
Date:
2014-03-22 05:05:46 UTC
From:
To:
Dear Maintainer,

I have a Radeon HD 6570 card manufactured by XFX.  I'm having multiple
problems with this card, some of which are probably kernel-related
rather than X-related.

I'm using the stable kernel and Xorg, as you can see below, but I've
also tried the X server and drivers from testing (xserver-xorg-core
1.15.0-2, xserver-xorg-video-radeon 7.3.0-1+b1), with the same
results.

 - Disabling KMS (radeon.modeset=0) and using the "vesa" Xorg driver
   seems to work perfectly.  (Obviously no hardware acceleration.)

 - If I enable KMS but don't start X, the screen is corrupted (a
   pattern of wrongly colored pixels in each 64-pixel-wide column.)
   The corruption is annoying, but consistent (it even looks the same
   from one boot to the next, although I haven't examined it closely.)

   See http://i.imgur.com/NxwoaUP.jpg for an example - sorry about the
   poor quality, and it's uglier than the picture makes it look.

 - The same effect occurs if I use X with the "fbdev" driver.  In this
   case I can take a screenshot, and the corruption is not visible in
   the image file; from this I gather that X's internal memory is
   perfectly fine and the corruption is entirely on the display side.

 - If I use KMS and the "radeon" driver:

    - When I start X for the first time after booting, the screen is
      complete garbage.  It is filled with either (apparently) white
      noise, or a scrambled version of whatever was on the screen
      before I rebooted.

      Usually, the mouse cursor is displayed; I can move the cursor
      around, and I can use Ctrl-Alt-Backspace to kill the server.
      However, I can't tell if the server is responding to any input
      beyond that.  Every few seconds, the screen briefly turns black
      then reappears.

      The server log shows a number of error messages along the lines
      of "EQ overflowing" (see the second copy of Xorg.0.log below.)

    - After killing the X server, the console appears fine (the
      previous corruption has disappeared.)

    - When I start X for the second time, occasionally it works
      correctly.  More often, I see similar results to the above, and
      have to kill the server again.

    - When I start X for the *third* time, everything seems to work
      correctly (including accelerated GL and Xv, although I haven't
      tested them thoroughly.)

So it appears that there is some sort of initialization that ought to
be done by the kernel, but is not being done until the X driver is
started.

Furthermore, there's some additional initialization needed for the X
driver itself to work, which for some reason only happens after
starting & stopping X repeatedly.

#742307#10
Date:
2014-04-07 01:09:40 UTC
From:
To:
Is this still an issue with a newer kernel?  IIRC, this issue was
fixed a while ago.

Alex

#742307#15
Date:
2014-04-07 01:09:40 UTC
From:
To:
Is this still an issue with a newer kernel?  IIRC, this issue was
fixed a while ago.

Alex

#742307#20
Date:
2014-04-09 02:26:49 UTC
From:
To:
Tested with kernel 3.13-0.bpo.1-amd64.  The same problem occurs except
that Ctrl-Alt-Backspace doesn't work either.

I also noticed that the newer kernel wanted an additional firmware
file ('radeon/TURKS_smc.bin') so I upgraded firmware-linux-nonfree to
0.41~bpo70+1.  That also made no difference.

Benjamin

#742307#25
Date:
2014-08-13 04:46:00 UTC
From:
To:
To follow up on this issue:

Another person who was having similar problems contacted me privately
(thank you!) and informed me that adding "radeon.dpm=1" to the kernel
command line seems to fix the problem.

I've done so, and it now seems to be working perfectly with kernel
3.13.10-1~bpo70+1.

However:

 - the stable kernel is still broken, as it doesn't support the
"radeon.dpm" option (and I have no idea how hard it would be to
backport);

 - the backports kernel is broken, too, since dpm is not enabled by
default for this card.

Benjamin