Matrox G550 fails dual-head, used to work

View: New views
4 Messages — Rating Filter:   Alert me  

Matrox G550 fails dual-head, used to work

by Steven Friedrich-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Some time ago, xorg changed something and my dual-head stopped working on all
my machines.

I think the mga driver or xserver is having trouble detecting the second head,
though it does display the same desktop as the first head.  Xinerama doesn't
appear to work. I built a new xorg.conf, but xrandr only says there's a
default output, not two.

Here's the Xorg.log (relevant part) see the last few lines...

X.Org X Server 1.4.2
Release Date: 11 June 2008
X Protocol Version 11, Revision 0
Build Operating System: FreeBSD 7.0-RELEASE-p3 i386
Current Operating System: FreeBSD freakinBSD.StevenFriedrich.org
7.0-RELEASE-p3 FreeBSD 7.0-RELEASE-p3 #78: Sat Jul 26 23:03:44 EDT 2008    
root@...:/usr/obj/usr/src/sys/FREAKINBSD i386
Build Date: 02 August 2008  01:05:33PM
 
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Module Loader present
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Wed Aug 13 18:58:53 2008
(==) Using config file: "/etc/X11/xorg.conf"
(==) ServerLayout "X.org Configured"
(**) |-->Screen "Screen0" (0)
(**) |   |-->Monitor "Monitor0"
(**) |   |-->Device "Card0"
(**) |-->Input Device "Mouse0"
(**) |-->Input Device "Keyboard0"
(==) Automatically adding devices
(==) Automatically enabling devices
(==) Including the default font
path /usr/local/lib/X11/fonts/misc/,/usr/local/lib/X11/fonts/TTF/,/usr/local/lib/X11/fonts/OTF,/usr/local/lib/X11/fonts/Type1/,/usr/local/lib/X11/fonts/100dpi/,/usr/local/lib/X11/fonts/75dpi/.
(**) FontPath set to:
        /usr/local/lib/X11/fonts/misc/,
        /usr/local/lib/X11/fonts/TTF/,
        /usr/local/lib/X11/fonts/OTF,
        /usr/local/lib/X11/fonts/Type1/,
        /usr/local/lib/X11/fonts/100dpi/,
        /usr/local/lib/X11/fonts/75dpi/,
        /usr/local/lib/X11/fonts/misc/,
        /usr/local/lib/X11/fonts/TTF/,
        /usr/local/lib/X11/fonts/OTF,
        /usr/local/lib/X11/fonts/Type1/,
        /usr/local/lib/X11/fonts/100dpi/,
        /usr/local/lib/X11/fonts/75dpi/
(**) RgbPath set to "/usr/local/share/X11/rgb"
(**) ModulePath set to "/usr/local/lib/xorg/modules"
(II) Loader magic: 0x81bcd80
(II) Module ABI versions:
        X.Org ANSI C Emulation: 0.3
        X.Org Video Driver: 2.0
        X.Org XInput driver : 2.0
        X.Org Server Extension : 0.3
        X.Org Font Renderer : 0.5
(II) Loader running on freebsd
(II) LoadModule: "pcidata"
(II) Loading /usr/local/lib/xorg/modules//libpcidata.so
(II) Module pcidata: vendor="X.Org Foundation"
        compiled for 1.4.2, module version = 1.0.0
        ABI class: X.Org Video Driver, version 2.0
(--) Using syscons driver with X support (version 2.0)
(--) using VT number 9

