Persuading NVIDIA 3D Vision Pro to Sync with an unsupported Projector

Recently I did some work to persuade the NVIDIA 3D Vision Pro glasses work with six Optoma EW610ST Projectors, and made some interesting discoveries in the process. This projector is not an officially supported model on the NVIDIA compatibility list.

The projectors in our setup are connected in Mosaic mode, and we were using active stereo at 1280×720 and 120Hz on each projector, with the 3-pin VESA stereo sync cable from the graphics card connected to the NVIDIA Pyramid. In the default set up, it results in terrible ghosting (cross-talk) when used with the NVIDIA glasses.

The first problem is that these projectors have only one 3D mode: DLP-Link. This is unfortunate as DLP-Link uses a white flash to synchronise the glasses, whereas the NVIDIA 3D Vision Pro glasses use RF. The real DLP-Link glasses will obviously blank themselves during the white flash, but the NVIDIA shutters are open, so this results in poor contrast (effectively, slightly increasing the brightness of the entire scene). This was a problem in our case, as we were edge-blending the projectors. Black level blending with an offset would be possible, but would reduce the contrast of the whole image. The solution to this first problem was to simply disable 3D mode on the projector! It still seems to display 120Hz frame sequential stereo with 3D disabled.

The next problem is that there is really bad ghosting, because the timing of the glasses is wrong. To find out what was going on, I decided to measure the light output of the projector against the stereo sync signal.

I didn’t have a light sensor to hand, but fortunately LEDs can be used as a (rather insensitive) light sensor. In this case, I used a clear infra-red LED situated about 1cm from the lens, connected directly across one input of my ‘scope. To improve the response speed, I put a 1K resistor in parallel with the LED to help discharge it quickly.

LED as Light Sensor

I connected the stereo sync signal (output from the graphics card) to the second input of the scope, and set the ‘scope to trigger from the sync input.

Then I wrote some OpenGL code to draw pure white on the left stereo channel, and pure black on the right channel, so the projector was flickering full-screen white/black at 120Hz. The results are shown below. The red trace is the stereo sync signal, and the yellow trace is projector light output.

Optoma EW610ST Stereo Phase

As can be seen from the graph above, the two are out of phase with some of the image visible outside the sync period. I measured this at about 316us delay, which is about 3.8% of the frame time (which is 8.33ms for 120Hz).

The strange shape of the yellow waveform is due in part to the way the DLP projector works, with a spinning colour wheel which has separate segments for red, green, blue and white (some models use different colour combinations). Also, amongst other effects, the different colour components have different luminance levels, and we are only looking at a subset of the mirror array with our sensor.

Since the stereo sync is out of phase with the projector, the logical next step is to delay the sync signal.

Ideally this sort of stereo phase adjustment would be possible from the NVIDIA drivers (at least on the Pro version), but it doesn’t seem to be? I couldn’t find one, and there don’t seem to be any functions in the NVAPI for altering the timings either.

There are some specific parameters for each projector manufacturer/model stored in the registry (and driver INF file), which look like possible timings for the glasses:

HKLM\System\CurrentControlSet\Services\NvStUSB\Parameters\SAM_8524

However, the format is proprietary and undocumented. I made a start at successfully understanding some of these, but it occurred to me that these parameters might not be used at all when the pyramid is fed with external sync, so it seemed easier to take the direct approach of making some hardware to delay the sync.

I decided to try and rectify this phase error in the sync signal, by delaying the sync signal before feeding it to the NVIDIA pyramid. To achieve this, I used an STM8S Discovery board which is very low-cost, easily programmed via USB, and capable of high timing precision.

The hardware is very simple: the sync output from the PC is connected via a 1K resistor to a GPIO input on the STM8S (the 1K resistor is just a precaution against toasting the very expensive graphics card!) Another GPIO output is used to feed the sync input of the NVIDIA pyramid. The only other connection is the common ground, and the board is powered over USB.

STM8S Discovery Board

The firmware uses interrupts to detect the high/low transition of the input, then schedules an onboard timer to generate another interrupt after a specified delay period has elapsed. It then drives the output high or low as required. This method will support any vertical refresh rate, and allows very high precision adjustment.

Having set this up to generate a 316us delay, the sync signal is now in phase with the projector:

Optoma EW610ST with delayed sync

