Bug 497070

Summary: [kms] radeon RV250 corruption with external display
Product: [Fedora] Fedora Reporter: Robert de Rooy <rderooy>
Component: xorg-x11-drv-atiAssignee: Dave Airlie <airlied>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: rawhideCC: jglisse, mcepl, mcepl, xgl-maint
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-11-06 15:19:06 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Xorg log without external display (baseline)
none
xrandr output without external display (baseline)
none
Xorg log with external VGA display, attached during boot
none
Xorg log with external VGA display hotplugged after boot
none
xrandr output with external VGA display attached during boot
none
xrandr output with external VGA display hotplugged after boot
none
xorg.log with external DVI display attached during boot
none
Xorg log with external DVI display hotplugged after boot
none
xrandr output with external DVI display attached during boot
none
xrandr output with external DVI display hotplugged after boot
none
latest xorg log from startx with backtrace none

Description Robert de Rooy 2009-04-22 08:57:59 UTC
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):
kernel-2.6.29.1-100.fc11.i586
xorg-x11-drv-ati-6.12.2-4.fc11.i586

How reproducible:
every time

Steps to Reproduce:
1. try to use external display with ThinkPad T41
2.
3.
  
Actual results:
corrupted display

Expected results:
functioning display

Additional info:
no xorg.conf exists

Comment 1 Robert de Rooy 2009-04-22 09:02:18 UTC
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.

Comment 2 Robert de Rooy 2009-04-22 09:03:40 UTC
Created attachment 340691 [details]
Xorg log without external display (baseline)

Comment 3 Robert de Rooy 2009-04-22 09:04:22 UTC
Created attachment 340692 [details]
xrandr output without external display (baseline)

Comment 4 Robert de Rooy 2009-04-22 09:05:28 UTC
Created attachment 340693 [details]
Xorg log with external VGA display, attached during boot

Comment 5 Robert de Rooy 2009-04-22 09:06:31 UTC
Created attachment 340694 [details]
Xorg log with external VGA display hotplugged after boot

Comment 6 Robert de Rooy 2009-04-22 09:07:32 UTC
Created attachment 340696 [details]
xrandr output with external VGA display attached during boot

Comment 7 Robert de Rooy 2009-04-22 09:08:21 UTC
Created attachment 340697 [details]
xrandr output with external VGA display hotplugged after boot

Comment 8 Robert de Rooy 2009-04-22 09:09:11 UTC
Created attachment 340699 [details]
xorg.log with external DVI display attached during boot

Comment 9 Robert de Rooy 2009-04-22 09:09:47 UTC
Created attachment 340700 [details]
Xorg log with external DVI display hotplugged after boot

Comment 10 Robert de Rooy 2009-04-22 09:10:46 UTC
Created attachment 340701 [details]
xrandr output with external DVI display attached during boot

Comment 11 Robert de Rooy 2009-04-22 09:11:28 UTC
Created attachment 340702 [details]
xrandr output with external DVI display hotplugged after boot

Comment 12 Robert de Rooy 2009-04-22 09:20:02 UTC
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

Comment 13 Robert de Rooy 2009-04-29 08:36:49 UTC
kernel-2.6.29.1-111.fc11.i586
xorg-x11-drv-ati-6.12.2-7.fc11.i586

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.

# xrandr
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
   1600x1200      60.0*+
   1280x1024      75.0
   1152x864       75.0
   1024x768       75.1     70.1     60.0
   832x624        74.6
   800x600        72.2     75.0     60.3     56.2
   640x480        72.8     75.0     66.7     60.0
   720x400        70.1
   0x0             0.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
   1400x1050      50.0*+

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.

Comment 14 Robert de Rooy 2009-05-11 09:45:30 UTC
xorg-x11-drv-ati-6.12.2-13.fc11.i586

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 
# xrandr
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 +
   1280x1024      75.0
   1152x864       75.0
   1024x768       75.1     70.1     60.0*
   832x624        74.6
   800x600        72.2     75.0     60.3     56.2
   640x480        72.8     75.0     66.7     60.0
   720x400        70.1
   0x0             0.0
LVDS connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1400x1050      50.0 +
   1280x1024      60.0
   1280x960       60.0
   1024x768       60.0*
   800x600        60.3     56.2
   640x480        59.9

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?

Comment 15 Robert de Rooy 2009-05-11 17:12:57 UTC
I also tested with VGA, and the situation is identical with DVI. Which at least is consistent....

Here is a writeup I did
http://www.thinkwiki.org/wiki/Installing_Fedora_11_on_a_ThinkPad_T41

SMOLT profile
http://www.smolts.org/client/show/pub_276b9cfe-6c93-4928-b3c0-1789cac90d0e

Comment 16 Bug Zapper 2009-06-09 14:23:18 UTC
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:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 17 Robert de Rooy 2009-08-06 07:49:20 UTC
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.

