Bug 460537

Summary: External monitor is not working on X on a Laptop with ATI RS485 (Radeon Xpress 1100)
Product: [Fedora] Fedora Reporter: Mauro Carvalho Chehab <mchehab>
Component: xorg-x11-drv-atiAssignee: Dave Airlie <airlied>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: medium    
Version: 10CC: artem.goncharov, johannbg, lwang, xgl-maint
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-12-18 01:20:38 EST Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Attachments:
Description Flags
X logs for the bug
none
Xorg log, when booted with nomodeset
none
Xorg log (with modeset enabled, external monitor plugged before boot)
none
Xorg.0.log updated, with Apr, 18 2009 rawhide none

Description Mauro Carvalho Chehab 2008-08-28 09:42:02 EDT
User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1

This bug is present on Gateway MX6453 notebook, using ATI SB400 chipset.

This device is equipped with a RS485 graphics adapter (Radeon Xpress).

Dual head used to work, so, this is a regression.

During X start, it detects the monitor proprieties and its name, but the driver "decides" to turn it off. Those are the main messages at Xorg.0.log (I'm enclosing the full log on an attachment):

(II) RADEON(0): I2C device "VGA-0:ddc2" registered at address 0xA0.
(II) RADEON(0): I2C device "VGA-0:ddc2" removed.
(II) RADEON(0): Output: VGA-0, Detected Monitor Type: 0
(II) RADEON(0): EDID vendor "SEC", prod id 13381
(II) RADEON(0): Output VGA-0 disconnected

Even removing/reinserting the monitor cable, the monitor doesn't work. This is what xrandr reports:

# xrandr
Screen 0: minimum 320 x 200, current 1280 x 800, maximum 2960 x 1050
VGA-0 disconnected (normal left inverted right x axis y axis)
LVDS connected 1280x800+0+0 (normal left inverted right x axis y axis) 331mm x 207mm
   1280x800       60.0*+
   1024x768       60.0
   800x600        60.3
   640x480        59.9
S-video disconnected (normal left inverted right x axis y axis)

Reproducible: Always

Steps to Reproduce:
1. Connect VGA-0 monitor
2. Start X
Comment 1 Mauro Carvalho Chehab 2008-08-28 09:46:18 EDT
Created attachment 315218 [details]
X logs for the bug

The log shows also several trials of connecting/disconnecting the device.

Btw, while seeking at the Internet, I found a a similar report for this bug at:

http://bugs.freedesktop.org/show_bug.cgi?id=17001

The above bug were fixed by a git commit at Xorg development tree.

I'm not sure if the bug is the same as mine, although the effects are the same.
Comment 2 Mauro Carvalho Chehab 2008-09-02 06:33:51 EDT
Update at the bug: 

The bug is present even on upstream version: I tested the latest -git version of the driver at Xorg devel tree with the same results.

Also, the bug is intermittent: after booting with other OS and changed to dual head, then booting again with Rawhide, the external monitor started working.

After that procedure, it seems to be working almost ok, but still on a few cases, internal LVDS monitor were not detected, or no monitor were detected. An X restart fixed.
Comment 3 Mauro Carvalho Chehab 2008-09-02 06:40:18 EDT
Update at the bug: 

The bug is present even on upstream version: I tested the latest -git version of the driver at Xorg devel tree with the same results. I had restarted X several times with rawhide new packages, with upstream version, etc. All the cases I got the same result of VGA-0 being miss-detected.

So, I decided to check if there were eventually a hardware issue. So I've booted with other OS and changed to dual head. Everything worked as expected. Then, I've booted again with Rawhide, and magically the external monitor started working.

After that procedure, it seems to be working almost ok, but still on a few cases, internal LVDS monitor were not detected, or no monitor were detected. When this happens, a X restart fixes it.

So, I suspect that there are some initialization setups that are missing at the free ati driver.
Comment 4 Mauro Carvalho Chehab 2008-09-02 06:43:25 EDT
please discard comment #2, since this were sent by mistake. All comments there are at comment #3.
Comment 5 Bug Zapper 2008-11-25 21:53:20 EST
This bug appears to have been reported against 'rawhide' during the Fedora 10 development cycle.
Changing version to '10'.

More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping
Comment 6 J├│hann B. Gu├░mundsson 2008-12-01 06:17:23 EST
There have been bunch of bug fixes

Could you retest with the latest kernel 
( -132 at the time of this writing )

You can get the latest kernel build here
http://koji.fedoraproject.org/koji/buildinfo?buildID=72270 

And with the latest xorg-x11-drv-ati. 
( -60 at the time of this writing )

You can get the latest xorg-x11-drv-ati build here
http://koji.fedoraproject.org/koji/packageinfo?packageID=95

And report back if it either improves or fixes this issue..

Thanks.
Comment 7 Mauro Carvalho Chehab 2008-12-02 18:09:45 EST
Let's go by parts.

Tested against kernel -117 and against xorg-x11-drv-ati -54.

LVDS monitor is wide screen, with max resolution of 1280x800. External monitor is 4:3 and has a max resolution of 1280x1024.

1) booting without monitor, modset enabled, and connecting the monitor after X starts.

