NVIDIA 3D VISION Stereo Controller with Linux (Ubuntu Maverick)

Your graphic card and your application both support Quad Buffering (GL_STEREO)

  • Add libnvstusb PPA
$ sudo add-apt-repository ppa:johaahn/libnvstusb
  • Download nvstusb-tools package:
$ sudo apt-get install nvstusb-tools
  • Execute nvstusb-quad in background of your application with real time priority
$ sudo chrt -r -p 99 nvstusb-quad path/to/nvstusb.fw

    Realtime priority is not mandatory, but prevent unwanted right-left eyes inversion

The controller button is used to invert eyes.

Either your graphic card or your application does not support Quad Buffering:

  • Your application must handle eyes swap manually using libnvstusb, have a look to libnvstusb example: 3dv.c

Play a 3D video with your NVIDIA controller 3D VISION on Linux

  • Execute nvstusb-quad in background
$ sudo chrt -r -p 99 nvstusb-quad path/to/nvstusb.fw
  • Launch mplayer with your video
$ mplayer -vo gl:stereo=3 /path/to/your/video

-vo gl:stereo=3
launch mplayer with openGL renderer and quadbuffering option
    The controller button is used to invert eyes.


Add Stereo support to your XORG config

Add Stereo option to your device:
Option         "Stereo" "10"

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 460"
    Option "Stereo" "10"

You must also disable composite extension:
Section "Extensions"
Option "Composite" "Disable"

Generate nvstusb.fw

  • Once you've installed nvstusb-tools. Get "Microsoft cabinet" extraction tool
$ sudo apt-get install cabextract

  • Download NVIDIA 3D vision driver
$ wget http://fr.download.nvidia.com/Windows/3d_vision_stereo/NVIDIA_3D_Vision_v258.96_driver.exe

  • Then extract nvstusb.sys
$ cabextract -F nvstusb.sys ./NVIDIA_3D_Vision_v258.96_driver.exe

  • Then extract nvstusb.fw
$ nvstusb-extractfw nvstusb.sys

Have fun !

Author: Johann Baudy <johann.baudy@gnu-log.net>