Bug 142831

Summary: Installation, due to ignoring matrox multihead possibily, doesn't support matrox multihead, at least in some cases.
Product: [openSUSE] SUSE LINUX 10.0 Reporter: Olli Artemjev <grey-olli>
Component: KernelAssignee: Olaf Kirch <okir>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Major    
Priority: P4 - Low CC: eich, grey-olli, sndirsch
Version: FinalKeywords: Fix_No_Build, release_note
Target Milestone: ---   
Hardware: i686   
OS: SuSE Linux 10.0   
Whiteboard:
Found By: Customer Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Olli Artemjev 2006-01-12 14:51:42 UTC
I've 3 monitors. Two 17" on Matrox AGP card (dual head) and one 15" on ATI PCI card (single head). To enable support for second monitor I had to recompile kernel & eneable some modules. W/o this the installation saw only two from free monitors.

I've following hardware (taken from yast hardware detection info):

25: PCI 20a.0: 0300 VGA compatible controller (VGA)
  [Created at pci.277]
  UDI: /org/freedesktop/Hal/devices/pci_1002_5654
  Unique ID: y9as.vMIeqvjWLh3
  Parent ID: 6NW+.carL4jV6EX3
  SysFS ID: /devices/pci0000:00/0000:00:1e.0/0000:02:0a.0
  SysFS BusID: 0000:02:0a.0
  Hardware Class: graphics card
  Model: "ATI Mach64 VT"
  Vendor: pci 0x1002 "ATI Technologies Inc"
  Device: pci 0x5654 "Mach64 VT"
  Revision: 0x48
  Memory Range: 0xf1000000-0xf1ffffff (rw,non-prefetchable,disabled)
  I/O Ports: 0xd400-0xd4ff (rw,disabled)
  Memory Range: 0xf5ee0000-0xf5eeffff (ro,prefetchable,disabled)
  Module Alias: "pci:v00001002d00005654sv00000000sd00000000bc03sc00i00"
  Driver Info #0:
    XFree86 v4 Server Module: ati
  Config Status: cfg=yes, avail=yes, need=yes, active=unknown
  Attached to: #17 (PCI bridge)

23: PCI(AGP) 100.0: 0300 VGA compatible controller (VGA)
  [Created at pci.277]
  UDI: /org/freedesktop/Hal/devices/pci_102b_525
  Unique ID: VCu0.mBMLZvg2uM8
  Parent ID: vSkL.UFGjxxbnmrA
  SysFS ID: /devices/pci0000:00/0000:00:01.0/0000:01:00.0
  SysFS BusID: 0000:01:00.0
  Hardware Class: graphics card
  Model: "Matrox G450 LE"
  Vendor: pci 0x102b "Matrox Graphics, Inc."
  Device: pci 0x0525 "MGA G400 AGP"
  SubVendor: pci 0x102b "Matrox Graphics, Inc."
  SubDevice: pci 0x07c0 "G450 LE"
  Revision: 0x82
  Driver: "matrox_w1"
  Memory Range: 0xf6000000-0xf7ffffff (rw,prefetchable)
  Memory Range: 0xf4000000-0xf4003fff (rw,non-prefetchable)
  Memory Range: 0xf3800000-0xf3ffffff (rw,non-prefetchable)
  Memory Range: 0xf5fe0000-0xf5ffffff (ro,prefetchable,disabled)
  IRQ: 11 (150157 events)
  I/O Ports: 0x3c0-0x3df (rw)
  Module Alias: "pci:v0000102Bd00000525sv0000102Bsd000007C0bc03sc00i00"
  Driver Info #0:
    XFree86 v4 Server Module: mga
  Driver Info #1:
    XFree86 v4 Server Module: mga
    3D Support: yes
    Extensions: dri
  Config Status: cfg=yes, avail=yes, need=yes, active=unknown
  Attached to: #16 (PCI bridge)

Unfortunately I don't remember what exactly I enabled in kernel compilation - just enabled on readaing help & all works. ;) 

Though I know, that SuSE 9.2 installation detects my 3 heads OK. (The only thing I disliked in SuSE multihead configurator was enabling DPMS only for monitors on my primary (AGP) card, so I had to review config by hands. %) )

Probably that beheviour should be documented in relase notes?
Comment 1 Olaf Kirch 2006-01-12 15:00:34 UTC
Not sure if this is X11 or yast, but whatever it is, it's not kernel :)
Comment 2 Olli Artemjev 2006-01-12 15:08:22 UTC
Well.. 've reread my post.. I'm speaking about second monitor on Matrox card, if not yet clear from the summary. %)

In working self-recompiled kernel I've at least the following:
skylab:/usr/src # grep -i matrox /usr/src/linux-2.6.13-15.7/.config
CONFIG_W1_MATROX=m
CONFIG_FB_MATROX=y
# CONFIG_FB_MATROX_MILLENIUM is not set
# CONFIG_FB_MATROX_MYSTIQUE is not set
CONFIG_FB_MATROX_G=y
CONFIG_FB_MATROX_I2C=m
CONFIG_FB_MATROX_MAVEN=m
CONFIG_FB_MATROX_MULTIHEAD=y
skylab:/usr/src #

The full kernel configuration for my system is _temporary_ avaliable as 'http://olli.digger.org.ru/files/pub/user.hints/linux-2.6.13-15.7-custom.config' & will be there till next web-server content upgrade. ( I donno how long %) ).
Comment 3 Olli Artemjev 2006-01-12 15:09:32 UTC
it _IS_ kernel since it require to enable the kernel module that is OFF by default. :/
Comment 4 Stefan Dirsch 2006-01-12 15:14:37 UTC
Sorry, but we only support the generic framebuffer, because we've seen to much trouble with native hardware framebuffers like matrox.
Comment 5 Olli Artemjev 2006-01-12 15:31:07 UTC
OK. Though if the 'matrox dual head customisation needed' support notice 'll be documented in release notes I'm able to leave the proposed custom kernel configuration that will most probably solve the support of matrox multihead for a long time on my web. Should I? 
Comment 10 Stefan Dirsch 2006-01-21 16:45:25 UTC
Proposed kernel configuration changes:

-# CONFIG_FB_MATROX is not set
+CONFIG_FB_MATROX=m
+CONFIG_FB_MATROX_MILLENIUM=y
+CONFIG_FB_MATROX_MYSTIQUE=y
+CONFIG_FB_MATROX_G=y
+CONFIG_FB_MATROX_I2C=m
+CONFIG_FB_MATROX_MAVEN=m
+CONFIG_FB_MATROX_MULTIHEAD=y
Comment 11 Stefan Dirsch 2006-01-21 16:48:51 UTC
Are there any reasons why we disabled build of the matrox fb module? Otherwise I suggest to do the changes mentioned in comment #10.
Comment 12 Egbert Eich 2006-01-23 09:47:01 UTC
Well, we don't support the native framebuffer drivers in any way. Still we seem to ship most of them (with the only exception of the matrox?). So it would make sense to also ship the matrox module.
Do we have to do anything to prevent them from being autodetected and used?
Comment 13 Stefan Dirsch 2006-01-23 10:10:49 UTC
I agree. The native framebuffer drivers should't be autodetected and used by default, but in the past this was broken in every new release. :-(
Comment 14 Olaf Kirch 2006-01-23 11:00:23 UTC
Enabled matrox fb driver on i386. This change will be in beta2.