The second monitor contains a screened copy of LVDS image. Using:

xrandr --output VGA-0 --auto --left-of LVDS 

doesn't work properly.

Sometimes, using xrandr makes X to hang.

2) booting with monitor, modset enabled.

The second monitor receives an unsupported frequency not working. xrandr also doesn't work properly.

3) booting with "nomodeset"

Both monitors start at 1024x768. using 
   xrandr --output VGA-0 --auto --left-of LVDS
works properly.

I'll download the koji packages and repeat the tests.
Comment 8 Mauro Carvalho Chehab 2008-12-02 18:55:00 EST
Now, with kernel -132 and xorg-x11-drv-ati -61

Booting with monitor, modeset enabled:

external monitor doesn't work, due to some invalid frequency (it says Input not supported). xrandr output:

Screen 0: minimum 320 x 200, current 1024 x 768, maximum 2960 x 1050
VGA-0 connected 1024x768+0+0 (normal left inverted right x axis y axis) 338mm x270mm
   1400x1050      60.0
   1280x1024      75.0     60.0
   1280x960       60.0
   1152x864       75.0
   1024x768       75.1     75.0     70.1     60.0*
   832x624        74.6
   800x600        72.2     75.0     60.3     56.2
   640x480        72.8     75.0     72.8     75.0     66.7     60.0     59.9
   720x400        70.1
LVDS connected 1024x768+0+0 (normal left inverted right x axis y axis) 331mm x 207mm
   1280x800       60.0 +
   1024x768       60.0*
   800x600        60.3
   640x480        59.9

Running:

xrandr --output VGA-0 --auto

changes the resolution of LVDS to a lower resolution (maybe 800x600?), but it still displays the same result above. VGA-0 keeps receiving invalid frequencies.

If I try to do:

xrandr --output VGA --off
xrandr --output VGA-0 --auto

The monitor goes to off state and doesn't return.

I'll now test again booting with monitor disconnected.
Comment 9 Mauro Carvalho Chehab 2008-12-02 19:17:06 EST
Booting with monitor disconnected (or starting X without monitor)

After connecting the external monitor, and running:

$ xrandr --output VGA-0 --auto

The external monitor starts work, however, using a wrong resolution. Also, LVDS
monitor has its resolution changed (I guess both changed to 1024x768). The display is cloned. However, X thinks that the resolution is still 1280x800.

If, instead, I do:

$ xrandr --output VGA-0 --auto --left-of LVDS

LVDS keeps its resolution, and VGA-0 goes to 1024x768. A screened clone of the LVDS is displayed. Some opened windows disappear (it seems that they are out of the view).

This is what xrandr shows after that change: 

$ xrandr
Screen 0: minimum 320 x 200, current 2680 x 1050, maximum 2960 x 1050
VGA-0 connected 1400x1050+0+0 (normal left inverted right x axis y axis) 338mm x 270mm
   1400x1050      60.0*
   1280x1024      75.0     60.0
   1280x960       60.0
   1152x864       75.0
   1024x768       75.1     75.0     70.1     60.0
   832x624        74.6
   800x600        72.2     75.0     60.3     56.2
   640x480        72.8     75.0     72.8     75.0     66.7     60.0     59.9
   720x400        70.1
LVDS connected 1280x800+1400+0 (normal left inverted right x axis y axis) 331mmx 207mm
   1280x800       60.0*+
   1024x768       60.0
   800x600        60.3
   640x480        59.9


