Bugzilla – Bug 380298
sax2: failed to setup two G* Matrox cards
Last modified: 2008-04-17 10:11:07 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.
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
Created attachment 208343 [details] sax2 log file
Created attachment 208344 [details] X.org configuration file
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.
does the following patch fix the problem ?
Created attachment 208350 [details] sax2.diff
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 ?
Created attachment 208354 [details] Sax2 log file, second attempt
Ups, forgot to remove NEEDINFO flag
need info from Stefan :)
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
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.
As long as Marcus is investigating this issue, I reassign this bugreport to him.
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
(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!
it works for me now. See the file created on e33
(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.