Bug 93701

Summary: radeon: two "empty" pixel lines on left side of screen, rest of screen gets slightly squished
Product: Drivers Reporter: Frederik vom Hofe (frederik.hofe)
Component: Video(DRI - non Intel)Assignee: drivers_video-dri
Severity: normal CC: adf.lists, alexdeucher, jwrdegoede
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 4.0-rc1 Tree: Mainline
Regression: No
Attachments: dmesg
dmesg with v4.2-rc1 and 290
Xorg.0.log with v4.2-rc1 and 290
possible fix
possible fix
dmesg with v4.2-rc3 + 0001-drm-radeon-rework-audio-detect-v2.patch
possible fix
dmesg with v4.2-rc3 + 0001-drm-radeon-rework-audio-detect-v3.patch
possible fix
[PATCH for 4.1] drm/radeon: rework audio detect (v4)

Description Frederik vom Hofe 2015-02-23 17:27:28 UTC
This happens in the current 4.0-rc1. 3.19 does not show this.

Basicly it looks like my resolution of 1920x1080 gets blitted into 1918,1080 with linear filtering somewhere before it gets on my screen.

When I take a screenshot with gimp, I get a normal 1920x1080 image without the defect.

I use a Radeon 7870 (Pitcairn) -> HDMI -> Samsung S22A350H

Also I use the padoka PPA for bleeding edge mesa/llvm drivers.

