Stereo: Difference between revisions

5,059 bytes added ,  20 October 2019
→‎Linux: "composite" "disable" no longer works - thx Mario!
(→‎Linux: "composite" "disable" no longer works - thx Mario!)
(35 intermediate revisions by 4 users not shown)
Line 6: Line 6:


=== Nvidia 3D Vision 2 ===
=== Nvidia 3D Vision 2 ===
# '''3D Vision Pro''' is ''not'' what you want, this seems to be for projectors, and is expensive.
# '''3D Vision Pro''' is ''not'' what you want, this is for professional CAD/CAM applications, and is expensive.
# Quality of Nvidia 3D Vision is better than that of Zalman
# The quality of Nvidia 3D Vision 2 is better than that of Zalman, because Zalman stereo means halved vertical resolution.
# Compatible monitors are mentioned at www.nvidia.com/object/3d-vision-displays.html but this website does not seem to be updated. There are 5 monitors (needing a separate emitter) at http://www.heise.de/preisvergleich/?cat=monlcd19wide&xf=3135_passiv#xf_top .
# 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 [http://cismm.cs.unc.edu/core-projects/visualization-and-analysis/setting-up-a-simple-stereo-system/ link], and [http://us.download.nvidia.com/XFree86/Linux-x86_64/346.35/README/xconfigoptions.html 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 [http://www.nvidia.com/object/unix.html long-term Legacy (Long Lived) Linux drivers]. For specific products, see also [http://www.nvidia.com/Download/index.aspx] .
# The Nvidia 3D vision emitter that connects via USB only works on Windows, not Linux. Linux needs the DIN 3-pin connector which is only on the high end Quadro cards.
# For Linux, a Nvidia 3D vision emitter "workaround" requires the DIN 3-pin connector found on the high end Quadros and [http://www.nuvision3d.com/the60gx.html NuVision] or [http://www.reald-corporate.com/scientific 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: [http://www.vetco.net/catalog/product_info.php?products_id=6588], spliced it onto a 2.5mm stereo audio cable like from here: [http://www.vetco.net/catalog/product_info.php?products_id=6952], using information adapted from this page explaining how to adapt connections for the older VESA standard for stereo here: [http://www.stereo3d.com/vesa3.htm] (it works quite well). The Figures on [https://forums.geforce.com/default/topic/411219/3d-vision/3d-vision-vesa-cable/7/] or [https://forums.geforce.com/default/topic/513899/3d-vision/link-nvidia-3d-vision-kit-with-dlp-display-projector-connection-problem-with-vesa-stereo-cable-ir-tr/] 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.  
# The currently (2013+) best NVIDIA 3D Vision 2 solution on Linux is to buy one of the monitors with built-in emitter (we have the BenQ XL2420TX), and a cheap Quadro, e.g. (2013) the FX380 or (2015) K420. The latter has a Dual-Link DVI 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! We found that using a GeForce card instead of Quadro ''does not work'' on Linux.
# 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).
# www.nvidia.com/object/3d-vision-displays.html names monitors with built-in emitter. None of these are sold any more in Germany or the EU, it seems - the NVidia page has not changed for at least the last two years. But: As of January 20, 2015 http://www.heise.de/preisvergleich/?cat=monlcd19wide&xf=3135_3D-f%E4hig%7E3135_aktiv#xf_top shows 8 3D-capable monitors with built-in emitter; ASUS VG248QE and VG287HE and VG278HR, Acer GN246HL and Predator XB240HAbpr and HS244HQbmii, BenQ XL2430T, Philips 273G3DHSB. All of these are 24-27" and cost between 205 and 490€.
# [http://www.nvidia.com/object/3d-vision-displays.html 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.
# cheap Quadro cards with dual-link DVI-D or DisplayPort work well. Quadro 380, 400, 420 and 600 have been reported to work on CCP4BB. Make sure the card can do dual-link DVI if your monitor has only DVI input. Any card (including the "Windows only" ones!) listed at http://www.nvidia.com/object/3d-vision-pro-requirements.html#Quadro should work if a) it can do dual-link DVI if the monitor has only DVI input, and b) if the monitor has built-in emitter. DisplayPort is fine with the BenQ XL2420TX.
# 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!) [http://www.nvidia.com/object/3d-vision-pro-requirements.html#Quadro 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).
# 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.
# 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.
# 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.


