View Single Post
Old 05-23-09, 07:39 PM   #6
Registered User
Join Date: Mar 2009
Posts: 5
Exclamation Re: Xinerama (3 monitors) Double Cursor, GLX Bad Drawable on 2nd wine launch,no termi

Thank you for your quick responses. I wanted to wait until I could try some new things before replying. Well, I have 2 new things to try!

First I tested my old setup with the new 185.18.10 drivers. No issue was fixed. Now I went ahead and ordered a Dualhead2go box (the D2G-A2D) and just got done connecting it, reconfiguring X and benchmarking a couple of games.

Issues 1-3 listed are no longer present. My new setup is:

[ 1 | 2 ][ 3 ]
{nVidia Card}

To get it working:

1. I started with a minimal xorg.conf (backed up my old one)
2. Booted into my GUI (KDE 3.5 in my case)
3. Started nVidia X Server settings (in the gui)
a) enabled the 2nd monitor (which it detected as simply "Matrox")
b) selected 2560x1024 from the pulldown
c) I dragged the new "Matrox" monitor to the correct position on the layout and hit apply.
d) Clicked on "Save to X Configuration File"
e) Clicked on "Show Preview"
f) Unchecked "Merge with existing file" (gives a fresh xorg - ignores changes you've made)
g) Highlighted the whole thing (Cntrl + A) and selected copy (Right click > Copy)
4. Open a konsole
a) Typed:
sudo kwrite /etc/X11/xorg.conf
5. Kwrite will open, deleted the whole xorg.conf and pasted in the one the nVidia Settings program created.
a) added the following line in the "Device" section:
Busid "PCI:3:0:0"
I was getting errors when booting "Device not found" until I added this line. Replace "PCI:3:0:0" with your correct busid, find it by running "lspci" at the command prompt and look for the line with your video card. Note that hex values should be converted to decimal (Ex: a:0:0 should be 10:0:0). As always consult your nVidia documentation and of course backup your old xorg.conf before making changes.

b) Saved the xorg.conf and rebooted. Below is my current working xorg.conf (note I still need to work on it to enable compiz and possibly get X to recognize the correct monitor boundaries):
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 1.0  (buildmeister@builder63)  Thu Apr 30 17:38:47 PDT 2009

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"

Section "Files"

Section "Module"

#    Load           "freetype"
    Load           "dbe"
    Load           "extmod"
#    Load           "type1"
    Load           "glx"

Section "ServerFlags"
    Option         "Xinerama" "0"

Section "InputDevice"

    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"

Section "InputDevice"

    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"

Section "Monitor"

    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Matrox"
    HorizSync       31.5 - 80.0
    VertRefresh     57.0 - 75.0
    Option         "DPMS"

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    Busid	   "PCI:3:0:0"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 8600 GT"

Section "Screen"

# Removed Option "metamodes" "DFP-0: 1280x1024 +2560+0, DFP-1: 2560x1024 +0+0"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView" "1"
    Option         "TwinViewXineramaInfoOrder" "CRT-1"
    Option         "metamodes" "CRT: 2560x1024 +0+0, DFP: 1280x1024 +2560+0"
    SubSection     "Display"
        Depth       24

6. Success! (and ghosting...)

Well it works, the only issue is ghosting (most visible with black text on a white background). The ghosting issue is most likely due to having to convert the DVI connector on my video card to VGA to connect to the Matrox DH2G box. I've tried 3 adaptors (the one that came with the videocard, a Belkin "Pro" adapter, and a Macbook Pro adapter) the issue affected all 3 (and seemed more pronounced on the Belkin adapter). I'm going to order a VGA to DVI cable to see if that fixes the issue (1 less boundary for signal reflections to occur).

I have not tried to get compiz working yet and I have not found a way to define my new 2560x1024 "screen" as two 1280x1024 screens (so programs will maximize to one monitor, not two). I'll be working on that and updating that in a bit.

Now my crude benchmarking:

<< 3 Monitors, Two GeForce 8600's w/ xinerama enabled >>

Half-Life 2 episode 2 2560x1024 Windowed (centered on middle monitor)
17-40 outdoors (final encounter with striders, low point was a building exploding)
40-60fps indoors (~90 fps peak in low detail areas)

Neverwinter Nights 2560x1024 windowed (centered on middle monitor)
30-60 (saw momentary peaks in the 100s)

Disabled Xinerama, installed DH2G box, tried games with the same settings:

HL2 (2560x1024)
22-53 fps (final encounter, again typically 30fps or above, 22fps lowpoint when a building was exploding)
50-80 fps indoors (120 fps in narrow passages)

Unable to test atm since the game only detects 3840x1024 resolution. Even at that higher resolution though I was seeing:
35-55 fps

I'll figure out how to define the metamodes (I believe that's what I'm missing...) in my xorg and update what results I'm getting.

Only other issue is issue 4, Programs still maximize across 2 monitors. I'll have to look into that later. But good suggestion on the Matrox box. Had I known sooner I could have saved the cost of my 2nd videocard *and* gotten better performance!
JFMR is offline   Reply With Quote