However, the projector is illuminating the full frame period, and there is no dark interval at all for the glasses. This is due to the projector being set up in “Presentation” display mode, which is designed to maximise image brightness. In our case, this will result in ghosting, because the LCD shutters take a little time to ‘open’ and ‘close’, during which time we need the display to be dark.

The solution to this last problem is to alter the projector settings to select a mode which gives a reasonable dark interval for the glasses. On the EW610ST, this can be achieved by setting the Display Mode to sRGB. The final result with the 316us delay and sRGB mode selected is shown below:

Optoma EW610ST acceptable stereo mode

Finally, I tried this with the NVIDA glasses, and the ghosting had been eliminated. In a realistic scene, there is imperceptible ghosting, even with very high contrast areas.

19 thoughts on “Persuading NVIDIA 3D Vision Pro to Sync with an unsupported Projector”

  1. Great post. We are trying to do something similar with multiple small projectors. Did you send a VESA stereo sync signal in to each projector so that all six were frame locked? It sounds like the VESA stereo sync just went from the graphics card to the pyramid emitter. Any clarification would be helpful. Thanks!

    1. Hello Ian
      This is using the VESA stereo sync output from the graphics card, with a phase offset applied to the sync signal by the STM8S board, and a GPIO output from the STM8S then outputs the delayed sync signal to the NVIDIA pyramid. The projectors are driven via HDMI from the graphics card. There is no VESA sync input or output on these projectors, although there are some more recent models of projector from Optoma which include a VESA sync output (when this is available, the projector sync output works well at standard refresh rates, and not at all at custom refresh rates).
      I might try and take some photos and update this blog post with a bit more information.
      Hope this answers your question?
      Best regards
      James

  2. Great thanks for your reply. So I guess that you found each projector had the same phase offset? Also, did you drive all six projectors from the same PC? With an NVIDIA Quadro card?

    1. Yes, that’s right – all projectors had the same phase offset. I guess this is unsurprising, as they are all identical projectors fed from the same card, and will have the same latency in processing a frame to display on the DMD. Originally, we were driving them from a single PC with two Quadroplex 7000 attached. We have replaced the Quadroplexes with a pair of Quadro cards in a single PC (can’t remember the model – but I’ll check that and report back).

      1. I checked this and we are currently using 2x NVIDIA Quadro M6000 cards, and the same sync shifter (STM8S) described above, with the same phase offset mentioned above.

  3. Hi James, Is there a way to make an old 3 pin wired stereo shutter glasses to work with Nvidia 3D vision? Basically I have 20 or so wired 3 pin glasses here which used to work fine with the older picture tube monitors. Now with the LCD monitors sucg as the Samsung 2233, we have been using 3D Vision. But 3D vision glasses are getting rare to find and expensive and we need around 30 pair for work. We use Quadro FX 1700 cards and they do not have din connectors at the back. On the 3 pin din, two pins are the power and another for the stereo sync. So I am assuming that if 3D vision glasses can extract the stereo syncing from a USB port, can we rewire a USB pin to feed into the stereo sync of the 3 pin din from the wired glasses? Any help would be greatly appreciated. If we can’t use the old wired glasses, perhaps even a way to use some of the Samsung 3D TV glasses would be alright since they are cheaper and readily available.

    1. Hi Raj

      Only a few of the NVIDIA Quadro cards support 3D VESA stereo sync output, and they require an external “3D Stereo Bracket” which has the mini 3-pin DIN connector. Unfortunately, as you’ve found, the FX 1700 isn’t one of those cards. Regarding your question on USB, there’s no straightforward way to get 3 pin stereo sync from USB as far as I’m aware.

      However, there’s a company called 3DTV Corp (3Dmagic.com) which makes a DVI Digital Sync Splitter dongle, which could be a solution to your problem. This strips the vertical sync from DVI/HDMI and has a 3-pin VESA DIN sync output, which should be able to drive your 3-pin wired shutter glasses.

      Incidentally, 3DTV Corp also make a Bluetooth transmitter for the Samsung glasses which accepts 3-pin VESA stereo sync.

      Recently I’ve also been using the Optoma ZF2100 and ZF2300 glasses. Again, these need the 3-pin VESA stereo sync signal (many of their newer projectors now have the 3-pin VESA DIN stereo sync output built into the projector).

      Best regards
      James

  4. Thanks for that James. Looking at the manual, the splitter outputs the VESA 3D sync signal to a Mini USB cable and says that it should be connected to their 3D Window model LC infrared emitter. So it doesn’t look like it has a 3-pin mini DIN connector (or have you seen a different one). But depending on the price (I can’t seem to find the price anywhere) of the splitter + LC emitter, it could be a viable option since then it allows me to use any 3D glasses such as the Samsung ones (that’s what I am guessing).

    http://www.3dexperience.co.uk/PolaRotator.html
    These guys have a similar thing (scroll down to VesaDong), but seems like it’s part of the Polarotator package. It has a 3 pin DIN. I will ask them if they sell it separately.

    But looking at this – http://www.int03.co.uk/crema/hardware/stereo/
    there should be a similar method to extract and split the stereo sync signal from a DVI connector. That would be the best solution.

    I will see if I find anything.

    Raj

    1. Hi Raj
      Ah yes, sorry about that, I originally saw the DVI Sync Splitter on eBay a couple of years ago (3DTV Corp had an eBay shop) but I just looked up that PDF on their website and added the link without reading through it properly. I thought the one on eBay had the 3-pin DIN , but my memory could be faulty or this PDF could be for a different model. You could try contacting Michael Starks at 3DTV Corp and ask him if there’s a model with 3-pin output, he was quite helpful when I last spoke with him.
      My guess is that the mini USB connector on the 3DTV DSS isn’t being used as a USB connector at all, and probably one of its pins carries the standard sync pulse (but of course that is pure speculation and there’s no way to know for sure without buying it and doing some testing!)
      The VesaDong also looks like it would do the job also (may even be the same OEM)
      I designed the VGA to 3-pin DIN adapter you linked above back in 2002 🙂 the method will still work for VGA (but of course everything is digital these days). The 3DTV Corp DSS and VesaDong are basically the equivalent of my VGA to 3-pin box for DVI/HDMI.
      Good luck with your search!
      Best regards
      James

      1. Another issue I forgot to mention is that HDMI doesn’t have the bandwidth to support true frame sequential 120Hz at high resolutions. What type of display and resolution are you using?

          1. Thanks. I believe that to support 1920×1080 at 120Hz frame sequential requires dual link DVI (single link DVI doesn’t have enough bandwidth).
            The DVI-I connector carries both analogue VGA and digital (which can be single link or dual link).
            The annoying thing is that digital connections often use “frame doubling” (or tripling) where the actual refresh rate from the graphics card is between 24Hz and 60Hz, but the monitor/projector then displays this at a higher frequency by flashing each frame twice (or three times) to get 120Hz output.
            Personally I hate this “frame doubling”, because it produces really bad motion artefacts. For this reason, for high resolutions I only use dual link DVI or analogue to get true 120Hz frame sequential.

      2. Have you tried doing the same circuit that you did with VGA on a DVI-I? That would be very useful for me 🙂 and I don’t mind paying if you have a circuit. Tried calling the VesaDong number – doesn’t work. I will try emailing. Will also email the 3DMagic guy and see if he sells a version with just a 3 pin DIN and not a USB connector which then requires an emitter. Trouble with 3D is that it’s a technology that never took off. So I can see why 3D Vision glasses has stopped production and there is less and less support for 3D stereo in general.

        1. Hi Raj
          I haven’t designed anything for DVI-I (although I’ve often toyed with the idea, it’s much more complicated and also I have no time work on it!)
          Incidentally, I also spotted this last night which may be of interest:
          http://3dfury.eu/specs.html
          Regards
          James

          1. 3D Fury is Euro 250. For that money, I can get Quadro k 3000 which has support for 3 pin DIN (still have to buy an additional bracket for the 3 pin DIN). So let me ask the other guys for the DVI splitter. By the way, it is DVI-I Dual link that we use.

          2. True, and it would be a worthwhile upgrade of the graphics card also.
            I think the stereo bracket is only about £20

    1. Bear in mind these are for a tiny and very specialist market, so they sell in really low volumes. If you consider the overheads to design/manufacture/sell/support (and make a profit) on this kit, I can understand how they end up with that sort of price. All things considered, the upgraded graphics card might be the best option, as you will get improved performance too.

Leave a Reply

Your email address will not be published. Required fields are marked *