Line 19: Line 20:
[[Zalman Stereo]] is supported by [[Coot]]; no drivers or other software must be installed.
[[Zalman Stereo]] is supported by [[Coot]]; no drivers or other software must be installed.


NVidia 3D Vision 2: Using NVidia's 346.35 driver on RHEL/CentOS/SL 7, I changed /etc/X11/xorg.conf (see http://us.download.nvidia.com/XFree86/Linux-x86_64/346.35/README/xconfigoptions.html) to have
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.
     Section "Device"
# It can be edited -- see [http://us.download.nvidia.com/XFree86/Linux-x86_64/346.35/README/xconfigoptions.html] for more information), or
      Driver      "nvidia"
# <code>nvidia-settings</code> could be run, or
       Option     "Stereo" "10"
# <code>nvidia-xconfig --stereo=10</code> (The value of 10 is specific to the 3D Vision system)
     EndSection
 
but there was no stereo (coot only shows a slightly rotated view), nor was there any hint in /var/log/Xorg.0.log that stereo is disabled. In fact, stereo ''is'' disabled, due to the Composite Extension (see http://us.download.nvidia.com/XFree86/Linux-x86_64/346.35/README/xcompositeextension.html). If this extension is itself disabled by
The resulting xorg.conf has an option for stereo mode under the section labeled "Device" in this minimal example:
     Section "Extensions"
<pre>
      Option    "Composite" "Disable"
Section "Device"
    EndSection
    Identifier    "Device0"
then the login screen (gdm) crashes (discussed at https://devtalk.nvidia.com/default/topic/556113/3d-vision-and-composite-option). The only way out is to install a different display manager, like documented at e.g. http://jensd.be/?p=125 (confirmed by Dirk Kostrewa in 9/2014). This works well - I'm now using lightdm and the MATE desktop with a NVidia Quadro K420 and a BenQ XL2420TX. The graphics performance is very good for electron density inspection and fitting.
    Driver        "nvidia"
    VendorName    "NVIDIA Corporation"
    Option "Stereo" "10"
EndSection
</pre>
The following is a longer example, for a dual-monitor setup - this was generated with <code>nvidia-settings</code> and has the stereo option in the "Screen" section::
 
<pre>
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
</pre>
 
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.
 
The update of RHEL7 to 7.6 broke our /etc/X11/xorg.conf . It needs now
        Section "Extensions"
          Option     "COMPOSITE" "Off"
        EndSection
instead of
        Section "Extensions"
          Option    "Composite" "Disable"
        EndSection
The old version still works with KDE, but no longer with MATE. Thanks to Dirk Kostrewa for pointing this out!


===Mac OS X===
===Mac OS X===
The following command needs to be run for Macs to be able to support stereo in X11 programs, such as Coot [http://xanana.ucsc.edu/~wgscott/xtal/wiki/index.php/Installing_Coot_on_OS_X] :
The following command needs to be run for Macs to be able to support stereo in X11 programs, such as Coot [http://xanana.ucsc.edu/~wgscott/xtal/wiki/index.php/Installing_Coot_on_OS_X] :
     defaults write com.apple.x11 enable_stereo -bool true
     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):
# Open NVIDIA Control Panel --> Manage 3D settings.
# Go to Program Settings tab.
# Add the file you launch the program from by clicking on Add button.
# In the setting window, change the 'Power Management Mode' to 'Prefer Maximum Performance'. Also below settings as well:
# Vertical sync - off
# Threaded optimization - off
# Triple buffering - off
# Stereo enable on
# Run the program and check


==Ono==
==Ono==
Line 65: Line 142:


http://pymolwiki.org/index.php/Stereo_3D_Display_Options
http://pymolwiki.org/index.php/Stereo_3D_Display_Options
https://sbgrid.org/wiki/usage/stereo
1,330

edits