(II) PCI: Probing config type using method 1
(II) PCI: Config type is 1
(II) PCI: stages = 0x03, oldVal1 = 0x80021010, mode1Res1 = 0x80000000
(WW) OS did not count PCI devices, guessing wildly
(II) PCI: PCI scan (all values are in hex)
(II) PCI: 00:00:0: chip 8086,2530 card 1043,8030 rev 04 class 06,00,00 hdr 00
(II) PCI: 00:01:0: chip 8086,2532 card 0000,0000 rev 04 class 06,04,00 hdr 01
(II) PCI: 00:1e:0: chip 8086,244e card 0000,0000 rev 04 class 06,04,00 hdr 01
(II) PCI: 00:1f:0: chip 8086,2440 card 0000,0000 rev 04 class 06,01,00 hdr 80
(II) PCI: 00:1f:1: chip 8086,244b card 1043,8028 rev 04 class 01,01,80 hdr 00
(II) PCI: 00:1f:2: chip 8086,2442 card 1043,8028 rev 04 class 0c,03,00 hdr 00
(II) PCI: 00:1f:4: chip 8086,2444 card 1043,8028 rev 04 class 0c,03,00 hdr 00
(II) PCI: 01:00:0: chip 102b,2527 card 102b,0f84 rev 01 class 03,00,00 hdr 00
(II) PCI: 02:02:0: chip 105a,5275 card 1043,807e rev 01 class 01,04,85 hdr 00
(II) PCI: 02:03:0: chip 13f6,0111 card 1043,80e2 rev 10 class 04,01,00 hdr 00
(II) PCI: 02:04:0: chip 1033,0035 card 807d,0035 rev 41 class 0c,03,10 hdr 80
(II) PCI: 02:04:1: chip 1033,0035 card 807d,0035 rev 41 class 0c,03,10 hdr 00
(II) PCI: 02:04:2: chip 1033,00e0 card 807d,1043 rev 02 class 0c,03,20 hdr 00
(II) PCI: 02:0d:0: chip 1317,0985 card 1317,0574 rev 11 class 02,00,00 hdr 00
(II) PCI: End of PCI scan
(II) Intel Bridge workaround enabled
(II) Host-to-PCI bridge:
(II) Bus 0: bridge is at (0:0:0), (0,0,2), BCTRL: 0x0008 (VGA_EN is set)
(II) Bus 0 I/O range:
        [0] -1 0 0x00000000 - 0x0000ffff (0x10000) IX[B]
(II) Bus 0 non-prefetchable memory range:
        [0] -1 0 0x00000000 - 0xffffffff (0x0) MX[B]
(II) Bus 0 prefetchable memory range:
        [0] -1 0 0x00000000 - 0xffffffff (0x0) MX[B]
(II) PCI-to-PCI bridge:
(II) Bus 1: bridge is at (0:1:0), (0,1,1), BCTRL: 0x0008 (VGA_EN is set)
(II) Bus 1 non-prefetchable memory range:
        [0] -1 0 0xf4800000 - 0xf5dfffff (0x1600000) MX[B]
(II) Bus 1 prefetchable memory range:
        [0] -1 0 0xf5f00000 - 0xf7ffffff (0x2100000) MX[B]
(II) Subtractive PCI-to-PCI bridge:
(II) Bus 2: bridge is at (0:30:0), (0,2,2), BCTRL: 0x0006 (VGA_EN is cleared)
(II) Bus 2 I/O range:
        [0] -1 0 0x0000a000 - 0x0000a0ff (0x100) IX[B]
        [1] -1 0 0x0000a400 - 0x0000a4ff (0x100) IX[B]
        [2] -1 0 0x0000a800 - 0x0000a8ff (0x100) IX[B]
        [3] -1 0 0x0000ac00 - 0x0000acff (0x100) IX[B]
        [4] -1 0 0x0000b000 - 0x0000b0ff (0x100) IX[B]
        [5] -1 0 0x0000b400 - 0x0000b4ff (0x100) IX[B]
        [6] -1 0 0x0000b800 - 0x0000b8ff (0x100) IX[B]
        [7] -1 0 0x0000bc00 - 0x0000bcff (0x100) IX[B]
        [8] -1 0 0x0000c000 - 0x0000c0ff (0x100) IX[B]
        [9] -1 0 0x0000c400 - 0x0000c4ff (0x100) IX[B]
        [10] -1 0 0x0000c800 - 0x0000c8ff (0x100) IX[B]
        [11] -1 0 0x0000cc00 - 0x0000ccff (0x100) IX[B]
        [12] -1 0 0x0000d000 - 0x0000d0ff (0x100) IX[B]
        [13] -1 0 0x0000d400 - 0x0000d4ff (0x100) IX[B]
        [14] -1 0 0x0000d800 - 0x0000d8ff (0x100) IX[B]
        [15] -1 0 0x0000dc00 - 0x0000dcff (0x100) IX[B]
(II) Bus 2 non-prefetchable memory range:
        [0] -1 0 0xf2000000 - 0xf47fffff (0x2800000) MX[B]
(II) Bus 2 prefetchable memory range:
        [0] -1 0 0xf5e00000 - 0xf5efffff (0x100000) MX[B]
(II) PCI-to-ISA bridge:
(II) Bus -1: bridge is at (0:31:0), (0,-1,-1), BCTRL: 0x0008 (VGA_EN is set)
(--) PCI:*(1:0:0) Matrox Graphics, Inc. MGA G550 AGP rev 1, Mem @
0xf6000000/25, 0xf5000000/14, 0xf4800000/23, BIOS @ 0xf5fe0000/17
(II) Addressable bus resource ranges are
        [0] -1 0 0x00000000 - 0xffffffff (0x0) MX[B]
        [1] -1 0 0x00000000 - 0x0000ffff (0x10000) IX[B]