(a small note: on comment #7 I said that the max resolution of the VGA-0 is 1280x1024. However, I double checked: this monitor has a max res of 1400x1050, as showed by xrandr).
Comment 10 Mauro Carvalho Chehab 2008-12-02 19:54:06 EST
Ok, the last test:

I booted 2.6.27.7-132.fc10.i686 with nomodeset parameter.

Both LVDS and VGA-0 went on 1024x768.

xrandr seems to work properly:

$ xrandr --output VGA-0 --auto --left-of LVDS

produced the expected result.

$ xrandr                                     
Screen 0: minimum 320 x 200, current 2304 x 1024, maximum 2960 x 1050
VGA-0 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 338mm x 270mm                                                                          
   1280x1024      60.0*+   75.0     60.0*                                       
   1400x1050      60.0
   1280x960       60.0
   1152x864       75.0
   1024x768       75.0     70.1     60.0
   832x624        74.6
   800x600        72.2     75.0     60.3     56.2
   640x480        75.0     72.8     75.0     66.7     59.9
   720x400        70.1
LVDS connected 1024x768+1280+0 (normal left inverted right x axis y axis) 331mmx 207mm
   1280x800       60.0 +
   1024x768       60.0*
   800x600        60.3
   640x480        59.9
S-video disconnected (normal left inverted right x axis y axis)

displays the used setup.

I did other tests with xrandr and seems to work properly, except by the fact that, if X starts with 2 monitors connected, I can't set LVDS with 1280x800 (even disabling the external monitor).
Comment 11 Mauro Carvalho Chehab 2008-12-02 19:56:18 EST
Created attachment 325457 [details]
Xorg log, when booted with nomodeset
Comment 12 Mauro Carvalho Chehab 2008-12-02 20:19:06 EST
Created attachment 325458 [details]
Xorg log (with modeset enabled, external monitor plugged before boot)

This is the log without nomodeset parameter. I ran this sequence while using this kernel:

$ xrandr --output VGA-0 --auto
$ xrandr --output VGA-0 --off
$ xrandr --output VGA-0 --auto
$ xrandr --output VGA-0 --off
$ xrandr --output LVDS --auto
Comment 13 Mauro Carvalho Chehab 2009-04-02 05:41:52 EDT
Fedora 11 Radeon Test Day update.

Now, using the 2009/04/01 Live CD for radeon test, using the procedure described at:
   https://fedoraproject.org/wiki/QA:Testcase_radeon_multihead

Starting with the external monitor connected, the LVDS appears some vertical colored lines in the place where mouse is supposed to be, at 1280x800. The colored lines moves with mouse. The remaining LVDS screen is blue. 

The external monitor (VGA-0) presents the desktop as expected, except due to the fact that it is using the wrong size (1024x768). 

The external monitor issue seems to be due to this dmesg output:

radeon 0000:01:05.0: VGA-1: EDID invalid.
[drm:edid_is_valid] *ERROR* EDID has minor version 4, which is not between 0-3
[drm:edid_is_valid] *ERROR* Raw EDID:
<3>00 ff ff ff ff ff ff 00 10 ac 16 d0 48 4c 46 34  ............HLF4
<3>1a 12 01 04 6a 25 17 78 ef b6 90 a6 54 51 91 25  ....j%.x....TQ.%
<3>17 50 54 a5 4b 00 81 80 71 4f 95 00 01 01 01 01  .PT.K...qO......
<3>01 01 01 01 01 01 ab 22 a0 a0 50 84 1a 30 30 20  ......."..P..00 
<3>36 00 72 e6 10 00 00 1a 00 00 00 ff 00 47 33 34  6.r..........G34
<3>30 48 38 36 50 34 46 4c 48 0a 00 00 00 fd 00 32  0H86P4FLH......2
<3>4d 1e 53 0e 04 11 b2 05 f8 58 f0 00 00 00 00 fc  M.S......X......
<3>00 44 45 4c 4c 20 45 31 37 38 57 46 50 0a 00 78  .DELL E178WFP..x
Comment 14 Mauro Carvalho Chehab 2009-04-18 06:22:21 EDT
Updated to latest rawhide. Now using:
    kernel-2.6.29.1-70.fc11.i586
    xorg-x11-drv-ati-6.12.2-2.fc11.i586

I've removed the /etc/X11/xorg.conf, to allow it to use the default builtin.

The EDID error message disappeared. However, starting X with the external monitor connected, it keeps presenting the same vertical colored lines in the place where mouse is supposed to be, at the LVDS display. the remaining LVDS display provides a black screen. On VGA-0, it works properly. I didn't try to use xrandr to change the screen resolution or to present a bigger display using both monitors.
Comment 15 Mauro Carvalho Chehab 2009-04-18 06:26:50 EDT
Created attachment 340142 [details]
Xorg.0.log updated, with Apr, 18 2009 rawhide
Comment 16 Bug Zapper 2009-11-18 02:54:29 EST
This message is a reminder that Fedora 10 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 10.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '10'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 10's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 10 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping
Comment 17 Bug Zapper 2009-12-18 01:20:38 EST
Fedora 10 changed to end-of-life (EOL) status on 2009-12-17. Fedora 10 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.