Stereo

From CCP4 wiki
Revision as of 21:12, 7 January 2019 by Kay (talk | contribs) (→‎See also)
Jump to navigation Jump to search

Hardware

Zalman Stereo

has its own article.

Nvidia 3D Vision 2

  1. 3D Vision Pro is not what you want, this is for professional CAD/CAM applications, and is expensive.
  2. The quality of Nvidia 3D Vision 2 is better than that of Zalman, because Zalman stereo means halved vertical resolution.
  3. The Nvidia 3D vision emitter must be connected to both USB and Quadro 3-pin DIN Stereo socket. This setup works on Windows and nowadays Linux (consult this link, and search this link for the word "USB". The cheapest (2018+) Nvidia Quadro with 3-pin DIN Stereo connector is the P4000 (http://www.nvidia.de/object/quadro-desktop-gpu-specs-de.html) which starts at ~ €780; cheaper and older ones can be found e.g. on EBay; they may require one of the long-term Legacy (Long Lived) Linux drivers. For specific products, see also [1] .
  4. For Linux, a Nvidia 3D vision emitter "workaround" requires the DIN 3-pin connector found on the high end Quadros and NuVision or CrystalEyes stereo glasses and emitter. The 3-pin DIN cable is difficult to find if you do not have one, and it is recommended that you splice your own. This author purchased a 3-pin mini-DIN connector here: [2], spliced it onto a 2.5mm stereo audio cable like from here: [3], using information adapted from this page explaining how to adapt connections for the older VESA standard for stereo here: [4] (it works quite well). The Figures on [5] or [6] show details on connecting the plugs. Note that the 5V power line does not need to be connected as the receiver is powered by USB.
  5. The most affordable NVIDIA 3D Vision solution on Linux used to be a monitor with built-in IR emitter (for example BenQ XL2420TX or ASUS VG278HR), and a cheap Quadro, e.g. the K420 or FX380. The latter has a Dual-Link DVI (DVI-D) and a Displayport outlet, so can drive the stereo monitor, and an additional monitor. This solution avoids the USB/3-pin hassle altogether. See below for xorg.conf! GeForce cards (instead of Quadro) do not give openGL Quad Buffered Stereo on Linux (on Windows neither). Unfortunately, monitors with built-in IR emitter are seemingly no longer produced (2017).
  6. The Nvidia page that names monitors with built-in emitter is not up-to-date; in particular, monitors with built-in emitter are no longer being produced (potentially can be bought on EBay or so). http://geizhals.eu/?cat=monlcd19wide has a "3D-fähig" (3D-capable) attribute.
  7. Cheap Quadros (e.g. K420) with DVI-I Dual-Link Connector (DVI-I DL / DVI-D) or DisplayPort work well. Make sure the card can do dual-link DVI if your monitor has only DVI-D input. Any card (including the "Windows only" ones!) listed should work if a) it can do dual-link DVI if the monitor has only DVI-D input, and b) if the monitor has built-in emitter. The DisplayPort 1.2 (Quadro) to DisplayPort 1.2 (monitor) connection works well (e.g. with the BenQ XL2420TX).
  8. To connect a DVI-D monitor to ar Quadro with DisplayPort 1.2, you will need a Club-3D CAC-1051 active DisplayPort/Dual-Link DVI Adapter 330MHz (110 €: do not buy the cheaper 270 MHz model, it will not work because the bandwidth is too low for 1920x1080@120hz) or for cards with miniDisplay ports, the Club-3D CAC-1151 active miniDisplayPort/Dual-Link DVI Adapter 330MHz.
  9. specs of latest ("Maxwell") and previous ("Kepler") generation of Quadro cards are at http://www.nvidia.com/object/quadro-desktop-gpus.html . A comparison of all PCIexpress Quadro cards is at http://en.wikipedia.org/wiki/Nvidia_Quadro#PCI_Express . Latest (2014+) with prices are at http://www.heise.de/preisvergleich/?cat=gra16_512&asd=on&asuch=quadro&xf=3312_2014&sort=p . Currently (2015), the K620 is the entry system with the best price/performance ratio; in the middle range the K2200 still seems affordable.

Software

Linux

Zalman Stereo is supported by Coot; no drivers or other software must be installed.

