Bug 380298 - sax2: failed to setup two G* Matrox cards
Summary: sax2: failed to setup two G* Matrox cards
Status: RESOLVED FIXED
Alias: None
Product: openSUSE 10.3
Classification: openSUSE
Component: SaX2 (show other bugs)
Version: Final
Hardware: x86 openSUSE 10.3
: P5 - None : Normal (vote)
Target Milestone: ---
Assignee: Marcus Schaefer
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-04-16 08:30 UTC by Andreas Schallenberg
Modified: 2008-04-17 10:11 UTC (History)
2 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
xorg.conf generated by SaX2 (5.19 KB, text/plain)
2008-04-16 08:30 UTC, Andreas Schallenberg
Details
sax2 log file (5.15 KB, text/plain)
2008-04-16 14:38 UTC, Andreas Schallenberg
Details
X.org configuration file (4.02 KB, text/plain)
2008-04-16 14:39 UTC, Andreas Schallenberg
Details
sax2.diff (683 bytes, patch)
2008-04-16 14:58 UTC, Marcus Schaefer
Details | Diff
Sax2 log file, second attempt (2.80 KB, text/plain)
2008-04-16 15:10 UTC, Andreas Schallenberg
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Schallenberg 2008-04-16 08:30:51 UTC
Created attachment 208223 [details]
xorg.conf generated by SaX2

The system has two Matrox Graphics cards, each being Dual-Head.

# lspci | grep -i vga
02:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G400/G450 (rev 85)
04:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G550 AGP (rev 01)

I started SaX with

sax2 -m 0=mga,1=mga

The X server did not start, because the generated xorg.conf file was invalid.
X complained about line 122, probably a missing device identifier.
Comment 1 Marcus Schaefer 2008-04-16 12:33:08 UTC
first of all we officially don't support more than dualhead configurations
both cards are dualhead cards, both together means you want to setup a
quad head system with mga.

Second I need more information :-)

   init 3
   sax2 -p 

   ===> send the output

   sax2 -r -a

   ===> send /var/log/SaX.log
   ===> send the written file /etc/X11/xorg.xonf

thanks
Comment 2 Andreas Schallenberg 2008-04-16 14:38:26 UTC
Created attachment 208343 [details]
sax2 log file
Comment 3 Andreas Schallenberg 2008-04-16 14:39:08 UTC
Created attachment 208344 [details]
X.org configuration file
Comment 4 Andreas Schallenberg 2008-04-16 14:46:32 UTC
Ok, here it comes:

# sax2 -p
Chip: 0  is -> Matrox G450 DH G450              02:00:0 0x102b 0x0525 AGP mga
Chip: 1  is -> Matrox G550                      04:00:0 0x102b 0x2527 AGP mga

Well, the G550 (04:00:0) is an AGP card and the G450 (02:00:0) is a PCI one.

I tried to set up one physical monitor on each primary output of
both cards. I was not successful with this manually and therefore
was interested in an proposal by sax2.

Just for the background, not relevant for the issue reported here:
When using the AGP card I managed to get both screens working
by using the Yast2 module for Dual-Head and Xinerama. Unfortunately
this gives me a rectangular virtual desktop while the screen resolutions
of both physical monitors differ.

Some time ago I had a working configuration with two other cards,
two monitors and an non-rectangular virtual desktop. That is the reason
for me rying two cards again. Both of them having a second output is just a
nice thing which I didn't use.
Comment 5 Marcus Schaefer 2008-04-16 14:58:27 UTC
does the following patch fix the problem ?
Comment 6 Marcus Schaefer 2008-04-16 14:58:54 UTC
Created attachment 208350 [details]
sax2.diff
Comment 7 Andreas Schallenberg 2008-04-16 15:09:48 UTC
I applied the patch and tried "sax2 -m 0=mga,1=mga" again.
It prints:

SaX: initializing please wait...
SaX: your current configuration will not be read in

 [?25h [?0cSaX: no X-Server is running
SaX: will start own server if needed
SaX: ups lost card during probing... abort
SaX: something went wrong while X was called with -probeonly
SaX: try to call 'sax2 -p' and select a single device ?
Comment 8 Andreas Schallenberg 2008-04-16 15:10:34 UTC
Created attachment 208354 [details]
Sax2 log file, second attempt
Comment 11 Andreas Schallenberg 2008-04-16 15:40:54 UTC
Ups, forgot to remove NEEDINFO flag
Comment 12 Marcus Schaefer 2008-04-16 15:46:40 UTC
need info from Stefan :)
Comment 14 Marcus Schaefer 2008-04-16 16:38:56 UTC
thanks for setting up the machine. The problem is as I said the started
X-Server has no MGA(1) information therefore it looks like the card
was lost during probe.

Stefan on e33 you will find 

   /tmp/sysdata-8304

which is the tmp probing file sax use to run the server.
If I call 

   X -xf86config /tmp/sysdata-8304

the process hangs and I can kill them only with -9 the log file written
in that case only contains the following:

(--) MGA(0): Chipset: "mgag400" (G450)
(==) MGA(0): Depth 24, (==) framebuffer bpp 32
(==) MGA(0): RGB weight 888
(==) MGA(0): Using AGP 1x mode
(==) MGA(0): Using XAA acceleration
(--) MGA(0): Linear framebuffer at 0xF6000000
(==) MGA(0): MMIO registers at 0xFBFFC000
(--) MGA(0): Pseudo-DMA transfer window at 0xFB000000
(==) MGA(0): BIOS at 0xC0000
(--) MGA(0): Video BIOS info block at offset 0x07CC0
(==) MGA(0): Write-combining range (0xf6000000,0x2000000)
(--) MGA(0): VideoRAM: 2048 kByte
(II) Module "ddc" already built-in
(II) Module "i2c" already built-in
(==) MGA(0): Write-combining range (0xf6000000,0x200000)
(II) MGA(0): I2C bus "DDC P1" initialized.
(II) MGA(0): I2C device "DDC P1:ddc2" registered at address 0xA0.
(II) MGA(0): I2C device "DDC P1:ddc2" removed.
(II) MGA(0): I2C Monitor info: (nil)
(II) MGA(0): end of I2C Monitor info

==> and hangs here
Comment 15 Stefan Dirsch 2008-04-16 16:53:55 UTC
I've seen this. The behaviour changes, if you connect a monitor to this card. Done. So to both cards now a monitor is connected.
Comment 16 Stefan Dirsch 2008-04-16 20:43:48 UTC
As long as Marcus is investigating this issue, I reassign this bugreport to him.
Comment 17 Marcus Schaefer 2008-04-17 09:08:21 UTC
Stefan does this mean you _have to_ connect devices to all the cards
in order to prevent the hanging X-Server in comment #14 ? It sounds a
bit strange because even if we get it to run now it will break as soon
as one card gets the monitor plugged off

I will look at the new situation now

thanks
Comment 18 Stefan Dirsch 2008-04-17 09:34:37 UTC
(In reply to comment #17 from Marcus Schaefer)
> Stefan does this mean you _have to_ connect devices to all the cards
> in order to prevent the hanging X-Server in comment #14 ? 

At least for the mga driver this seems to be the case. This was new to me as well.

> It sounds a bit strange because even if we get it to run now it will break
> as soon as one card gets the monitor plugged off

That's indeed a problem. Maybe it's time to no longer support Multicard setups? ;-) Luc told me yesterday how to figure out the primary gfx card. It's marked in the PCI config space. You can see it in a "lspci -v -v" output. Check for "Control I/O+" instead of "Control I/O-" for the VGA compatible devices, e.g. on e33:

Secondary
---------
04:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G400/G450 (rev 85) (prog-if 00 [VGA controller])
        Subsystem: Matrox Graphics, Inc. Millennium G450 Dual Head PCI
        Control: I/O- Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-

Primary
-------
05:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G400/G450 (rev 85) (prog-if 00 [VGA controller])
        Subsystem: Matrox Graphics, Inc. Millennium G450 Dual Head PCI
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-

> I will look at the new situation now

Thanks!


Comment 19 Marcus Schaefer 2008-04-17 09:50:34 UTC
it works for me now. See the file created on e33
Comment 20 Stefan Dirsch 2008-04-17 10:11:07 UTC
(In reply to comment #19 from Marcus Schaefer)
> it works for me now. See the file created on e33
.. which means that the configuration will be fixed for openSUSE 11.0 >= Beta2.

After reboot driver hangs in int10 module. But this is Bug #210988. Please do not reopen this one. Thanks.