Bug 29255 - DisplayPort output distorted
Summary: DisplayPort output distorted
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/Radeon (show other bugs)
Version: 7.5 (2009.10)
Hardware: x86-64 (AMD64) Linux (All)
: medium major
Assignee: xf86-video-ati maintainers
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-07-26 00:00 UTC by Andreas Demmer
Modified: 2011-10-05 12:55 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
distortions on external display (893.11 KB, image/jpeg)
2010-07-26 00:00 UTC, Andreas Demmer
no flags Details
dmesg output (63.13 KB, text/plain)
2010-07-26 22:53 UTC, Andreas Demmer
no flags Details
Xorg logfile (47.77 KB, patch)
2010-07-26 22:54 UTC, Andreas Demmer
no flags Details | Splinter Review
dmesg output for jgeisler (69.49 KB, text/plain)
2010-08-27 07:37 UTC, Jonathan Geisler
no flags Details
Xorg log for jgeisler (28.09 KB, text/plain)
2010-08-27 07:40 UTC, Jonathan Geisler
no flags Details
vbios for jgeisler (60.00 KB, text/plain)
2010-08-27 11:47 UTC, Jonathan Geisler
no flags Details
fix ddc line for VGA (2.31 KB, patch)
2010-08-27 13:06 UTC, Alex Deucher
no flags Details | Splinter Review
drm-fixes kernel logfile for jgeisler (436.58 KB, text/plain)
2010-09-03 12:43 UTC, Jonathan Geisler
no flags Details

Description Andreas Demmer 2010-07-26 00:00:57 UTC
Created attachment 37394 [details]
distortions on external display

I have a notebook with switchable graphics (discrete ATI Mobility Radeon HD 
5650 and integrated Intel Arrandale). The DisplayPort only works with the 
discrete adapter but this limitation also exists in Windows, so I guess the 
DisplayPort is hard-wired to the discrete card.

If I use the radeon driver, it detects whenever I plug something into the 
DisplayPort. E.g. I have a DisplayPort-to-VGA adapter (for projectors) and 
test it with my LCD monitor that luckily has a VGA input, too. xrandr detects 
the connection and suggests the correct resolution and frequency (1680x1050 
@60Hz). But the image is totally distorted. It looks like a old tube monitor 
that runs a too high frequency, you can see this on the attached screenshot. What you cannot see, is that the distortions move quite fast and are not static.

I switched back to 1024x768@60Hz but the problem persists and the optional 75.1Hz do not make any difference, too.

The same settings work fine with Windows, so I suspect this issue to be caused by the radeon driver.

Is there any way to see what's going wrong and maybe fix this?

- Kernel 2.6.34
- XOrg 7.5
- xf86-driver-ati  6.13.0
Comment 1 Andreas Demmer 2010-07-26 00:08:57 UTC
I forgot to mention that even with the distorions, you can see that the output shows a clone of the desktop how it is supposed to be. I can see this by the colors on the external display. Compare the attached screenshot to http://desk08.customize.org/wallpaper/54, which is my wallpaper.
Comment 2 Alex Deucher 2010-07-26 08:05:10 UTC
Please attach your xorg log and dmesg output.
Comment 3 Andreas Demmer 2010-07-26 22:53:54 UTC
Created attachment 37407 [details]
dmesg output
Comment 4 Andreas Demmer 2010-07-26 22:54:27 UTC
Created attachment 37408 [details] [review]
Xorg logfile
Comment 5 Andreas Demmer 2010-07-26 22:57:35 UTC
I attached both dmesg output and Xorg logfile. Since my system comes with hybrid graphics, I have blacklisted the radeon driver in order to see the console (and hot have radeon and i915 conflicting each other). Then I booted this way:

1. plug external monitor (to make sure it's not a hotplug issue)
2. turn system on, boot to runlevel 3
3. load radeon module
4. use vga_switcheroo to switch to ATI card
5. turn Intel card off
6. switch to runlevel 5 and start X
Comment 6 Andreas Demmer 2010-08-01 23:41:49 UTC
Any news on this?
Comment 7 Alex Deucher 2010-08-02 07:31:00 UTC
Is there any way to boot with the ATI card as the primary?  There should be a bios option.
Comment 8 Andreas Demmer 2010-08-02 07:40:22 UTC
(In reply to comment #7)
> Is there any way to boot with the ATI card as the primary?  There should be a
> bios option.

Unfortunally, the Envy 14 does not provide such a BIOS option. I already filed a complainment about this fact to HP but I do not really expect something to happen soon. :(
Comment 9 Andreas Demmer 2010-08-06 02:40:53 UTC
Any idea or anything I could test?
Comment 10 Andreas Demmer 2010-08-24 07:46:20 UTC
Any news on this?
Comment 11 Jonathan Geisler 2010-08-27 07:34:50 UTC
I have a similar issue with my radeon card.  I can give some additional information because I only have the radeon card on my machine and am able to boot with the displayport as the primary output.  My corruption occurs in two situations:

    1.  When resuming from suspend
    2.  When hotplugging the monitor after booting only using the laptop display.

Note, I have the same problem using the VGA adapter, so I don't think this is a display port specific issue.  My laptop is an HP Elitebook 8540w with an HD Mobility Radeon 5800 series card.  I'll attach my dmesg and Xorg logfile as well.
Comment 12 Jonathan Geisler 2010-08-27 07:37:47 UTC
Created attachment 38221 [details]
dmesg output for jgeisler
Comment 13 Jonathan Geisler 2010-08-27 07:40:30 UTC
Created attachment 38222 [details]
Xorg log for jgeisler
Comment 14 Alex Deucher 2010-08-27 11:06:46 UTC
Do things work any better on Dave's drm-fixes branch:
http://git.kernel.org/?p=linux/kernel/git/airlied/drm-2.6.git;a=shortlog;h=refs/heads/drm-fixes

There are a number of evergreen related display fixes there.

Also, Jonathan, can you attach a copy of your vbios?  As per your log:

[    1.975933] [drm] Connector 4:
[    1.976127] [drm]   VGA
[    1.976318] [drm]   DDC: no ddc bus - possible BIOS bug - please report to xorg-driver-ati@lists.x.org
[    1.976627] [drm]   Encoders:
[    1.976818] [drm]     CRT1: INTERNAL_KLDSCP_DAC1

it looks like there is a bios bug there that may be part of the problem in your case.  To access your vbios (as root):

cd /sys/bus/pci/devices/<pci bus id>
echo 1 > rom
cat rom > /tmp/vbios.rom
echo 0 > rom
Comment 15 Jonathan Geisler 2010-08-27 11:47:01 UTC
Created attachment 38228 [details]
vbios for jgeisler
Comment 16 Jonathan Geisler 2010-08-27 11:48:17 UTC
I've attached the vbios as requested and will report back on the updated kernel version soon.
Comment 17 Alex Deucher 2010-08-27 13:06:11 UTC
Created attachment 38229 [details] [review]
fix ddc line for VGA

This patch fixes the ddc line for VGA.
Comment 18 Alex Deucher 2010-08-27 14:48:35 UTC
To use Dave's drm-fixes branch you have to check it out.  The master branch on his repo is very old.  So after you clone the repo, you need to:
git checkout -b drm-fixes origin/drm-fixes
Comment 19 Jonathan Geisler 2010-08-30 05:17:19 UTC
I've run the drm-fixes kernel and the symptoms remain the same.

Additionally, I can confirm that the patch from Alex removes the error message.

I've tried to run the kernel with and without the patch, but there is no visible difference in the behavior of the output.
Comment 20 Jonathan Geisler 2010-09-03 12:43:15 UTC
Created attachment 38408 [details]
drm-fixes kernel logfile for jgeisler
Comment 21 Jonathan Geisler 2010-09-03 12:44:27 UTC
I've added an attachment that includes the kernel log file when drm.debug=1 is enabled on boot with the drm-fixes kernel.
Comment 22 James Brechtel 2010-09-19 06:21:19 UTC
Hi, I have the same problem on my Envy 14, but thanks to a tip from the helpful folks in #radeon on FreeNode I found that if I turn off my laptop panel with xrandr then my external display immediately becomes ungarbled.

Specifically, the command:

xrandr --output LVDS-1 --off

(and then, because it starts in mirror mode with a non-native resolution of my monitor)

xrandr --output DisplayPort-0 --auto



I'm using Arch and am selecting the ATI card via vgaswitcheroo first.  Here's my uname-a


Linux bender 2.6.35-ARCH #1 SMP PREEMPT Fri Aug 27 17:14:28 CEST 2010 x86_64 Intel(R) Core(TM) i5 CPU M 450 @ 2.40GHz GenuineIntel GNU/Linux

Package versions:

local/xorg-server 1.8.1.902-1
local/xf86-video-ati 6.13.1-1 (xorg-video-drivers)
local/ati-dri 7.8.2-1

Hope this helps anyone who may find this trade-off suitable until a proper fix is found.
Comment 23 Andreas Demmer 2010-09-19 23:43:56 UTC
I just tried to switch the internal LVDS off. Instantly, the external display shows a correct picture. At least a way to make use of a projector.

But running the internal and an external display at the same time still needs to be fixed.
Comment 24 Jonathan Geisler 2010-09-20 11:22:38 UTC
I can also confirm that doing the workaround allows me to use the external device exclusive to my laptop screen--but not both at the same time.  This is a big improvement, but not the complete solution.
Comment 25 Alex Deucher 2010-09-25 22:08:26 UTC
Does this set of kernel patches help (against recent 2.6.36):
http://people.freedesktop.org/~agd5f/pll_fixes/
Comment 26 Jonathan Geisler 2010-09-28 20:15:39 UTC
(In reply to comment #25)
> Does this set of kernel patches help (against recent 2.6.36):
> http://people.freedesktop.org/~agd5f/pll_fixes/

No.  I see the same behavior with these patches.
Comment 27 Alex Deucher 2011-10-05 06:15:17 UTC
Can you try a newer kernel?  3.0 or 3.1?  If not, please try this patch as well:
http://lists.freedesktop.org/archives/dri-devel/2011-October/014993.html
Comment 28 Jonathan Geisler 2011-10-05 11:57:55 UTC
I am now able to switch adapters without a problem.  I forget which kernel this started working, but I am currently running 2.6.39-gentoo-r3 without issues.  As far as I am concerned this bug has been fixed and I forgot to note that improvement on the bug.


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.