(II) OS-reported resource ranges:
        [0] -1 0 0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)
        [1] -1 0 0x000f0000 - 0x000fffff (0x10000) MX[B]
        [2] -1 0 0x000c0000 - 0x000effff (0x30000) MX[B]
        [3] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX[B]
        [4] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[B]
        [5] -1 0 0x00000000 - 0x000000ff (0x100) IX[B]
(II) PCI Memory resource overlap reduced 0xf8000000 from 0xffffffff to
0xf7ffffff
(II) Active PCI resource ranges:
        [0] -1 0 0xf2000000 - 0xf3ffffff (0x2000000) MX[B]E
        [1] -1 0 0xf2800000 - 0xf2ffffff (0x800000) MX[B]E
        [2] -1 0 0xf3000000 - 0xf3ffffff (0x1000000) MX[B]E
        [3] -1 0 0xf3800000 - 0xf3ffffff (0x800000) MX[B]E
        [4] -1 0 0xf4000000 - 0xf7ffffff (0x4000000) MX[B]E
        [5] -1 0 0xf8000000 - 0xf7ffffff (0x0) MX[B]EO
        [6] -1 0 0xf5fe0000 - 0xf5ffffff (0x20000) MX[B](B)
        [7] -1 0 0xf4800000 - 0xf4ffffff (0x800000) MX[B](B)
        [8] -1 0 0xf5000000 - 0xf5003fff (0x4000) MX[B](B)
        [9] -1 0 0xf6000000 - 0xf7ffffff (0x2000000) MX[B](B)
        [10] -1 0 0x0000a800 - 0x0000a8ff (0x100) IX[B]E
        [11] -1 0 0x0000b000 - 0x0000b0ff (0x100) IX[B]E
        [12] -1 0 0x0000b400 - 0x0000b4ff (0x100) IX[B]E
        [13] -1 0 0x0000b800 - 0x0000b8ff (0x100) IX[B]E
        [14] -1 0 0x0000d000 - 0x0000d0ff (0x100) IX[B]E
        [15] -1 0 0x0000d400 - 0x0000d4ff (0x100) IX[B]E
        [16] -1 0 0x0000d800 - 0x0000d8ff (0x100) IX[B]E
        [17] -1 0 0x00009000 - 0x000090ff (0x100) IX[B]E
        [18] -1 0 0x00009400 - 0x000094ff (0x100) IX[B]E
        [19] -1 0 0x00009800 - 0x000098ff (0x100) IX[B]E
(II) PCI Memory resource overlap reduced 0xf2000000 from 0xf3ffffff to
0xf27fffff
(II) PCI Memory resource overlap reduced 0xf3000000 from 0xf3ffffff to
0xf37fffff
(II) PCI Memory resource overlap reduced 0xf4000000 from 0xf7ffffff to
0xf47fffff
(II) Active PCI resource ranges after removing overlaps:
        [0] -1 0 0xf2000000 - 0xf27fffff (0x800000) MX[B]E
        [1] -1 0 0xf2800000 - 0xf2ffffff (0x800000) MX[B]E
        [2] -1 0 0xf3000000 - 0xf37fffff (0x800000) MX[B]E
        [3] -1 0 0xf3800000 - 0xf3ffffff (0x800000) MX[B]E
        [4] -1 0 0xf4000000 - 0xf47fffff (0x800000) MX[B]E
        [5] -1 0 0xf8000000 - 0xf7ffffff (0x0) MX[B]EO
        [6] -1 0 0xf5fe0000 - 0xf5ffffff (0x20000) MX[B](B)
        [7] -1 0 0xf4800000 - 0xf4ffffff (0x800000) MX[B](B)
        [8] -1 0 0xf5000000 - 0xf5003fff (0x4000) MX[B](B)
        [9] -1 0 0xf6000000 - 0xf7ffffff (0x2000000) MX[B](B)
        [10] -1 0 0x0000a800 - 0x0000a8ff (0x100) IX[B]E
        [11] -1 0 0x0000b000 - 0x0000b0ff (0x100) IX[B]E
        [12] -1 0 0x0000b400 - 0x0000b4ff (0x100) IX[B]E
        [13] -1 0 0x0000b800 - 0x0000b8ff (0x100) IX[B]E
        [14] -1 0 0x0000d000 - 0x0000d0ff (0x100) IX[B]E
        [15] -1 0 0x0000d400 - 0x0000d4ff (0x100) IX[B]E
        [16] -1 0 0x0000d800 - 0x0000d8ff (0x100) IX[B]E
        [17] -1 0 0x00009000 - 0x000090ff (0x100) IX[B]E
        [18] -1 0 0x00009400 - 0x000094ff (0x100) IX[B]E
        [19] -1 0 0x00009800 - 0x000098ff (0x100) IX[B]E
