Volume Sync Signaling
Overview
Synchronization is vital for the volume to display without tearing and for the signal to be stable on with the camera.
Sync MUST be setup as a daisy-chain so that the Nvidia frame sync data can be included. For this, one node receives “House Sync” and the other nodes are linked with the Quadro Sync II cards.
The server room sync is connected to our master clock at the stage. We have 5 sync DAs, but only should need 2. https://drive.google.com/file/d/1Vmigngk0d821fWTvcalL_FXbASqsIIe0/view
Setup
Synchronization in nDisplay | Unreal Engine Documentation
Troubleshooting
Epic - nDisplay nvidia sync - Setup and troubleshooting guide
Control Points
There are various places to control the Sync signal:
- Master Clock (Evertz)
- Set timings for 6 (3 connected) sync outputs
- Sync 1: Stage
- Sync 2: Nodes
- Sync 3: LED Processors
- Plugs to Brainbar DA (1 x VEA-8707A)
- Plugs to Server Room DA (5 x VEA-8707A)
- Set timings for 6 (3 connected) sync outputs
- Processor Input
- Node Output Frequency
Sync Policy
The Sync policy should be set to Ethernet (1) or Nvidia (2); Try both!
Per node Tearing
Tearing within the display for a single node is likely a mismatch between the sync frequency and the display frequency.
Check
- the Nvidia resolution settings and card frequency
- The Input frequency of the Megapixel processor (This can be internal or external sync)
- The Quadro Sync Server or Client sync rate
Questions for Ben Kidd:
- left: The Origin / right: UE4 Defaults
Documentation for these settings is here: nDisplay Networking
Ben: These timeouts really don’t matter for virtual production. They should be as large as possible.

- (Already Asked) What should
SyncSourceGPU column say? Ours says: “synced, free” or “free, sync” (I am guessing this is the sync control status in the nvidia control panel. Confirmed by Ben: This is the state of each display on the GPU
- What ExeFlags are available and how do we set them? switchboard documentation says: ”Flags on the UnrealEngine executable. We recommend using the Disable Fullscreen Optimizations option.” I can not find any further documentation on engine flags. This document does not mention the option. Ben: I never do this.
Checklist
Basics:
- SLI enabled - Better performance mostly to share inner and outer frustrum
- VSync: On
- Stereo Enable: Disabled
- Resolution frequency matches sync
- Synchronize display enabled for current display
- LED Processors have sync enabled.
- Stereo Phase and Framelock illuminated
- Same EDID copied between nodes
- configureDriver
- SwapGroup overlay enabled (for debugging) (8)
- prePresentWait enabled for DirectX (11)
- configureDriver.exe -a will output:
configureDriver: NVIDIA driver settings tool version 1.4 [NOTE: run this tool with administrator rights in order to change the driver settings] Option 0 - "Enable the SwapGroupPresentIndicator for OpenGL and Vulkan": NOT SET Option 1 - "Export 10bpc and 12bpc OpenGL pixelformats": NOT SET Option 2 - "Allow flipping when the app is not in the foreground": NOT SET Option 3 - "Do not take the exclusive mode mutex when going into fullscreen": NOT SET Option 4 - "Allow flipping of deepColor client in multimon config (deepColor window is part of desktop)": NOT SET Option 5 - "Allow per eye stereo flips for fullscreen swapgroup clients.": NOT SET Option 6 - "Export VK_KHR_display extension": NOT SET Option 7 - "Enable a lightweight desktop composition indicator (needs reboot/log off-on to taking effect)": NOT SET Option 8 - "Enable the SwapGroupPresentIndicator for Direct X": SET Option 9 - "Enable gamma correction for per pixel intensity": NOT SET Option 10 - "Enable OpenGL Swapgroup PrePresentWait": NOT SET Option 11 - "Enable DirectX Swapgroup PrePresentWait": SET Option 12 - "Disable display autorearrangement when exceeding overall 16K resolution limit": NOT SET
Unreal:
Notes:
Need “GPU traces” on all nodes
Unreal will drop to the next compatible framerate to keep sync working and all machines will be affected. (example: 50Hz → 25fps
Run at Sync Policy 0 to see if a particular node is slowing down anything
Windows 20H1 added GPU Scheduling and can offer an extra frame of power
Windows → Graphics Settings → Hardware GPU scheduling
EDID loading from ND00 Export fucked up our sync. Allowing Monitor EDID made sync work again.
Sync Shutter angle to fps
record at 25fps, shutter angle at 180 math: 1/(1/25 * 180/360)
record at 30fps, shutter angle at 215.8 math: 1/(1/30 * 215.8/360)
