Stereo: Difference between revisions
(→Nvidia 3D Vision 2: March 2022 update) |
|||
(48 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
== Stereo | == Hardware == | ||
=== Zalman Stereo === | |||
has its own [[Zalman Stereo|article]]. | |||
=== Nvidia 3D Vision 2 === | === Nvidia 3D Vision 2 === | ||
# '''3D Vision Pro''' is ''not'' what you want, this | # '''3D Vision Pro''' is ''not'' what you want, this is for professional CAD/CAM applications, and is expensive. | ||
# | # The quality of Nvidia 3D Vision 2 is better than that of Zalman, because Zalman stereo means halved vertical resolution. | ||
# | # 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] . | ||
# | # 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 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 | # [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 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. | |||
# update March 2022: see discussion at https://www.jiscmail.ac.uk/cgi-bin/wa-jisc.exe?A1=ind2203&L=COOT | |||
== 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. | |||
# It can be edited -- see [http://us.download.nvidia.com/XFree86/Linux-x86_64/346.35/README/xconfigoptions.html] for more information), or | |||
# <code>nvidia-settings</code> could be run, or | |||
# <code>nvidia-xconfig --stereo=10</code> (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: | |||
<pre> | |||
Section "Device" | |||
Identifier "Device0" | |||
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 | |||
but | 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=== | |||
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 | |||
===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 27: | Line 117: | ||
STEREO = on; export STEREO (bash) | STEREO = on; export STEREO (bash) | ||
[http://dbb.urmc.rochester.edu/labs/wedekind/Wedekind-Lab/X-ray%20Lab/Methods/Nvidia-ONO.html] | [http://dbb.urmc.rochester.edu/labs/wedekind/Wedekind-Lab/X-ray%20Lab/Methods/Nvidia-ONO.html] | ||
== Stereo on conventional CRT monitors == | == Stereo on conventional CRT monitors == | ||
Line 49: | Line 135: | ||
Driver "nvidia" | Driver "nvidia" | ||
Option "Stereo" "3" | Option "Stereo" "3" | ||
End Section | |||
For an example of how else to configure xorg.conf, see old versions of this article. | |||
==See also== | ==See also== | ||
Stereo on TFT: see [[ | Stereo on TFT: see [[Zalman Stereo]] | ||
http:// | http://pymolwiki.org/index.php/Stereo_3D_Display_Options | ||
https://sbgrid.org/wiki/usage/stereo |
Latest revision as of 11:21, 3 March 2022
Hardware[edit | edit source]
Zalman Stereo[edit | edit source]
has its own article.
Nvidia 3D Vision 2[edit | edit source]
- 3D Vision Pro is not what you want, this is for professional CAD/CAM applications, and is expensive.
- The quality of Nvidia 3D Vision 2 is better than that of Zalman, because Zalman stereo means halved vertical resolution.
- 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] .
- 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.
- 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).
- 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 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).
- 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.
- update March 2022: see discussion at https://www.jiscmail.ac.uk/cgi-bin/wa-jisc.exe?A1=ind2203&L=COOT
Software[edit | edit source]
Linux[edit | edit source]
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.
- It can be edited -- see [7] for more information), or
nvidia-settings
could be run, ornvidia-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.
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[edit | edit source]
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[edit | edit source]
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[edit | edit source]
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[edit | edit source]
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[edit | edit source]
Stereo on TFT: see Zalman Stereo