Jump to content

NVIDIA/Stereo

From Wikibooks, open books for an open world

[From gmpf.de retrieved via google cache]

Stereoscopy (or stereo for short) is a way of running 3D applications in true stereo so when viewed correctly appear to have depth.

What is needed for Stereo

[edit | edit source]

The following are required to use stereo with a NVIDIA graphics card, other cards also support stereo such as the ATi and should have similar requirements and similar steps to get it going.

  • a Nvidia Quadro card with QuadBuffered Stereo support (all current ones except NVS range). Note that NVIDIA mention using page flipped stereo with normal GeForce cards using a special driver, but this driver is for Windows only.
  • Some type of Stereo display, for example
    • High refresh rate (100-120hz) screen such as a CRT monitor or DLP projector and some shutter glasses
    • an autostereo screen
    • two projectors with 100% overlap with different polarising filters and polarised glasses.
    • a stereo headset with one screen for each eye
  • In some cases a converter to provide a 3pin stereo DIN output if your card does not have one.

Basic Setup

[edit | edit source]

To configure the type of stereo you will use, you will need to set the "Stereo" option. The format of this option is:

Option "Stereo" "integer"

and its values can be:

  • 1 - DDC stereo, for signalling on the " DDC line
  • 2 - Blue line stereo, signalling via a varying length blue line at the bottom of the screen (This option can be used, it seems, with the " Stereo Graphics StereoEnabler
  • 3 - On-board stereo output with 3-pin connector for direct connection to shutter glasses.
  • 4 - TwinView stereo (passive, one eye per screen, typically used with two projectors setup with polarising filters in front of them)

Options 1 and 2 require a converter box added to the video card's video output to convert the video signal into a form that the shutter glasses can understand, these options are useful if your card doesn't have 3-pin mini-din output. For example, the Elsa Revelator shutterglasses (Option "Stereo" 1) comes with a adapter that connects to the VGA card at one side and to the monitor cable and a 3-pin mini-DIN socket for the cable of the glasses (or the emitter) to the other side.

For active stereo you will need a high refresh rate, the default one (typically 85hz) will be too low for comfortable viewing of stereo. To do this, you will need to get the following specifications of your monitor, in particular:

  • Vertical Sync range (vsync)
  • Horizontal Sync range (hsync)
  • Maxiumum Pixel Clock (pclk)

Use these values to configure the HorizSync and VertRefresh configuration settings and if we are using TwinView the SecondMonitorHorizSync and SecondMonitorVertRefresh Options in your XF86Config-4 file. Once we have set these up we are ready to create our custom modeline(s). To do this we can use the gtf utility, for example to create a ModeLine for 1024×768@120 Hz we do the following:

  gtf 1024 768 120

  # 1024x768 @ 120.00 Hz (GTF) hsync: 98.76 kHz; pclk: 139.05 MHz
  Modeline "1024x768_120.00"  139.05  1024 1104 1216 1408  768 769 772 823  -HSync +Vsync

If for example your monitor has a horizontal sync range of 50-121 kHz, this would be below the maximum specification supported by the monitor, we can increase the refresh rate until we reach the maximum specifications so that we get a better flicker free image; e.g.

  gtf 1024 768 144

  # 1024x768 @ 144.00 Hz (GTF) hsync: 120.24 kHz; pclk: 169.30 MHz
  Modeline "1024x768_144.00"  169.30  1024 1104 1216 1408  768 769 772 835  -HSync +Vsync

alternatively we could increase the resolution keeping the refresh rate the same:

  gtf 1152 864 120

  # 1152x864 @ 120.00 Hz (GTF) hsync: 111.12 kHz; pclk: 176.01 MHz
  Modeline "1152x864_120.00"  176.01  1152 1240 1368 1584  864 865 868 926  -HSync +Vsync

When you have finished put the line into your XF86Config-4 file, and update the Modes config option of your Display Section e.g.

 Subsection "Display"
       Depth       24
       Modes       "1152x864_120.00"
 EndSubsection

or if you're using TwinView...

 Option "MetaModes" "1152x864_120.00,1152x864_120.00"

in your screen section. Once you have set this all up logout and restart the X server with Crtl-Alt-Backspace. You should now be running at your new refresh rate with stereo enabled. There are several ways to check the refresh rate:

  • On screen dialogs on your monitor may tell you
  • The xvidtune command
  • The xrandr command

Now you'll want to check that the stereo is working, to do this I suggest getting the "pulsar" program. Compile it like this (you will need GLUT or freeglut installed)

gcc -lglut -lGL -lm -lGLU -lX11 -lXmu -lXi -lXext -L/usr/X11R6/lib pulsar.c -o pulsar

then run it

./pulsar -s

and if it works your done.

Advanced Setup

[edit | edit source]

TwinView

[edit | edit source]

There are no extra configuration options needed to setup [NVIDIA/TwinView] to use stereo, however a number of conditions must be met for this to work

  • Both monitors must be running at with the same mode (see "ENSURING IDENTICAL MODE TIMINGS" section of the " README for details.
  • You are not using version 66.29 of the drivers as this feature appears to be broken that version, it is fixed in version 71.74
  • Neither monitor is detected as a DFP.
[edit | edit source]
  • "AllowDFPStereo" By default stereo is disabled for displays detected as Digital Flatpanels (DFPs i.e. LCD monitors), setting this to yes re-enables it.

Hardware suppliers

[edit | edit source]
[edit | edit source]
  • VRizer - Run non stereo enabled applications in stereo