I have tried to get my G550 dual head configuration to work for two days and read probably all relevant post on the topic. I think it is time to ask for help. I have understood that it is possible to get acceleration working for both heads with no very special tricks when "xinerama" is not enabled. I would like to use the second monitor mostly (LCD-TV) for watching DVDs. When dri support is commented out:
- Code: Select all
# Load "dri"
Xine plays a DVD ok on the primary monitor and CPU load is maybe 30%. But on the secondary monitor performance is unacceptably jerky and CPU load near 100%. This configuration also does not support chromium or other acceleration dependent software.
When dri is enabled:
- Code: Select all
Load "dri"
the system hangs after log on. The gnome visual greeter works but the desktop never appears as everything freezes after a few seconds:
- Code: Select all
...
(EE) MGA(1): Not initializing the DRI on the second head
...
(WW) MGA(1): Direct rendering disabled
...
(EE) AIGLX: Screen 1 is not DRI capable
...
Backtrace:
0: /usr/bin/X(xf86SigHandler+0x85) [0x80bfcd5]
Fatal server error:
Caught signal 11. Server aborting
(II) Screen 0 shares mem & io resources
(II) Screen 1 shares mem & io resources
(EE) MGA(0): [dri] Idle timed out, resetting engine...
(EE) MGA(0): [dri] Idle timed out, resetting engine...
(EE) MGA(0): [dri] Idle timed out, resetting engine...
(EE) MGA(0): [dri] Idle timed out, resetting engine...
# This error is repeated forever until power off
# Keyboard and mouse do not respond.
It is not quite clear to me what is required for watching video files. They probably do not require accelerated drawing of lines and boxes? Would it be enough to get some kind support for efficient video memory access on the second head or is this part of DRI or something?
The preferred solution would be to get all acceleration and fast memory access working on both heads. If this is not possible then acceleration for primary monitor and enough support for video on secondary monitor. I have xorg.conf and xorg.0.log attached. My configuration is:
P4 2400 MHz running Gentoo Linux
xorg-server version 1.1.1-r1
xorg-x11 version 7.1
kernel version 2.6.18-gentoo-r6
Primary monitor connected to VGA-port.
LCD-TV connected to DVI-port with VGA-adapter.
Latest driver installed with:
- Code: Select all
matroxdriver_mga-x86_32-4.4.2-installer.run
The support for agpgart for Intel motherboard is enabled as a module (agpgart) and Direct rendering manager for Matrox (mga). I have experimented with framebuffer support enabled and disabled with no change in behaviour.
The whole xorg.conf is attached. Here are the device section definitions that are probably the most relevant since the configuration shows picture on both monitors when dri is disabled. I wonder how the video memory should be defined and divided for two monitors:
- Code: Select all
Section "Device"
Identifier "G550"
Driver "mga"
VendorName "Matrox"
VideoRam 16384
Option "DPMS" "true"
BusID "PCI:1:0:0"
Screen 0
EndSection
Section "Device"
Identifier "G550 TV"
Driver "mga"
VendorName "Matrox"
VideoRam 16384
BusID "PCI:1:0:0"
Screen 1
EndSection
This problem does not arise when the secondary screen is commented out in the ServerLayout section. DRI is enabled and acceleration works on the primary monitor and LCD-TV says "signal out of range or something":
- Code: Select all
Screen "Screen 0"
# Screen "Screen 0" LeftOf "Screen 1"
# Screen "Screen 1"
I will now stop banging my head on the wall for tonight and wait for good advice or new ideas. Good night everybody.
-----
Tuomas


