Red Hat Bugzilla – Bug 497070
[kms] radeon RV250 corruption with external display
Last modified: 2009-11-27 05:10:37 EST
Description of problem:
ThinkPad T41 with ATI Radeon RV250 running F11 beta with latest updates
Screen corruption with external displays as follows;
boot-with-external-vga = complete screen corruption on ThinkPad, corruption on external display or "video mode not supported" error on external display.
hotplug-external-vga = works until you try to activate external display, at that moment both screens give total video corruption
boot-with-external-dvi = no picture on DVI, ThinkPad LCD is right-shifted by 1/5 of the screen width (wrapped around), but mouse tracks normal.
hotplug-external-dvi = instant corruption on ThinkPad LCD (background picture is horizontal stripes all over), gdp is able to activate both displays but results in complete corruption of both displays.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. try to use external display with ThinkPad T41
no xorg.conf exists
Even normal boot without external display gives some screen corruption on the LVDS, giving a somewhat corrupted background image (black horizontal stripes), and vertical scroll bars where the bottom part is green.
Created attachment 340691 [details]
Xorg log without external display (baseline)
Created attachment 340692 [details]
xrandr output without external display (baseline)
Created attachment 340693 [details]
Xorg log with external VGA display, attached during boot
Created attachment 340694 [details]
Xorg log with external VGA display hotplugged after boot
Created attachment 340696 [details]
xrandr output with external VGA display attached during boot
Created attachment 340697 [details]
xrandr output with external VGA display hotplugged after boot
Created attachment 340699 [details]
xorg.log with external DVI display attached during boot
Created attachment 340700 [details]
Xorg log with external DVI display hotplugged after boot
Created attachment 340701 [details]
xrandr output with external DVI display attached during boot
Created attachment 340702 [details]
xrandr output with external DVI display hotplugged after boot
Interesting is that the external displays have 0x0 resolution modes, which do not happen on the exact same external display when attached to another ThinkPad running F11 beta with Intel graphics
In the DVI boot case, the DVI modes are being copied to (and replacing) the LVDS modes
In the DVI hotplug case, the DVI modes are being added to the LVDS modes, although it seems it corrupts the LVDS mode somewhat and gdp does not show it
Since I noticed some EDID updates in the changelog I decided to try with the external VGA display again.
When booting with the VGA attached, plymouth only displays on the ThinkPad LCD at the correct native resolution. At this point the VGA display complains about an unsupported display mode.
When GDM starts the virtual desktop is again too large (1600x1200) for the display size (1400x1050). The VGA display at this stage does not seem to receive signal (so the unsupported mode message is gone).
After login the virtual desktop size is changed to match the display size. external VGA is off still.
Here is xrandr at the GDM prompt. Interesting is that it thinks the VGA is on at 1600x1200 but the VGA display seems to disagree.
Screen 0: minimum 320 x 200, current 1600 x 1200, maximum 4096 x 4096
VGA-0 connected 1600x1200+0+0 (normal left inverted right x axis y axis) 432mm x 324mm
1024x768 75.1 70.1 60.0
800x600 72.2 75.0 60.3 56.2
640x480 72.8 75.0 66.7 60.0
DVI-0 disconnected (normal left inverted right x axis y axis)
LVDS connected 1400x1050+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
using GDP to activate the external display after login causes corruption on both displays. The same thing happens when hotplugging the VGA display after boot.
LVDS mode list corruption no longer occurs with DVI attached displays. But external DVI displays are still a problem.
When hotplugging a DVI display xrandr output seems ok (other then the 0x0 resolution issue), but the external display cannot be activated. GDP fails with an error that it could not make the settings.
When I boot with the display attached, everything seems normal during Plymouth (no display on DVI, but ThinkPad LCD shows graphical bootup at full resolution), but the moment GDM is supposed to start the ThinkPad LCD is switched off and the DVI display complains that signal is out of range.
When I ssh into the system I get the following
Screen 0: minimum 320 x 200, current 1024 x 768, maximum 4096 x 4096
VGA-0 disconnected (normal left inverted right x axis y axis)
DVI-0 connected 1024x768+0+0 (normal left inverted right x axis y axis) 432mm x 324mm
1600x1200 60.0 +
1024x768 75.1 70.1 60.0*
800x600 72.2 75.0 60.3 56.2
640x480 72.8 75.0 66.7 60.0
LVDS connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1400x1050 50.0 +
800x600 60.3 56.2
So it seems it tried to enable Mirror mode at 1024x768. Not sure why 1024x768 was selected as they have a higher resolution in common (1280x1024). Because the refresh rates did not match?
I also tested with VGA, and the situation is identical with DVI. Which at least is consistent....
Here is a writeup I did
This bug appears to have been reported against 'rawhide' during the Fedora 11 development cycle.
Changing version to '11'.
More information and reason for this action is here:
No major changes with current rawhide.
When hotplugging a VGA display, I instantly get some minor corruption on the LVDS display.
Then running xrandr causes the LVDS to go off for a second, and then switches back on again, and the system tray in the gnome-panel vanishes.
Still unable to activate the external display
xrandr output shows the external display, but still has these issues
- external display has a bogus 0x0 resolution
- LVDS display has lots of bogus modes added, such as 2048x1536, while the panel is only 1400x1050. This would seem to be a Xorg driver issue as KMS sets the display to the correct resolution on boot. This issue also occurs without external display attached.
Booting with external VGA attached causes the Xserver to segfault on start.
0: /usr/bin/Xorg(xorg_backtrace+0x3c) [0x80a442c]
1: /usr/bin/Xorg [0x80a7c26]
3: /usr/lib/libpixman-1.so.0 [0x15be10]
4: /usr/lib/libpixman-1.so.0 [0x15c001]
5: /usr/lib/libpixman-1.so.0 [0x1275c4]
6: /usr/lib/libpixman-1.so.0(pixman_blt+0x79) [0x149aa9]
7: /usr/lib/xorg/modules/libfb.so(fbCopyNtoN+0x1aa) [0x291cca]
8: /usr/bin/Xorg(miCopyRegion+0x213) [0x818bf33]
9: /usr/bin/Xorg(miDoCopy+0x44d) [0x818c45d]
10: /usr/lib/xorg/modules/libfb.so(fbCopyArea+0x79) [0x2912b9]
11: /usr/lib/xorg/modules/libexa.so [0xc8d8b0]
12: /usr/lib/xorg/modules/libexa.so [0xc86d5e]
13: /usr/bin/Xorg(miCopyRegion+0x213) [0x818bf33]
14: /usr/bin/Xorg(miDoCopy+0x44d) [0x818c45d]
15: /usr/lib/xorg/modules/libexa.so [0xc851db]
16: /usr/bin/Xorg [0x811a894]
17: /usr/lib/xorg/modules/libfb.so(image_from_pict+0x332) [0x295982]
18: /usr/lib/xorg/modules/libfb.so(fbComposite+0xc4) [0x295c94]
19: /usr/lib/xorg/modules/libexa.so [0xc8e65b]
20: /usr/lib/xorg/modules/libexa.so [0xc8bd60]
21: /usr/bin/Xorg [0x81187d7]
22: /usr/bin/Xorg(CompositePicture+0x290) [0x810bf80]
23: /usr/bin/Xorg [0x80d17d8]
24: /usr/lib/xorg/modules/drivers/radeon_drv.so [0xe5a496]
25: /usr/bin/Xorg [0x81a87db]
26: /usr/bin/Xorg [0x80e572b]
27: /usr/bin/Xorg(BlockHandler+0x58) [0x8074278]
28: /usr/bin/Xorg(WaitForSomething+0x104) [0x80a1dd4]
29: /usr/bin/Xorg [0x806eb70]
30: /usr/bin/Xorg [0x8063115]
31: /lib/libc.so.6(__libc_start_main+0xe6) [0x5d1b36]
Segmentation fault at address 0x8
Fatal server error:
Caught signal 11 (Segmentation fault). Server aborting
With the latest updates, I can now hotplug an external display and use extended desktop.
However, when I have an external display attached during boot, plymouth shows fine (mirror mode), but the moment GDM starts both displays go black.
I can switch to a VT, and can see that the X server and GDM are running, I just cannot see the output.
root 1298 0.0 0.1 7424 2056 ? S 11:17 0:00 /usr/libexec/gdm-simple-slave --display-id /org/gnome/DisplayManager/Display2
root 1299 0.0 0.1 9444 2180 tty7 Ss+ 11:17 0:00 /usr/bin/Xorg :1 -br -verbose -auth /var/run/gdm/auth-for-gdm-54XVr9/database -nolisten tcp
the Xorg log is very small....
This is a pre-release version of the X server from The X.Org Foundation.
It is not supported in any way.
Bugs may be filed in the bugzilla at http://bugs.freedesktop.org/.
Select the "xorg" product for bugs you find in this release.
Before reporting bugs in pre-release versions please check the
latest version in the X.Org Foundation git repository.
See http://wiki.x.org/wiki/GitPage for git access instructions.
X.Org X Server 126.96.36.199
Release Date: (unreleased)
X Protocol Version 11, Revision 0
Build Operating System: Linux 2.6.18-128.4.1.el5xen i686
Current Operating System: Linux t41 2.6.31-0.174.rc7.git2.fc12.i686 #1 SMP Mon Aug 24 23:41:37 EDT 2009 i686
Kernel command line: ro root=/dev/mapper/vg_t41-lv_root rhgb quiet hpet=force SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
Build Date: 21 August 2009 02:42:44PM
Build ID: xorg-x11-server 1.6.99-39.20090820.fc12
Current version of pixman: 0.15.20
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.1.log", Time: Tue Aug 25 11:17:38 2009
(--) using VT number 7
When I then switch to init 3, and do a startx I get another backtrace
Created attachment 358544 [details]
latest xorg log from startx with backtrace
Since this bugzilla report was filed, there have been several major updates in various components of the Xorg system, which may have resolved this issue. Users who have experienced this problem are encouraged to upgrade their system to the latest version of their packages (at least F12Beta, but even better if the very latest versions).
Please, if you experience this problem on the up-to-date system, let us now in the comment for this bug, or whether the upgraded system works for you.
If you won't be able to reply in one month, I will have to close this bug as INSUFFICIENT_DATA. Thank you.
[This is a bulk message for all open Fedora Rawhide Xorg-related bugs. I'm adding myself to the CC list for each bug, so I'll see any comments you make after this and do my best to make sure every issue gets proper attention.]
Perhaps it is better to close this bug report, It was reported during F11 beta and nothing ever happened with it. I occasionally made updates to it to report the then current status, but over time that probably just caused extra confusion.
In any case, the current situation is
- Booting with external display attached (VGA or DVI) works fine for plymouth graphical boot, but the moment the X server starts for GDM, the LVDS switches off and the external display is garbled (like certain areas are not getting redrawn)
- Hotplugging an external display works mostly, although external only setup switches both displays off. But when halting the system the plymouth screen on LVDS will do a weird fade to white like the screen is burning out.
Robert i believe you have a bug filled against Fedora 12 for suspend resume issue, but you don't have the issue described in this bug on fedora 12 ? I am closing this bug assuming i am right, if you still have this issue on fedora 12 please reopen and attach Fedora 12 last dmesg,Xorg.log thanks.
Just for completeness, the issues where actually not solved in F12. But today I installed the latest updates from koji and pretty much all the issues are now resolved.