(II) OS-reported resource ranges after removing overlaps with PCI:
        [0] -1 0 0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)
        [1] -1 0 0x000f0000 - 0x000fffff (0x10000) MX[B]
        [2] -1 0 0x000c0000 - 0x000effff (0x30000) MX[B]
        [3] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX[B]
        [4] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[B]
        [5] -1 0 0x00000000 - 0x000000ff (0x100) IX[B]
(II) All system resource ranges:
        [0] -1 0 0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)
        [1] -1 0 0x000f0000 - 0x000fffff (0x10000) MX[B]
        [2] -1 0 0x000c0000 - 0x000effff (0x30000) MX[B]
        [3] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX[B]
        [4] -1 0 0xf2000000 - 0xf27fffff (0x800000) MX[B]E
        [5] -1 0 0xf2800000 - 0xf2ffffff (0x800000) MX[B]E
        [6] -1 0 0xf3000000 - 0xf37fffff (0x800000) MX[B]E
        [7] -1 0 0xf3800000 - 0xf3ffffff (0x800000) MX[B]E
        [8] -1 0 0xf4000000 - 0xf47fffff (0x800000) MX[B]E
        [9] -1 0 0xf8000000 - 0xf7ffffff (0x0) MX[B]EO
        [10] -1 0 0xf5fe0000 - 0xf5ffffff (0x20000) MX[B](B)
        [11] -1 0 0xf4800000 - 0xf4ffffff (0x800000) MX[B](B)
        [12] -1 0 0xf5000000 - 0xf5003fff (0x4000) MX[B](B)
        [13] -1 0 0xf6000000 - 0xf7ffffff (0x2000000) MX[B](B)
        [14] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[B]
        [15] -1 0 0x00000000 - 0x000000ff (0x100) IX[B]
        [16] -1 0 0x0000a800 - 0x0000a8ff (0x100) IX[B]E
        [17] -1 0 0x0000b000 - 0x0000b0ff (0x100) IX[B]E
        [18] -1 0 0x0000b400 - 0x0000b4ff (0x100) IX[B]E
        [19] -1 0 0x0000b800 - 0x0000b8ff (0x100) IX[B]E
        [20] -1 0 0x0000d000 - 0x0000d0ff (0x100) IX[B]E
        [21] -1 0 0x0000d400 - 0x0000d4ff (0x100) IX[B]E
        [22] -1 0 0x0000d800 - 0x0000d8ff (0x100) IX[B]E
        [23] -1 0 0x00009000 - 0x000090ff (0x100) IX[B]E
        [24] -1 0 0x00009400 - 0x000094ff (0x100) IX[B]E
        [25] -1 0 0x00009800 - 0x000098ff (0x100) IX[B]E
(II) "extmod" will be loaded. This was enabled by default and also specified
in the config file.
(II) "dbe" will be loaded. This was enabled by default and also specified in
the config file.
(II) "glx" will be loaded. This was enabled by default and also specified in
the config file.
(II) "freetype" will be loaded. This was enabled by default and also specified
in the config file.
(II) "type1" will be loaded. This was enabled by default and also specified in
the config file.
(II) "record" will be loaded. This was enabled by default and also specified
in the config file.
(II) "dri" will be loaded. This was enabled by default and also specified in
the config file.
(II) LoadModule: "extmod"
(II) Loading /usr/local/lib/xorg/modules/extensions//libextmod.so
(II) Module extmod: vendor="X.Org Foundation"
        compiled for 1.4.2, module version = 1.0.0
        Module class: X.Org Server Extension
        ABI class: X.Org Server Extension, version 0.3
(II) Loading extension SHAPE
(II) Loading extension MIT-SUNDRY-NONSTANDARD
(II) Loading extension BIG-REQUESTS
(II) Loading extension SYNC
(II) Loading extension MIT-SCREEN-SAVER
(II) Loading extension XC-MISC
(II) Loading extension XFree86-VidModeExtension
(II) Loading extension XFree86-Misc
(II) Loading extension XFree86-DGA
(II) Loading extension DPMS
(II) Loading extension TOG-CUP
(II) Loading extension Extended-Visual-Information
(II) Loading extension XVideo
(II) Loading extension XVideo-MotionCompensation
(II) Loading extension X-Resource
(II) LoadModule: "record"
(II) Loading /usr/local/lib/xorg/modules/extensions//librecord.so
(II) Module record: vendor="X.Org Foundation"
        compiled for 1.4.2, module version = 1.13.0
        Module class: X.Org Server Extension
        ABI class: X.Org Server Extension, version 0.3