kernel-2.6.31-0.132.rc5.git3.fc12.i686
libdrm-2.4.12-0.6.fc12.i686
xorg-x11-server-Xorg-1.6.99-27.20090804.fc12.i686
xorg-x11-drv-ati-6.12.2-21.fc12.i686

Comment 18 Robert de Rooy 2009-08-06 07:57:28 UTC
Booting with external VGA attached causes the Xserver to segfault on start.

Backtrace:
0: /usr/bin/Xorg(xorg_backtrace+0x3c) [0x80a442c]
1: /usr/bin/Xorg [0x80a7c26]
2: [0x5ba40c]
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]

Link map:
0x5bc000: (vdso)
0x18c000: /usr/lib/libxf86config.so.0
0xfa5000: /usr/lib/libpciaccess.so.0
0xd0b000: /usr/lib/libXfont.so.1
0x311000: /usr/lib/libXau.so.6
0xa85000: /usr/lib/libfontenc.so.1
0x110000: /usr/lib/libpixman-1.so.0
0xfd6000: /usr/lib/libhal.so.1
0x914000: /lib/libdbus-1.so.3
0xbd7000: /lib/libpthread.so.0
0x9ef000: /usr/lib/libXdmcp.so.6
0xe9a000: /usr/lib/libssl.so.8
0x314000: /usr/lib/libcrypto.so.8
0x1e9000: /lib/libdl.so.2
0x262000: /lib/libz.so.1
0x7b1000: /lib/libaudit.so.0
0xa34000: /lib/libselinux.so.1
0xd70000: /lib/libm.so.6
0x2f3000: /lib/librt.so.1
0x5bb000: /lib/libc.so.6
0x48d000: /usr/lib/libfreetype.so.6
0xfae000: /lib/libcap.so.2
0xaec000: /lib/ld-linux.so.2
0xcb7000: /lib/libgssapi_krb5.so.2
0x7cc000: /lib/libkrb5.so.3
0xd52000: /lib/libcom_err.so.2
0x19d000: /lib/libk5crypto.so.3
0x8d6000: /lib/libresolv.so.2
0xadf000: /lib/libattr.so.1
0x172000: /lib/libkrb5support.so.0
0x17b000: /lib/libkeyutils.so.1
0x1c8000: /usr/lib/xorg/modules/extensions/libextmod.so
0x17e000: /usr/lib/xorg/modules/extensions/libdbe.so
0x1ee000: /usr/lib/xorg/modules/extensions/libglx.so
0x183000: /usr/lib/xorg/modules/extensions/librecord.so
0x579000: /usr/lib/xorg/modules/extensions/libdri.so
0xcf3000: /usr/lib/libdrm.so.2
0x186000: /usr/lib/xorg/modules/extensions/libdri2.so
0x2e0000: /usr/lib/xorg/modules/drivers/ati_drv.so
0xd9a000: /usr/lib/xorg/modules/drivers/radeon_drv.so
0x258000: /usr/lib/libdrm_radeon.so.1
0x275000: /usr/lib/xorg/modules/drivers/vesa_drv.so
0x25d000: /usr/lib/xorg/modules/drivers/fbdev_drv.so
0x27b000: /usr/lib/xorg/modules/linux/libfbdevhw.so
0x280000: /usr/lib/xorg/modules/libfb.so
0xc80000: /usr/lib/xorg/modules/libexa.so
0x736000: /usr/lib/dri/r200_dri.so
0xfe8000: /usr/lib/dri/libdricore.so
0xf62000: /lib/libexpat.so.1
0x2a0000: /lib/libgcc_s.so.1
Segmentation fault at address 0x8

Fatal server error:
Caught signal 11 (Segmentation fault). Server aborting

Comment 19 Robert de Rooy 2009-08-25 09:35:47 UTC
kernel-2.6.31-0.174.rc7.git2.fc12.i686
xorg-x11-server-Xorg-1.6.99-39.20090820.fc12.i686
xorg-x11-drv-ati-6.13.0-0.2.20090821gitb1b77a4d6.fc12.i686

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 1.6.99.1
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

Comment 20 Robert de Rooy 2009-08-25 09:38:02 UTC
Created attachment 358544 [details]
latest xorg log from startx with backtrace

Comment 21 Matěj Cepl 2009-11-05 17:12:58 UTC
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.]

Comment 22 Robert de Rooy 2009-11-05 18:17:37 UTC
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.

Comment 23 Jérôme Glisse 2009-11-06 15:19:06 UTC
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.

Comment 24 Robert de Rooy 2009-11-27 10:10:37 UTC
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.

kernel-2.6.31.6-151.fc12.i686
libdrm-2.4.15-5.fc12.i686
xorg-x11-drv-ati-6.13.0-0.15.20091127gita8dbf7c23.fc12.i686
xorg-x11-server-Xorg-1.7.1-12.fc12.i686