NVidia 3D Vision and 3D Vision 2: Requires the appropriate hardware as detailed above. With the NVidia proprietary graphics drivers installed, 3D Vision will work with a few minor tweaks. The Xorg configuration file (usually located at /etc/X11/xorg.conf) must be adapted.

  1. It can be edited -- see [7] for more information), or
  2. nvidia-settings could be run, or
  3. nvidia-xconfig --stereo=10 (The value of 10 is specific to the 3D Vision system)

The resulting xorg.conf has an option for stereo mode under the section labeled "Device" in this minimal example:

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    Option "Stereo" "10"
EndSection

The following is a longer example, for a dual-monitor setup - this was generated with nvidia-settings and has the stereo option in the "Screen" section::

 Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "BenQ XL2420TX"
    HorizSync       30.0 - 140.0
    VertRefresh     56.0 - 120.0
EndSection

Section "Device"
    Identifier     "Videocard0"
    Driver         "nvidia"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Quadro K420"
EndSection

Section "Screen"
    Identifier     "Default Screen"
    Device         "Videocard0"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "10"
    Option         "nvidiaXineramaInfoOrder" "DFP-0"
    Option         "metamodes" "DVI-I-1: 1920x1080_120 +0+0, DP-1: nvidia-auto-select
 +1920+0"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

This should be enough to get stereo working. However, note that there is a major issue on linux with window compositing causing stereo images to display improperly. This is a problem with the window display manager, and is not inherent to Xorg or NVidia. If you try to turn on stereo in Coot in a display manager that makes use of the Xorg compositing extension (e.g., Gnome3, or Unity in Ubuntu) then what you will see when you activate hardware stereo is a slight rotation of the view, but stereo remains disabled. In order to get around this problem, you must use a display manager that does not make use of compositing as part of its eye candy. This author has found the MATE desktop to work quite well for this purpose (and may in fact be one of the few that still does not use software compositing by default). Note that you do not need to disable the Compositing extension in the Xorg configuration file to make this work -- this will allow you to switch back to Gnome3, Unity, etc when you don't need stereo if you prefer! Not disabling the window compositing extension globally allows for a more flexible setup depending on your preferred workflow.

Mac OS X

The following command needs to be run for Macs to be able to support stereo in X11 programs, such as Coot [8] :

    defaults write com.apple.x11 enable_stereo -bool true

Windows

There's some information at http://bernhardcl.github.io/coot/wincoot-faq.html#mozTocId910462 . This says:

WinCoot with NVIDIA and Win 10?

If you run into problems with stereo on Windows 10 (using an NVIDA card), you can try the following (thanks to Jose Brito):

  1. Open NVIDIA Control Panel --> Manage 3D settings.
  2. Go to Program Settings tab.
  3. Add the file you launch the program from by clicking on Add button.
  4. In the setting window, change the 'Power Management Mode' to 'Prefer Maximum Performance'. Also below settings as well:
  5. Vertical sync - off
  6. Threaded optimization - off
  7. Triple buffering - off
  8. Stereo enable on
  9. Run the program and check

Ono

You also need to set the environment variable STEREO for the stereo to work properly in ono: setenv STEREO on (tcsh) STEREO = on; export STEREO (bash) [9]

Stereo on conventional CRT monitors

Some of the NVidia Quadro cards support stereo. The cards that have an output called "stereo" under "Display Connectors" listed at Nvidia's Quadro overview page have a 3-pin DIN outlet that fits with NuVision or CrystalEyes stereo glasses.

The cheapest of these used to be the FX1400 (difficult to find these days, around 450 €), but now appears to be the FX3450 (around 750 €). These cards are by far fast enough for protein crystallography or modelling.

For stereo, the xorg.conf might need the following lines

       Section "Extensions"
         Option     "Composite" "Disable"
       EndSection

if the X log file (e.g. at /var/log/Xorg.0.log) says that stereo is not supported by composite.

Another option that will be required in xorg.conf by programs running stereo is

    Section "Device"
      Driver      "nvidia"
      Option      "Stereo" "3"
   End Section

For an example of how else to configure xorg.conf, see old versions of this article.

See also

Stereo on TFT: see Zalman Stereo

http://pymolwiki.org/index.php/Stereo_3D_Display_Options

https://sbgrid.org/wiki/usage/stereo