(II) Loading extension RECORD
(II) LoadModule: "dbe"
(II) Loading /usr/local/lib/xorg/modules/extensions//libdbe.so
(II) Module dbe: vendor="X.Org Foundation"
        compiled for 1.4.2, module version = 1.0.0
        Module class: X.Org Server Extension
        ABI class: X.Org Server Extension, version 0.3
(II) Loading extension DOUBLE-BUFFER
(II) LoadModule: "glx"
(II) Loading /usr/local/lib/xorg/modules/extensions//libglx.so
(II) Module glx: vendor="X.Org Foundation"
        compiled for 1.4.2, module version = 1.0.0
        ABI class: X.Org Server Extension, version 0.3
(==) AIGLX disabled
(II) Loading extension GLX
(II) LoadModule: "xtrap"
(II) Loading /usr/local/lib/xorg/modules/extensions//libxtrap.so
(II) Module xtrap: vendor="X.Org Foundation"
        compiled for 1.4.2, module version = 1.0.0
        Module class: X.Org Server Extension
        ABI class: X.Org Server Extension, version 0.3
(II) Loading extension DEC-XTRAP
(II) LoadModule: "dri"
(II) Loading /usr/local/lib/xorg/modules/extensions//libdri.so
(II) Module dri: vendor="X.Org Foundation"
        compiled for 1.4.2, module version = 1.0.0
        ABI class: X.Org Server Extension, version 0.3
(II) Loading extension XFree86-DRI
(II) LoadModule: "freetype"
(II) Loading /usr/local/lib/xorg/modules/fonts//libfreetype.so
(II) Module freetype: vendor="X.Org Foundation & the After X-TT Project"
        compiled for 1.4.2, module version = 2.1.0
        Module class: X.Org Font Renderer
        ABI class: X.Org Font Renderer, version 0.5
(II) Loading font FreeType
(II) LoadModule: "type1"
(II) Loading /usr/local/lib/xorg/modules/fonts//libtype1.so
(II) Module type1: vendor="X.Org Foundation"
        compiled for 1.4.2, module version = 1.0.2
        Module class: X.Org Font Renderer
        ABI class: X.Org Font Renderer, version 0.5
(II) Loading font Type1
(II) LoadModule: "mga"
(II) Loading /usr/local/lib/xorg/modules/drivers//mga_drv.so
(II) Module mga: vendor="X.Org Foundation"
        compiled for 1.4.2, module version = 1.4.7
        Module class: X.Org Video Driver
        ABI class: X.Org Video Driver, version 2.0
(II) LoadModule: "mouse"
(II) Loading /usr/local/lib/xorg/modules/input//mouse_drv.so
(II) Module mouse: vendor="X.Org Foundation"
        compiled for 1.4.2, module version = 1.2.3
        Module class: X.Org XInput Driver
        ABI class: X.Org XInput driver, version 2.0
(II) LoadModule: "kbd"
(II) Loading /usr/local/lib/xorg/modules/input//kbd_drv.so
(II) Module kbd: vendor="X.Org Foundation"
        compiled for 1.4.2, module version = 1.2.2
        Module class: X.Org XInput Driver
        ABI class: X.Org XInput driver, version 2.0
(II) MGA: driver for Matrox chipsets: mga2064w, mga1064sg, mga2164w,
        mga2164w AGP, mgag100, mgag100 PCI, mgag200, mgag200 PCI,
        mgag200 SE A PCI, mgag200 SE B PCI, mgag400, mgag550
