Bug 121051

Summary: no x11 support for Radeon 9200SE PCI
Product: [Fedora] Fedora Reporter: Rudi Chiarito <nutello>
Component: xorg-x11Assignee: John Dennis <jdennis>
Status: CLOSED CANTFIX QA Contact: David Lawrence <dkl>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: jdennis, wtogami
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-11-01 13:22:53 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
X configuration file
none
X log file
none
scanpci -v output
none
Log file with more debugging information
none
Log with DVI not working
none
Most recent XF86Config none

Description Rudi Chiarito 2004-04-16 14:26:16 UTC
Description of problem:
It looks like xorg-x11 doesn't like Radeon 9200SE PCI cards.

Version-Release number of selected component (if applicable):
xorg-x11-6.7.0-0.4

How reproducible:
Always

Steps to Reproduce:
1. Configure xorg-x11 to use the card
2. Start X
  
Actual results:
The card is not used by X.

In Xorg.0.log these two lines can be found:

(WW) RADEON: No matching Device section for instance (BusID PCI:2:9:0)
found
(WW) RADEON: No matching Device section for instance (BusID PCI:2:9:1)
found

Attempting to provide the ChipID option results in these two lines to
appear *after* the above:
(**) ChipID override: 0x5964
(**) Chipset ATI Radeon 9200SE 5964 (AGP) found

Still it doesn't work. Attempts to use options BusType=PCI and
ForcePCIMode=true don't seem to make any difference.

Expected results:
X uses the card

Additional info:

This is the relevant section from the current XF86Config (Screen 0
is run by the AGP card):

Section "Device"
        Identifier  "Videocard1"
        Driver      "radeon"
        VendorName  "Videocard Vendor"
        BoardName   "ATI Radeon 9200SE"
        ChipID      0x5964
        BusID       "PCI:2:9:0"
        Option "BusType" "PCI"
        Option "ForcePCIMODE" "true"
        Screen      1
EndSection
 
This is the relevant part from the output of lspci -n:
02:09.0 Class 0300: 1002:5964 (rev 01)
02:09.1 Class 0380: 1002:5d44 (rev 01)

Since X can't initialise the device, as expected it will fail to
create Screen1:
(EE) Screen 1 deleted because of no matching config section.

Comment 1 Rudi Chiarito 2004-04-16 16:24:53 UTC
I'm not sure if it's any relevant, but lspci -v doesn't seem to list
the card's 128MB of memory, although the e0/e8/f0000000 entries for
the GF4 and the Radeon's two PCI devices are spaced 128MB apart.

This is the output after a modprobe radeon / modprobe radeonfb (I know
I am getting desperate):

01:00.0 VGA compatible controller: nVidia Corporation NV18 [GeForce4
MX 440 AGP 8x] (rev a2) (prog-if 00 [VGA])
        Subsystem: nVidia Corporation: Unknown device 0191
        Flags: bus master, 66Mhz, medium devsel, latency 64, IRQ 169
        Memory at fd000000 (32-bit, non-prefetchable) [size=fea00000]
        Memory at e0000000 (32-bit, prefetchable) [size=128M]
        Expansion ROM at 00020000 [disabled]
        Capabilities: [60] Power Management version 2
        Capabilities: [44] AGP version 3.0
 
02:09.0 VGA compatible controller: ATI Technologies Inc RV280 [Radeon
9200 SE] (rev 01) (prog-if 00 [VGA])
        Subsystem: Unknown device 18bc:0141
        Flags: medium devsel, IRQ 185
        Memory at f0000000 (32-bit, prefetchable) [size=fcf00000]
        I/O ports at de00 [size=256]
        Memory at fcec0000 (32-bit, non-prefetchable) [size=64K]
        Expansion ROM at 00020000 [disabled]
        Capabilities: [50] Power Management version 2
 
02:09.1 Display controller: ATI Technologies Inc RV280 [Radeon 9200
SE] (Secondary) (rev 01)
        Subsystem: Unknown device 18bc:0140
        Flags: bus master, medium devsel, latency 64
        Memory at e8000000 (32-bit, prefetchable) [disabled]
        Memory at fced0000 (32-bit, non-prefetchable) [disabled]
[size=64K]
        Capabilities: [50] Power Management version 2


Comment 2 John Dennis 2004-04-16 16:54:59 UTC
This board is supported by the radeon driver. To properly diagnose
this I need 3 additional pieces of information, please attach these to
the bugzilla as attachments.

1) Your config file

2) Your log file (it may be /var/log/Xorg.0.log or
/var/log/XFree86.0.log, the name changed recently and I'm sorry but I
don't recall off the top of my head in exactly with rpm that happened)

3) The output of "scanpci -v" (this is an X pci scanner and it may be
different than lspci, you can find it in /usr/X11R6/bin).

