Go Back   nV News Forums > Linux Support Forums > NVIDIA Linux

Newegg Daily Deals

Thread Tools
Old 04-26-06, 03:43 PM   #1
Registered User
Join Date: Apr 2006
Posts: 12
Default Help me understand Twinview vs. Xinerama

I'm afraid I'm really confused about Twinview.

As far as I can gather, this is similar to proprietary multi-monitor drivers that existed in the Windows world prior to Windows native support of multiple display cards and monitors.

Am I on the right track?

So, not every Linux distribution has Xinerama, so Nvidia has their own proprietary solution?

What is puzzling/annoying me is that it seems I HAVE to use Twinview to get a dual-screen desktop. (I am using an XFX 6800 XTreme on Fedora Core 5).

My first go-around I tried the out-of-the-box multiple monitor support in Fedora Core 5, which utterly failed. I came here, and found there was a bug in the current driver for dual-DVI out. So, I backed-off to analog cables. Still, no go. Then I RTFM and set-up Twinview, ignoring the native Fedora Core 5 multi-monitor configuration dialogs. (FWIW, I then tried dual-DVI again, but of course encountered the bug...)

I think I may like to ultimately go to more than 2 screens. I'm trying to transition as much as possible from Windows. Previously, I had my Windows system set up with 4 screens (Samsung 213Ts) but I've reconfigured so that I now have 2 screens on Windows and 2 on Linux (using Synergy for keyboard/mouse sharing). As I move things to Linux, I'd ultimately like to go to 3 or possibly 4 screens on Linux. (I am aware of the 4096-pixel limitation so, for now, I think the limit would be 3 screens of 1600 pixels wide.)

My mother board (ASUS A8n-SLI Premium) will take two PCIe graphics cards. How would I set it up for 3 or 4 screens, adding another graphics card? Would I have to use some Frankenstein-monster combination of the native multi-screen support and Twinview. (I am thinking they call it TWIN-view for a reason...)

What I am thinking is that when I set up the native multi-display support, it is thinking that one graphics card is two, and getting confused (or the driver doesn't support this - I know in Windows typically dual-output cards have a "virtual" driver for the second display, which makes Windows think there is a seperate card for each display).

I'm wondering if getting a second graphics card now, rather than later, will solve my problem with the DVI outputs. That is, I will have two cards running with the native support without TwinView, and so the dual-DVI bug won't occur.

Otherwise, I have to back-up to the previous driver version. I'm a bit concerned about the memory leak that I've read about in that version. Plus, I will have to go through the painful install with re-build of the kernel interface. (I installed the current driver from the Livna repository - they don't have an RPM of the previous driver version built for the current FC5 kernel.)

I guess it's not really Xinerama "vs" Twinview. You apparenly use Xinerama even with Twinview.

I'm a software engineer (granted, with limited Linux experience) and I am confused. It's a wonder that any normal end-user ever gets this driver working...

Can somebody explain the relationship between Twinview and Xinerama, or point me to a lucid discussion of the topic?
jtara is offline   Reply With Quote
Old 04-27-06, 01:49 AM   #2
Registered User
Join Date: Aug 2003
Posts: 1,026
Default Re: Help me understand Twinview vs. Xinerama

You are right, Twinview is a hack added by nvidia to their driver. It creates a single display area that the card displays on two monitors. So, for the X server there is only a single screen.

This has advantages and disadvantages. X has always supported multiple screens, but Xinerama has been added later. Maybe after Twinview was first implemented, I don't know.
Without Xinerama, you will have separate screens that each can display application windows, but you cannot move windows from one screen to another. Also, each screen usually has its own instance of the window manager, so you have a separate taskbar, set of desktop icons, etc. Almost like two computers controlled with a single keyboard and mouse.

With two screens having different resolution, the advantage is that there is no "unreachable area" that would exist when the two different screens are placed inside a single rectangle. Twinview has options to work around this, but with two X screens it simply doesn't exist.

I actually prefer this setup, because it operates much more predictable. No windows that straddle two screens, dialogs popping up on another screen (so you have to look around when you have clicked "open" to find where the open dialog has gone this time), etc.

In older videocards, there often were lots of limitations when driving two screens from one chip. For example, video overlays only on one monitor. Twinview circumvented some of these limitations (probably because there really is only one screen). However, it seems like this is no longer a problem on new cards.

I have been using the two-X-screens without Twinview or Xinerama mode for quite some time, and I like it. Others with different work patterns may prefer Twinview.

With the multiple X screens approach, it is no problem to add more screens.
The X server can even drive multiple graphic cards of different make.
To use more than one X screen on the same card, you just add a configuration section for the same card, but with the added option "screen 1". The driver will know that it has to control the second port on the same card.

Like this:

Section "Device"
BoardName "GeForce 6600 GT/AGP/SSE2"
VendorName "NVidia"
BusID "1:0:0"
Driver "nvidia"
Identifier "Device0"
Screen 0

Section "Device"
BoardName "GeForce 6600 GT/AGP/SSE2"
VendorName "NVidia"
BusID "1:0:0"
Driver "nvidia"
Identifier "Device1"
Screen 1
pe1chl is offline   Reply With Quote
Old 05-03-06, 09:29 AM   #3
Registered User
Join Date: May 2006
Posts: 5
Default Re: Help me understand Twinview vs. Xinerama

Actually thats not accurate.

Twinview will allow a single x server to share two screens from the same video card. You can then drag windows between the two screens no problem. xinerama will also allow you to do this, but it does it by running a X server for each screen and then sits on top of the server calls to make it appear as one X server.

Xinerama is slower.

Twinview is faster.

I have a dual card setup and switch between 3 and 2 monitors depending on where I am.

When I run two monitors off of one card I use twinview and glxgears (I know its not a real benchmark, use it as a comparison ) runs at 12000 fps.

When I run three monitors and use xinerama (twinview works only off of a single card and won't combine output over two cards [SLI excepted of course]) I get around 5000 fps in glxgears.

For me its not that big of a deal. I too am a programmer and I don't play games.

I'm also running xorg 7, XGL and compiz (cool eye-candy ) and I notice in the xinerama setup that the slower fps makes the window opening effects look a little hokey, but thats about it.

If you need it I can pop up a couple of xorg.conf files.

-- Randy
rcarver is offline   Reply With Quote

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

All times are GMT -5. The time now is 03:31 PM.

Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2015, Jelsoft Enterprises Ltd.
Copyright 1998 - 2014, nV News.