Bug 75649

Summary: Glitchy output using only HDMI on laptop with AMD Mobility Radeon HD 3450/3470
Product: DRI Reporter: tderensis
Component: DRM/RadeonAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED MOVED QA Contact:
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Xorg log
none
dmesg output none

Description tderensis 2014-03-01 19:59:58 UTC
Screen flickering and horizontal black/white lines mixed in with output on redraw. This only happens when using HDMI output to a single external 1920x1080 monitor and not when using dual monitors or the single laptop screen. If the screen is static or I move the mouse over a single color background, no glitching happens. It seems that the more that needs to get redrawn in the frame, the worse it gets.

I'm not sure how long this has been a problem because I rarely use a single monitor. I'll report back when mesa 10.1 is released on Arch.

System info from Phoronix Test Suite:
Hardware:
Processor: Intel Core 2 Duo P8400 @ 2.27GHz (2 Cores), Motherboard: Sony VAIO, Chipset: Intel Mobile 4 MCH + ICH9M, Memory: 3072MB, Disk: 320GB Western Digital WD3200BEKT-7, Graphics: AMD Mobility Radeon HD 3450/3470 256MB (680/800MHz), Audio: Realtek ALC262, Monitor: DELL ST2220L, Network: Marvell 88E8055 PCI-E Gigabit + Qualcomm Atheros AR928X Wireless

Software:
OS: Linux, Kernel: 3.13.5-1-ARCH (x86_64), Desktop: Cinnamon 2.0.14, Display Server: X Server 1.15.0, Display Driver: radeon 7.3.0, OpenGL: 3.1 Mesa 10.0.3 Gallium 0.4, Compiler: GCC 4.8.2 20140206 + Clang 3.4 + LLVM 3.4, File-System: ext4, Screen Resolution: 1920x1080
Comment 1 tderensis 2014-04-15 23:17:12 UTC
Problem persists even when using 3.14 kernel and mesa 10.1 in Arch.

What other information would be useful to assist in debugging this issue?
Comment 2 Alex Deucher 2014-04-15 23:28:03 UTC
Please attach your xorg log and dmesg output.

Does it work any better with a 3.15 kernel from this tree:
http://cgit.freedesktop.org/~deathsimple/linux/log/?h=drm-fixes-3.15-wip
Comment 3 tderensis 2014-04-16 01:01:02 UTC
Created attachment 97429 [details]
Xorg log
Comment 4 tderensis 2014-04-16 01:01:40 UTC
Created attachment 97430 [details]
dmesg output
Comment 5 tderensis 2014-04-16 01:02:23 UTC
Here are the logs. I'll try out the new kernel soon.
Comment 6 Paul Bodenbenner 2014-04-27 11:12:05 UTC
I get the same problems as described before with two different monitors. Using an up-to-date Arch Linux with kernel 3.14 (also tried kernel 3.15rc2) with a hd3470 card. Problem occurs only, if an external monitor is connected at resolution 1920x1080@60Hz in single mode (extended mode makes no problems). Funny enough when using 1920x1080@50Hz in single mode everything seems also fine. By switching back to Catalyst the problem doesn't occur.

Found some similar threads:
https://bugs.launchpad.net/ubuntu/+source/xorg/+bug/1209315
https://bugs.freedesktop.org/show_bug.cgi?id=42621

By disabling color tiling and dpm the phenomenon appears only when switching between modes (monitors on / off). So in this case when starting the laptop with closed lid everything is ok, until switching between modes.
Comment 7 tderensis 2014-07-25 03:36:05 UTC
I can confirm that only switching modes to 1920x1080 causes the issue. The latest I have tested is Arch 3.15.5, Cinnamon desktop, Mesa 10.2.4, and xf86-video-ati 1:7.4.0. Maybe this is an xrandr issue?
Comment 8 tderensis 2014-09-11 01:30:42 UTC
I have been looking in the xf86-video-ati repo at drmmode_display.c and the drmmode_sf86crtc_resize() function but can't find anything so far.

It seems from Paul's comments that the issue may be related to the refresh rate as well. Are there any suggestion as to places to look in the code?
Comment 9 Alex Deucher 2014-09-11 13:42:21 UTC
(In reply to comment #8)
> I have been looking in the xf86-video-ati repo at drmmode_display.c and the
> drmmode_sf86crtc_resize() function but can't find anything so far.
> 
> It seems from Paul's comments that the issue may be related to the refresh
> rate as well. Are there any suggestion as to places to look in the code?

Everything that touches the hw is in the kernel driver.  Does disabling dpm fix the issue?
Comment 10 Alex Deucher 2014-09-11 14:36:23 UTC
If you are using dpm, make sure your ddx has this patch:
http://cgit.freedesktop.org/xorg/driver/xf86-video-ati/commit/?id=c4ae0e2cbcc0e2ebf9f13ee92d59b5120254a1dc
Comment 11 tderensis 2014-09-12 01:33:45 UTC
(In reply to comment #10)
> If you are using dpm, make sure your ddx has this patch:
> http://cgit.freedesktop.org/xorg/driver/xf86-video-ati/commit/
> ?id=c4ae0e2cbcc0e2ebf9f13ee92d59b5120254a1dc

I am using the latest ddx from git. Enabling or disabling dpm using the kernel option radeon.dpm=1 or radeon.dpm=0 does not help. It seems like the more redraws the GPU has to do, the worse things get. For example, sitting at the desktop with nothing moving is fine. Opening chromium, many horizontal lines matching the color of whatever is on the screen begin to flicker on and off.

Is it possible that color tiling is the culprit as described in https://bugs.freedesktop.org/show_bug.cgi?id=42621

His symptoms sound identical (only happens on 1920x1080 resolution, smaller resolutions work).
Comment 12 tderensis 2014-09-12 02:17:53 UTC
OK so I disabled color tiling in my xorg.conf and that worked. Disabling color tiling 2D did not work.

So it seems to be an issue with 1D color tiling and single 1920x1080 resolution monitor at 60Hz refresh rate.

I changed refresh rate to 50Hz using xrandr and that fixed the issue as well (pointed out by Paul previously).
Comment 13 Alex Deucher 2014-09-12 12:52:35 UTC
Does booting with radeon.disp_priority=2 on the kernel command line in grub help?
Comment 14 tderensis 2014-09-12 20:58:11 UTC
(In reply to comment #13)
> Does booting with radeon.disp_priority=2 on the kernel command line in grub
> help?

That fixes it. Thanks.

Do you have any idea why this happens with a single monitor but not a duel setup?
Comment 15 Martin Peres 2019-11-19 08:44:25 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/drm/amd/issues/453.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.