Thanks,

John


Comment 3 Rudi Chiarito 2004-04-16 17:07:35 UTC
Created attachment 99487 [details]
X configuration file

Comment 4 Rudi Chiarito 2004-04-16 17:08:07 UTC
Created attachment 99488 [details]
X log file

Comment 5 Rudi Chiarito 2004-04-16 17:11:21 UTC
Created attachment 99489 [details]
scanpci -v output

Comment 6 Rudi Chiarito 2004-04-16 17:13:28 UTC
Xorg.0.log mentions ATI Radeon 9200SE 5964 (AGP) as supported, but not
the PCI version. Other cards are listed as AGP/PCI, but this one isn't.
The log above is with today's xorg packages (xorg-x11-6.7.0-0.5).

Comment 7 John Dennis 2004-04-16 20:43:41 UTC
PCI vs AGP should not be an issue. From looking at the source code and
the logs it really looks like this should work, but obviously its not
so I need some more information. Please run this version of the X
server, there shouldn't be a need to put it in /usr/X11R6/bin, you
don't need to do a startx, just run the binary. Do make sure another X
is not running first, best solution is "init 3"

ftp://people.redhat.com/jdennis/Xorg

This version has more debuging output, after the server comes up you
can kill it and then attach the new log file so I can take a look at it.


Comment 8 Rudi Chiarito 2004-04-16 21:16:17 UTC
Created attachment 99494 [details]
Log file with more debugging information

There seems to be something useful now...

Comment 9 Rudi Chiarito 2004-04-19 17:52:51 UTC
I made some major progress. I commented out the "Screen 1" entry in the
Radeon device section. According to the documentation, that's not X'
screen, but rather (for multi-head capable cards) the number of the
head to use. Looks like a bug in system-config-display - sbould bfox
be in the Cc: list?

Anyway, with that simple change X no longer complains; it now completes
initialisation for the Radeon. But I still get no output on the second
monitor. I am inclined to rule out cables and connectors, as X does
detect the monitor through DDC and tells me everything about it (the
date of manufacturing matches).

I grabbed a VGA cable and verified that analog output works 100%
(both DDC _and_ the picture). I also grabbed another 2000FP monitor
and verified that the same identical symptoms occur (flat-panel screen
detected but no signal sent; analog detection and picture working), so
I would rule out the monitor.

Anything else I can try?

Comment 10 John Dennis 2004-04-19 20:27:26 UTC
Xinerama is logically one screen. I would expect you would still need
to associate a device with a screen for the purposes of ServerLayout
even with Xinerama so deleting the screen parameter from the device
section seems a bit odd to me, but I'll have to dig a bit more on that.

As for Radeon not woring with digital out, but it does with analog,
I'm going to need the complete log file to see what how the radeon
driver configured itself.

Comment 11 Rudi Chiarito 2004-04-19 20:46:12 UTC
Created attachment 99539 [details]
Log with DVI not working

Comment 12 Rudi Chiarito 2004-04-19 20:55:10 UTC
Created attachment 99540 [details]
Most recent XF86Config

This time the system is setup with two 20" screens. Also note that I tried
(with no luck) options like PanelSize, MonitorLayout, DDCMode, NoDDC with a
number of different arguments. They're commented out now.

As to the Screen option in the Device section, I think s-c-d was setting up
X to use the Radeon's own Screen 1, which in this case doesn't exist. "Global"
screens for Xinerama use seem to be defined in the ServerLayout section. In
other words, s-c-d seems to think that the Screen parameter refers to a
screen defined in a Screen section and referenced in ServerLayout, while it
actually refers just to the device's head (at least that ought to be the case
with the radeon driver).

Comment 13 John Dennis 2004-04-19 22:43:29 UTC
Do I understand correctly that following is true for you? Head 1 will
work with either digital or analog but head two only works for analog.
Yes? If so thats what the 9200 supports, it only has DVI on the
primary head.

Comment 14 Rudi Chiarito 2004-04-19 23:07:12 UTC
Err, no. Head 1 is on an AGP GeForce4's DVI out, while Head 2 is on a
PCI Radeon 9200. Head 2 (the Radeon's #1 output) detects correctly the
FP monitor over DDC during X' startup, but there's no actual picture
coming out. The Radeon's  #2 output (analog) works fine, but you can
imagine that that's not what I would like to use.

If you check the log file, you'll see Monitor0 detected as the GeForce's
DVI monitor, Monitor1 as the Radeon's DVI monitor and Monitor2 as the
Radeon's VGA monitor (of course, Monitor1 and Monitor2 happen to be
the same monitor, using different inputs).