(II) Primary Device is: PCI 01:00:0
(--) Chipset mgag550 found
(II) resource ranges after xf86ClaimFixedResources() call:
        [0] -1 0 0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)
        [1] -1 0 0x000f0000 - 0x000fffff (0x10000) MX[B]
        [2] -1 0 0x000c0000 - 0x000effff (0x30000) MX[B]
        [3] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX[B]
        [4] -1 0 0xf2000000 - 0xf27fffff (0x800000) MX[B]E
        [5] -1 0 0xf2800000 - 0xf2ffffff (0x800000) MX[B]E
        [6] -1 0 0xf3000000 - 0xf37fffff (0x800000) MX[B]E
        [7] -1 0 0xf3800000 - 0xf3ffffff (0x800000) MX[B]E
        [8] -1 0 0xf4000000 - 0xf47fffff (0x800000) MX[B]E
        [9] -1 0 0xf8000000 - 0xf7ffffff (0x0) MX[B]EO
        [10] -1 0 0xf5fe0000 - 0xf5ffffff (0x20000) MX[B](B)
        [11] -1 0 0xf4800000 - 0xf4ffffff (0x800000) MX[B](B)
        [12] -1 0 0xf5000000 - 0xf5003fff (0x4000) MX[B](B)
        [13] -1 0 0xf6000000 - 0xf7ffffff (0x2000000) MX[B](B)
        [14] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[B]
        [15] -1 0 0x00000000 - 0x000000ff (0x100) IX[B]
        [16] -1 0 0x0000a800 - 0x0000a8ff (0x100) IX[B]E
        [17] -1 0 0x0000b000 - 0x0000b0ff (0x100) IX[B]E
        [18] -1 0 0x0000b400 - 0x0000b4ff (0x100) IX[B]E
        [19] -1 0 0x0000b800 - 0x0000b8ff (0x100) IX[B]E
        [20] -1 0 0x0000d000 - 0x0000d0ff (0x100) IX[B]E
        [21] -1 0 0x0000d400 - 0x0000d4ff (0x100) IX[B]E
        [22] -1 0 0x0000d800 - 0x0000d8ff (0x100) IX[B]E
        [23] -1 0 0x00009000 - 0x000090ff (0x100) IX[B]E
        [24] -1 0 0x00009400 - 0x000094ff (0x100) IX[B]E
        [25] -1 0 0x00009800 - 0x000098ff (0x100) IX[B]E
(II) resource ranges after probing:
        [0] -1 0 0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)
        [1] -1 0 0x000f0000 - 0x000fffff (0x10000) MX[B]
        [2] -1 0 0x000c0000 - 0x000effff (0x30000) MX[B]
        [3] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX[B]
        [4] -1 0 0xf2000000 - 0xf27fffff (0x800000) MX[B]E
        [5] -1 0 0xf2800000 - 0xf2ffffff (0x800000) MX[B]E
        [6] -1 0 0xf3000000 - 0xf37fffff (0x800000) MX[B]E
        [7] -1 0 0xf3800000 - 0xf3ffffff (0x800000) MX[B]E
        [8] -1 0 0xf4000000 - 0xf47fffff (0x800000) MX[B]E
        [9] -1 0 0xf8000000 - 0xf7ffffff (0x0) MX[B]EO
        [10] -1 0 0xf5fe0000 - 0xf5ffffff (0x20000) MX[B](B)
        [11] -1 0 0xf4800000 - 0xf4ffffff (0x800000) MX[B](B)
        [12] -1 0 0xf5000000 - 0xf5003fff (0x4000) MX[B](B)
        [13] -1 0 0xf6000000 - 0xf7ffffff (0x2000000) MX[B](B)
        [14] 0 0 0x000a0000 - 0x000affff (0x10000) MS[B]
        [15] 0 0 0x000b0000 - 0x000b7fff (0x8000) MS[B]
        [16] 0 0 0x000b8000 - 0x000bffff (0x8000) MS[B]
        [17] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[B]
        [18] -1 0 0x00000000 - 0x000000ff (0x100) IX[B]
        [19] -1 0 0x0000a800 - 0x0000a8ff (0x100) IX[B]E
        [20] -1 0 0x0000b000 - 0x0000b0ff (0x100) IX[B]E
        [21] -1 0 0x0000b400 - 0x0000b4ff (0x100) IX[B]E
        [22] -1 0 0x0000b800 - 0x0000b8ff (0x100) IX[B]E
        [23] -1 0 0x0000d000 - 0x0000d0ff (0x100) IX[B]E
        [24] -1 0 0x0000d400 - 0x0000d4ff (0x100) IX[B]E
        [25] -1 0 0x0000d800 - 0x0000d8ff (0x100) IX[B]E
        [26] -1 0 0x00009000 - 0x000090ff (0x100) IX[B]E
        [27] -1 0 0x00009400 - 0x000094ff (0x100) IX[B]E
        [28] -1 0 0x00009800 - 0x000098ff (0x100) IX[B]E
        [29] 0 0 0x000003b0 - 0x000003bb (0xc) IS[B]
        [30] 0 0 0x000003c0 - 0x000003df (0x20) IS[B]