glxinfo|grep OpenGL
OpenGL vendor string: X.Org
OpenGL renderer string: Gallium 0.4 on AMD PITCAIRN
OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.6.0-devel (padoka PPA)
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 10.6.0-devel (padoka PPA)
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 10.6.0-devel (padoka PPA)
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:
Comment 1 Alex Deucher 2015-02-23 17:30:55 UTC
Can you bisect?  Does disabling audio fix it?
Comment 2 Alex Deucher 2015-02-23 17:31:11 UTC
Please attach your xorg log and dmesg output.
Comment 3 Frederik vom Hofe 2015-02-23 17:38:52 UTC
Created attachment 168061 [details]
Comment 4 Frederik vom Hofe 2015-02-23 17:39:24 UTC
Created attachment 168071 [details]
Comment 5 Frederik vom Hofe 2015-02-23 17:48:34 UTC
Booting with radeon.audio=0 removes this phenomena.
Comment 7 Andy Furniss 2015-02-23 22:01:57 UTC
(In reply to Frederik vom Hofe from comment #6)
> I bisected it to this change:
> http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/patch/
> ?id=baa7d8e451f030c049f83f943b9995620d6d6bd3

FWIW when I hit this issue I could "mend" it without using radeon.audio=0 - all I had to do was use xrandr to do something that refreshed the display eg. off then auto.
Comment 8 Frederik vom Hofe 2015-02-23 22:22:08 UTC
Trying this did not fix it for me:
xrandr --output HDMI-0 --off; xrandr --output HDMI-0 --auto
Comment 9 Andy Furniss 2015-02-24 00:24:47 UTC
Oh, OK, my testcase is a bit different from yours in that I bring up HDMI as a second screen when in X. My symptoms also slightly different in that I get a 2 pix pink line on the left outside display area and 2 pix on right are missing. Maybe different displays behave differently. 

I bisected to the same commit as you.
Comment 10 Alex Deucher 2015-02-27 16:20:20 UTC
Do the patches here:
Comment 11 Frederik vom Hofe 2015-02-27 18:15:58 UTC
That patchset makes no difference for me.
Comment 12 Alex Deucher 2015-02-27 22:38:30 UTC
Can you try the top 7 patches on this branch?
Comment 13 Frederik vom Hofe 2015-02-28 00:12:52 UTC
The last patch (http://cgit.freedesktop.org/~agd5f/linux/patch/?id=71560b1f75e91b0eafdd8a11fb6f4e4c492f534b) does not work on 4.0-rc1:

patch -p1 < ../patchset-4.0-rc1-hdmi_2/7.patch 
patching file drivers/gpu/drm/radeon/atombios_encoders.c
Hunk #1 succeeded at 1622 (offset -4 lines).
Hunk #2 FAILED at 1721.
Hunk #3 succeeded at 1730 (offset -6 lines).
Hunk #4 FAILED at 2178.
Hunk #5 succeeded at 2196 (offset -9 lines).
2 out of 5 hunks FAILED -- saving rejects to file drivers/gpu/drm/radeon/atombios_encoders.c.rej

Tried just the first 6 patches, but no difference on the screen.
Comment 14 Frederik vom Hofe 2015-03-04 13:03:24 UTC
Ok I got the git magic working.
But the audio-fixes branch still does not fix the issue for me.
Comment 15 Alex Deucher 2015-03-31 15:49:41 UTC
I've posted an updated audio-fixes branch that may help:
Comment 16 Frederik vom Hofe 2015-03-31 17:34:24 UTC
Tested the patch with v4.0rc6, makes no difference for me.
Comment 18 Frederik vom Hofe 2015-03-31 19:15:45 UTC
Yes, I merged it via git.

Basicly this is all I have done:
git pull
git checkout v4.0-rc6
git checkout -b v4.0-rc6-hdmi-patch
git remote add agd5f git://people.freedesktop.org/~agd5f/linux
git fetch agd5f
git merge agd5f/audio-fixes
Comment 19 Alex Deucher 2015-04-07 14:24:48 UTC
Updated patches here:
Comment 20 Frederik vom Hofe 2015-04-07 16:23:03 UTC
That fixes it for me.
Comment 21 Frederik vom Hofe 2015-07-07 11:24:52 UTC
Just got a 290 that shows the same phenomena since patch revert.

Revert "drm/radeon: only mark audio as connected if the monitor supports it (v3)"

Bisected v4.1-rc5 to v4.1-rc6. Sinc v4.2-rc1 still shows the lines.

Also attaching new dmesg and Xorg log, just in case.
Comment 22 Frederik vom Hofe 2015-07-07 11:25:45 UTC
Created attachment 182061 [details]
dmesg with v4.2-rc1 and 290
Comment 23 Frederik vom Hofe 2015-07-07 11:26:05 UTC
Created attachment 182071 [details]
Xorg.0.log with v4.2-rc1 and 290
Comment 24 Alex Deucher 2015-07-23 14:32:29 UTC
Created attachment 183471 [details]
possible fix

Does this patch fix the issue?
Comment 25 Frederik vom Hofe 2015-07-23 16:11:36 UTC
With v4.2-rc3+patch I get a black screen when the console resolution changes the first time. And my screen power led blinks like it gets no hdmi signal.
So even before X starts and the pink lines show up.

alt+ctrl+del does not work. But reisub does.
I have no second PC on hand right now to look at it via ssh. But that can be arranged if you need to see the dmesg output.
Comment 26 Alex Deucher 2015-07-23 19:03:36 UTC
Created attachment 183491 [details]
possible fix

Updated patch.
Comment 27 Frederik vom Hofe 2015-07-23 20:26:53 UTC
Now the same black screen happens when X starts.
Comment 28 Alex Deucher 2015-07-23 20:35:45 UTC
can you attach the kernel log from the black screen?
Comment 29 Alex Deucher 2015-07-23 20:35:53 UTC
dmesg output.
Comment 30 Frederik vom Hofe 2015-07-23 21:29:30 UTC
Created attachment 183511 [details]
dmesg with v4.2-rc3 + 0001-drm-radeon-rework-audio-detect-v2.patch

dmesg with v4.2-rc3 + 0001-drm-radeon-rework-audio-detect-v2.patch
Comment 31 Alex Deucher 2015-07-23 22:19:31 UTC
Created attachment 183551 [details]
possible fix

Updated patch.
Comment 32 Frederik vom Hofe 2015-07-24 03:39:43 UTC
Created attachment 183561 [details]
dmesg with v4.2-rc3 + 0001-drm-radeon-rework-audio-detect-v3.patch

looks the same like v2
Comment 33 Alex Deucher 2015-07-24 04:20:36 UTC
Created attachment 183571 [details]
possible fix

Fix stupid typo.
Comment 34 Frederik vom Hofe 2015-07-24 09:57:34 UTC
v4 works for me. Boots fine and no pink lines anymore.
Comment 35 Hans de Goede 2015-07-24 13:33:55 UTC
Created attachment 183611 [details]
[PATCH for 4.1] drm/radeon: rework audio detect (v4)

Here is the "possible fix" patch backported to 4.1 (this needed some manual fixups)

I've started a Fedora kernel scratch build with this patch and asked a couple of Fedora users who are also having pink line issues to test the patch, see:


Note sofar the 4.1 version has only been compile tested!
Comment 36 Hans de Goede 2015-07-24 16:17:40 UTC

I just got feedback from one of the reporters of:

He confirms that (the 4.1 backport) of the suggested fix works.


Comment 37 Frederik vom Hofe 2015-07-25 15:16:44 UTC
The patch for 4.1 works for me, too.
Comment 38 Hans de Goede 2015-08-19 08:18:08 UTC
Ping, what is the status on this ? With 2 positive test results for the patch it would be good to get this into 4.1.x ...
Comment 40 Hans de Goede 2015-08-19 13:58:12 UTC
(In reply to Alex Deucher from comment #39)
> Already in 4.2:
> http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/
> ?id=d0ea397e22f9ad0113c1dbdaab14eded050472eb
> and 4.1:
> http://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/
> ?h=linux-4.1.y&id=6f9dbb525abc7b21b76bdee6558b6e706425d1a8

Thanks, that is great, closing this bug then.