Could it be that the Radeon driver is trying to mess with the monitor
that is actually assigned to the GeForce?

Or does turning Clone off in the ServerLayout section have the effect
of making analog active and digital inactive?

Time to try a few more things, I guess...

Comment 15 John Dennis 2004-04-20 21:55:12 UTC
No, the Radeon is not stepping on the Nvidia, it was just sloppy
vocabulary to head numbering, I was referring to the radeon's heads.

I've looked closely at your log file, as far as I can tell you're
configured for digial on the primary connector and analog on the
secondary connector at 1600x1200.

However, the timings picked are just outside the DDC reported ranges
of your monitor which says your max clock rate is 160Mhz, but you've
ended up using 1600x1200@60Hz with a clock rate of 162Mhz. All your
other monitor parameters are right up at the reported limits of your
monitor. You may be exceeding the limits of your monitor with the
default timings for this resolution and refresh rate.

Bottom line, I think your monitor selection is correct but you might
be overdriving it. As an experiment I would drop down to a much lower
resolution but keep everything else the same. Does a digital signal on
the primary connector to your DFP now work? If so we know its a
monitor timing issue and not monitor/connector configuration.

Comment 16 Rudi Chiarito 2004-04-20 22:21:39 UTC
1600x1200@60 is the monitor's native display. An identical monitor is
attached to the GeForce and, although it does warn that its pixel
clock is 162MHz (vs 160), it works fine on that board. The monitor
also explicitly advertises the mode:
(II) RADEON(1): Supported additional Video Mode:
(II) RADEON(1): clock: 162.0 MHz   Image Size:  367 x 275 mm
(II) RADEON(1): h_active: 1600  h_sync: 1664  h_sync_end 1856
h_blank_end 2160 h_border: 0
(II) RADEON(1): v_active: 1200  v_sync: 1201  v_sync_end 1204
v_blanking: 1250 v_border: 0

Maybe this is a limit of the Radeon's DVI port only? The screen looks
fine (just not as sharp) on the D-SUB output. The monitor can
definitely handle that resolution/frequency on the VGA port - and,
again, an identical monitor is being fed through DVI by the GeForce.

Of course the Radeon manual only mentions an useless "max 3D resolution
(32 bit color) up to 2048x1536", but it doesn't specify on which port
and at which frequency...

On the other hand, the same problem occurred when I tried (in my first
attempts reported here) to drive a 17" flat panel at its native
1280x1024 resolution.

Comment 17 John Dennis 2004-04-20 22:35:21 UTC
All good points. However, I'm at a loss to explain the failure as
everything else seems fine. Experimenting with a lower
resolution/refresh is the only diagnostic I can think of to eliminate
other potential problems. If a lower resolution/refresh works on the
radeon we will have eliminated the connector and signal type question
and identified a timing problem. I think its worth an experiment.

Comment 18 Rudi Chiarito 2004-04-23 21:35:43 UTC
I tried a lower resolution, 800x600. That's half the native resolution,
in each dimension. Still the same: only the analog port works.

I went one step further: I booted into XP. I even updated the drivers
to the latest and greatest. Well, guess what: the same identical
problem is still there.

At this point I have three explanations:

1) the board/connector is defective (how would it detect the monitor,
though?)
2) there's a hardware bug
3) there's something wrong in both Windows and X drivers (the latter
are largely ATI's work anyway, it seems)

With the help of Google, I have found a few suspicious instances of
similar problems. I smell something. There's a fix available, which,
maybe, in cases like mine are not enough.

Here are the links in full glory:
http://www.mail-archive.com/xfree86@xfree86.org/msg09433.html
(same monitors I tried...)
http://bugs.xfree86.org/show_bug.cgi?id=673
(with a couple of duplicates)


Comment 19 John Thacker 2006-10-30 14:49:18 UTC
[This is a mass update sent to many bugs that missed earlier such messages due
to having their version set to a test version.]

This bug was originally filed against a version of Fedora Core which is no
longer supported, even for security updates.  Many changes have occured since
then.  Please retest this bug against a still supported version.  Note that FC3
and FC4 are supported by Fedora Legacy for security fixes only.  If
it still occurs on FC5 or FC6, please assign to the correct
version.  Otherwise, if this a security issue, please change the
product to Fedora Legacy.  Thanks, and we are sorry that we did not
get to this bug earlier.

This bug will be closed after a few weeks if no information is given indicating
that the bug is still present in a supported release.

Comment 20 Rudi Chiarito 2006-11-01 13:22:53 UTC
I gave up on the card and used the VGA output, then switched to a more recent
dualhead Radeon. Closing.