(II) Setting vga for screen 0.
(II) Loading sub module "vgahw"
(II) LoadModule: "vgahw"
(II) Loading /usr/local/lib/xorg/modules//libvgahw.so
(II) Module vgahw: vendor="X.Org Foundation"
        compiled for 1.4.2, module version = 0.1.0
        ABI class: X.Org Video Driver, version 2.0
(--) MGA(0): Chipset: "mgag550"
(==) 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 0xF5000000
(--) MGA(0): Pseudo-DMA transfer window at 0xF4800000
(--) MGA(0): BIOS at 0xF5FE0000
Requesting insufficient memory window!: start: 0xf4800000 end: 0xf5dfffff size
0x2000000
(EE) Cannot find empty range to map base to
(WW) MGA(0): Video BIOS info block not detected!
_______________________________________________
freebsd-x11@... mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-x11
To unsubscribe, send any mail to "freebsd-x11-unsubscribe@..."

Re: Matrox G550 fails dual-head, used to work

by Warren Block :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Wed, 13 Aug 2008, Steven Friedrich wrote:

> Some time ago, xorg changed something and my dual-head stopped working on all
> my machines.
>
> I think the mga driver or xserver is having trouble detecting the second head,
> though it does display the same desktop as the first head.  Xinerama doesn't
> appear to work. I built a new xorg.conf, but xrandr only says there's a
> default output, not two.

If you want dual head on a Matrox card with the latest ported
xorg-server, you need xf86-video-mga-1.9.100.  That version of the
driver was in ports for a while, but people using modelines had trouble
and it was backed out.  You can use portdowngrade to get 1.9.100.

Additionally, you need to patch xorg-server so it can read the Matrox
video BIOS.

G550 with two VGA ports should work, I think.  G550 with DVI, maybe not.

Documentation here:

http://wonkity.com/~wblock/mgapatch/

-Warren Block * Rapid City, South Dakota USA
_______________________________________________
freebsd-x11@... mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-x11
To unsubscribe, send any mail to "freebsd-x11-unsubscribe@..."

Re: Matrox G550 fails dual-head, used to work

by Callum Gibson :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I'm a bit behind...

On 13Aug08 21:21, Warren Block wrote:
>> Some time ago, xorg changed something and my dual-head stopped working on
>> all my machines.
>>
>> I think the mga driver or xserver is having trouble detecting the second
>> head, though it does display the same desktop as the first head.  Xinerama
>> doesn't appear to work. I built a new xorg.conf, but xrandr only says
>> there's a default output, not two.
}
}If you want dual head on a Matrox card with the latest ported xorg-server,
}you need xf86-video-mga-1.9.100.  That version of the driver was in ports
}for a while, but people using modelines had trouble and it was backed out.  
}You can use portdowngrade to get 1.9.100.
}
}Additionally, you need to patch xorg-server so it can read the Matrox video
}BIOS.
}
}G550 with two VGA ports should work, I think.  G550 with DVI, maybe not.

1.9.100 does not support dual DVI properly - you get the second panel
offset. That's because it's missing the necessary code to do it.

As Warren said, 1.4.X doesn't work with dual heads at all.

Apart from trying to work out how to reverse engineer the matrox driver
code and fill in the missing bits (which the maintainer doesn't even seem
to be willing to do), the only other option is to use the linux binary
driver from the ports. This also used to work, and apparently people have
it working under 6.X, but under 7.X you get:

http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/117907

I'm beginning to think this will be the only way to get dual dvi going
for matrox cards, but it seems to involve addressing a problem with the
linuxulator which I don't yet understand.

    C

--

Callum Gibson @ home
http://members.optusnet.com.au/callumgibson/
_______________________________________________
freebsd-x11@... mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-x11
To unsubscribe, send any mail to "freebsd-x11-unsubscribe@..."

Working! (was Re: Matrox G550 fails dual-head, used to work)

by Callum Gibson :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 04Sep08 06:40, Callum Gibson wrote:
}to be willing to do), the only other option is to use the linux binary
}driver from the ports. This also used to work, and apparently people have
}it working under 6.X, but under 7.X you get:
}
}http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/117907
}
}I'm beginning to think this will be the only way to get dual dvi going
}for matrox cards, but it seems to involve addressing a problem with the
}linuxulator which I don't yet understand.

I've worked out how to get the linux mga_hal driver to work under 7.X
and now have dual DVI screens working with my G550 again!  It turns out
to have nothing to do with linux emulation at all.

