NVidia Twinview vs Xinerama
8 March 2005

For links and details, see Sigillo/nVidia.

After adding Option "Xinerama" to trevi's XFconfig, I'm able to use KSnapshot with the "Region" setting, though the behavior is odd: When clicking "New snapshot", the left screen is duplicated on the right, and you have to take the snapshot on the right. After taking it, the screens return to normal.

Details:
NVidia calls it TwinView, XFree's version ix Xinerama. The config below is for
Xinerama, the TwinView stuff is commented out. Both Screens (DFPs in this
case) are connected to one card, it's a GF5700 AGP with two DVI ports. I'm
running this on i386.

TwinView has one advantage: it's possible to assign nvidia-settings to both
screens. The downer is, applications and your window manager don't recognize
the two screens. To them, it's only one very-wide screen. With Xinerama you
can eg. maximize to only one screen and KDE panels (GNOME ones as well I
guess) can be assigned to exactly one screen. In my case this outweighs the
benefits of TwinView.


yours,
Sönke von Stamm <sstamm@affili.net>

[Someone added: "I thought there was an option in TwinView to provide xinerama compatible
features so window managers would know the actual layout of the screen.
I thought the main difference was support for opengl on both screens or
not, and video overlay support and such."]

[Yet another chimed in,
I am using Nvidia's TwinView/Xinerama in XF86Config-4:

Option "NvAGP" "1"
Option "TwinView" "true"
Option "SecondMonitorHorizSync" "30.0-75.0"
Option "SecondMonitorVertRefresh" "50.0-85.0"
Option "MetaModes" "1280x1024, 1280x1024; 1280x1024, 1280x1024;"
Option "TwinViewOrientation" "RightOf"
Option "Xinerama" "on"

(in "Screen" section), and it works exactly as Lennart describes (panels on one screen etc.). I haven't managed to play any games apart from tuxracer yet, but it presents a problem in the fact that the game displays at 640x480 (or 800x600 i think) in between the two screens, so half the game is on the First VDU (video display unit), the other half is on the Second VDU.]

--------------------------------------------------------------------------
# XF86Config-4 (XFree86 X Window System server configuration file)

Section "ServerFlags"
Option "Xinerama"
EndSection

# Layout mit Xinerama
Section "ServerLayout"
Identifier "Dual DFP"
Screen 0 "Left DFP Screen"
Screen 1 "Right DFP Screen" RightOf "Left DFP Screen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
EndSection

## NVidia twinview
#Section "ServerLayout"
# Identifier "AGPTwinView"
# Screen "Screen AGP TwinView"
# InputDevice "Generic Keyboard"
# InputDevice "Configured Mouse"
#EndSection

Section "Files"
# local font server
# if the local font server has problems, we can fall back on these
FontPath "unix/:7100"
FontPath "/usr/lib/X11/fonts/misc"
FontPath "/usr/lib/X11/fonts/cyrillic"
FontPath "/usr/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/share/fonts/truetype"
FontPath "/usr/share/fonts/type1"
FontPath "/usr/share/fonts/type1/gsfonts"
FontPath "/usr/lib/X11/fonts/Type1"
FontPath "/usr/lib/X11/fonts/CID"
FontPath "/usr/lib/X11/fonts/Speedo"
FontPath "/usr/lib/X11/fonts/100dpi"
FontPath "/usr/lib/X11/fonts/75dpi"
EndSection

Section "Module"
Load "bitmap"
Load "dbe"
Load "ddc"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "record"
Load "speedo"
Load "type1"
Load "vbe"
# removed for nvidia driver:
# Load "GLcore"
# Load "dri"
EndSection

Section "InputDevice"
Identifier "Generic Keyboard"
Driver "keyboard"
Option "CoreKeyboard"
Option "XkbRules" "xfree86"
Option "XkbModel" "pc105"
Option "XkbLayout" "de"
Option "XkbVariant" "nodeadkeys"
EndSection

Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "Emulate3Buttons" "true"
Option "ZAxisMapping" "4 5"
EndSection

Section "Monitor"
Identifier "DFP-1"
Option "DPMS"
EndSection

Section "Monitor"
Identifier "DFP-2"
Option "DPMS"
EndSection

Section "Device"
Identifier "Gainward 980 Port 1"
Driver "nvidia"
Option "CRT2Position" "RightOf"
BusID "PCI:1:0:0"
Option "Xinerama" "true"
Screen 0
EndSection

Section "Device"
Identifier "Gainward 980 Port 2"
Driver "nvidia"
Option "CRT1Position" "LeftOf"
BusID "PCI:1:0:0"
Option "Xinerama" "true"
Screen 1
EndSection

#Section "Device"
# Identifier "NV AGP TwinView"
# VendorName "nvidia"
# Driver "nvidia"
# # update this with the PCI id of your card. Consult the output
# # of the 'lspci' command. The BusID is usually optional when
# # only using one graphics card.
# BusID "PCI:1:0:0"
#
# # sample twinview setup
# Option "TwinView"
# # be sure to replace the HorizSync and VertRefresh with correct values
# # for your monitor!
# Option "TwinViewOrientation" "RightOf"
# Option "MetaModes" "1280x1024,1280x1024;
1024x768,1024x768"
# Option "ConnectedMonitor" "dfp,dfp"
#EndSection


Section "Screen"
Identifier "Left DFP Screen"
Device "Gainward 980 Port 1"
Monitor "DFP-1"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x1024" "1280x960" "1152x864" "1024x768"
"800x600"
"640x480"
EndSubSection
EndSection

Section "Screen"
Identifier "Right DFP Screen"
Device "Gainward 980 Port 2"
Monitor "DFP-2"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x1024" "1280x960" "1152x864" "1024x768"
"800x600"
"640x480"
EndSubSection
EndSection

## From NVidia sample
#Section "Screen"
# Identifier "Screen AGP TwinView"
# Device "NV AGP TwinView"
# Monitor "DFP-1"
# DefaultColorDepth 24
# Subsection "Display"
# Depth 24
# Modes "1280x1024" "1024x768" "800x600" "640x480"
# EndSubsection
#EndSection

Section "DRI"
Mode 0666
EndSection
 

 

top