Apparently mga_hal only ever worked because Xorg loaded in the linux .so
files directly, and likewise the linux libs pulled in the FreeBSD
libc.so.6, not the linux libc - no emulation required. This is arguably
not meant to work, but I guess both systems use gcc and there are no
system calls so it happens to work.

Ok, so after installing mga_hal from ports you'll have 2 new .so files
in /usr/local/lib/modules/drivers. You'll need to symlink or copy these
to where Xorg 7.3 expects to find them, which is
/usr/local/lib/xorg/modules/drivers.  Note, if you have xf86-video-mga
installed you might want to back up the previous version of mga_drv.so.
You might also want to copy the files so if you make a mistake and mangle
the mga_hal libraries you can start again.

One this is done, you should see the GLIBC dependency error as per PR
117907 when you try to start Xorg.  For whatever reason, something in
the runtime linker has changed between FreeBSD 6.X and 7.X so that it
picks up a version dependency in mga_drv.so and mga_hal_drv.so, even
though it's marked as a weak symbol from what I can tell. You can see
this by running:

% readelf -V /usr/local/lib/xorg/modules/drivers/mga_drv.so

At the bottom you will see:

Version needs section '.gnu.version_r' contains 1 entries:
 Addr: 0x0000000000003de0  Offset: 0x003de0  Link to section: 3 (.dynstr)
  000000: Version: 1  File: libc.so.6  Cnt: 1
  0x0010:   Name: GLIBC_2.1.3  Flags: none  Version: 2

You can run the following to see all the version info that is causing problems.

% readelf -a /usr/local/lib/xorg/modules/drivers/mga_drv.so |grep VER
  [ 4] .gnu.version      VERSYM          00003aee 003aee 0002f0 02   A  2   0  2
  [ 5] .gnu.version_r    VERNEED         00003de0 003de0 000020 00   A  3   1  4
 0x6ffffffe (VERNEED)                    0x3de0
 0x6fffffff (VERNEEDNUM)                 1
 0x6ffffff0 (VERSYM)                     0x3aee

Now, you need to hack both the linux .so files to eliminate this dependency.
Eliminating the version sections is the easy bit. As root from
/usr/local/lib/xorg/modules/drivers...

# objcopy -R .gnu.version -R .gnu.version_r mga_drv.so
# objcopy -R .gnu.version -R .gnu.version_r mga_hal_drv.so

We also need to remove references to those sections from the Dynamic segment
so the linker doesn't still go looking for them. You can find the relevant
parts by doing this:

The first hex number should be the same (maps to the tag type), but the
second column of numbers (the value) might be different depending on
your library. You will see the same tags in mga_hal_drv.so (with different
values again).

Now for the tricky bit. You need to edit the .so file with a hex editor
(eg. editors/hexedit in port) and search for the tags. Note, in hexedit, the
tag's hex value is byte-swapped on little endian machines. So I search for
feffff6f (rather than 6ffffffe) to find the VERNEED tag and after that
you will see (using my values above) "E0 3D". Here is the whole relevant
line as displayed in hexedit:

000354C0   FE FF FF 6F  E0 3D 00 00  FF FF FF 6F  01 00 00 00  F0 FF FF 6F  EE 3A

You need to null out the tag and values entirely. In other words write over
"FE FF FF 6F  E0 3D" with zeroes. Likewise "FF FF FF 6F  01" and
"F0 FF FF 6F  EE 3A".

After saving, try:

% readelf -a /usr/local/lib/xorg/modules/drivers/mga_drv.so |grep VER

again, and there should be no output. Repeat editing on mga_hal_drv.so.

As per other posts on this issue, you can now run Xorg -ignoreABI and
it will successfully load up the linux .so files, and resolve the libc.so.6
reference against compat6x's libc.so.6 in /usr/local/lib/compat. You'll
probably still need an appropriate xorg.conf for xinerama to work, but
you should not have the GLIBC fatal error.

The only other issue I have had since is that I noticed my window titles
weren't redrawing properly and then starting firefox caused a crash. I
removed BackingStore option, which I'd inherited from someone's xorg.conf,
and that seems to have fixed the problem. So far, so good. All the other
usual stuff is there, including subpixel rendering for font smoothing.

I'm not sure if there is a way to do that hexediting in ports for 7.X
machines or if a pre-hacked version of the libs could be distributed.

    C

--

Callum Gibson @ home
http://members.optusnet.com.au/callumgibson/
_______________________________________________
freebsd-x11@... mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-x11
To unsubscribe, send any mail to "freebsd-x11-unsubscribe@..."
LightInTheBox - Buy quality products at wholesale price!