Switchboard : Render scene on second machine

Hey everyone,

I’m getting an issue where I’m trying to connect my second machine to the switchboard as a render node.

I just setup the project on both machine (Using native windows local sharing system)

I start the SitchboardListener on the Second machine and I from the master machine I can connect just fine but when trying to render the scene from the Master to the RenderNode I’m keep getting this issue :

[07:48:29][I]: Connecting to 192.168.1.49:2980
[07:48:29][D]: Node_0: device status change: CONNECTING
[07:48:29][D]: Node_0: device status change: CLOSED
[07:48:44][I]: Node_0: nDisplay config file successfully transferred to C:\Users\Demon\AppData\Local\Temp\ndisplay\F680D30B41DAD99E5BD2E6B48D5429D5.ndisplay on host
[07:48:44][I]: Node_0: nDisplay uasset successfully transferred to C:\Users\Demon\Documents\Unreal Projects\VirtualProd\Content\InCamVFXBP\nDisplay_InCamVFX_Config.uasset on host
[07:48:44][D]: Config File: C:\Program Files\Epic Games\UE_4.27\Engine\Plugins\VirtualProduction\Switchboard\Source\Switchboard\configs\VirtualProd.json updated
[07:48:44][I]: Launching UE4: C:\Program Files\Epic Games\UE_4.27\Engine\Binaries\Win64\UE4Editor.exe "C:\Users\Demon\Documents\Unreal Projects\VirtualProd\VirtualProd.uproject" LED_CurvedStage -game -messaging -dc_cluster -nosplash -fixedseed -NoVerifyGC -noxrstereo -xrtrackingonly -RemoteControlIsHeadless -StageFriendlyName=Node_0 -MaxGPUCount=2 -dc_cfg="C:\Users\Demon\AppData\Local\Temp\ndisplay\F680D30B41DAD99E5BD2E6B48D5429D5.ndisplay" -dx12 -dc_dev_mono -dc_node=Node_0 Log=Node_0.log -ini:Engine:[/Script/Engine.Engine]:GameEngine=/Script/DisplayCluster.DisplayClusterGameEngine,[/Script/Engine.Engine]:GameViewportClientClassName=/Script/DisplayCluster.DisplayClusterViewportClient,[/Script/Engine.UserInterfaceSettings]:bAllowHighDPIInGameMode=True -ini:Game:[/Script/EngineSettings.GeneralProjectSettings]:bUseBorderlessWindow=True -unattended -handleensurepercent=0 -UDPMESSAGING_TRANSPORT_MULTICAST="230.0.0.1:6666" -UDPMESSAGING_TRANSPORT_UNICAST="192.168.1.49:0" -ExecCmds="DisableAllScreenMessages" -fullscreen 
[07:48:44][I]: Node_0: unreal with id faa4bf18-4578-456a-91b6-c10d4405ed01 was successfully started
[07:48:44][D]: Node_0: device status change: OPEN
[07:48:44][I]: Node_0: Program with id faa4bf18-4578-456a-91b6-c10d4405ed01 exited with returncode 1
[07:48:44][D]: Ended unreal faa4bf18-4578-456a-91b6-c10d4405ed01
[07:48:44][I]: Node_0: retrieve_log with id aa51797e-d438-4238-8786-ad81cc155a44 was successfully started
[07:48:49][I]: RsyncServer.monitor: [log] 2022/04/15 07:48:49 [232] connect from desktop-render.home (192.168.1.49)
[07:48:49][I]: RsyncServer.monitor: [log] 2022/04/15 07:48:49 [232] rsync allowed access on module device_logs from desktop-render.home (192.168.1.49)
[07:48:49][I]: Node_0: Program with id aa51797e-d438-4238-8786-ad81cc155a44 exited with returncode 23
[07:48:49][D]: Ended retrieve_log aa51797e-d438-4238-8786-ad81cc155a44
[07:48:49][D]: Node_0: device status change: CLOSED

All the windows are minimized as expected but nothing render and the launch fail with error 1 or error 23

If anyone have an idea on what to do I’ll be more than happy :heart:

Hey there. Did you ever find a solution for this? I am also looking for a way to use an extra machine as a render node for this giant 8k cinematic. It would be nice to use a few spare machines to chip away at all frames.

Yeh I managed to get it working

Prerequisite :
Your Unreal Engine version need to be installed on every Node that you’re using for your production

  1. :
    Connect all the machine together using internal port such as :
    192.168.1.10 for the Master node
    192.168.1.20 for RenderNode 1
    And so on…

2 :
Create your NDisplay config inside you project

  1. :
    All the machine need to be Sync with the same project on every single node. Using a Free-sync software did the job for me but you can copy paste on your network tab

  2. :
    Open the SwitchboardListener on every machine …\Engine\Binaries\Win64\SwitchboardListener.exe

  3. :
    Open the switchboard on the Master machine at :
    …\Engine\Plugins\VirtualProduction\Switchboard\Source\Switchboard.bat or from the project itself Switchboard → Switchboard

  4. :
    Add device : Unreal with the master IP (192.168.1.10 in this exemple)
    Add NDIsplay config : All your RenderNode IP

  5. :
    Connect all the nodes using the little plug icon and everything should be set from there

If you installed your Unreal/Project in different path on your render nodes, you’ll need to specify it in the switchboard config top left

Hope it’s help, let me know if you need more details :+1:

1 Like

Thanks again! Being new to Unreal, I really need a more in-depth guide or tutorial. Do you happen to know if there is something already online that I could follow along with? I have unreal on 2 machines, rendering to the same folder, but they are rendering the same frames…so there is no real communication or knowing which frames to skip…its close…but Im still not doing something correctly.

Sorry for the late reply

Unfortunatly that part of UE4 isn’t well documented, that’s why I keep notes and share it with other when they need it, I think I may make a single webpage to share all my troubleshoot answers

But my guess would be that you don’t have the right nDisplay config ?

Check the IP on each viewport and each node you have on the nDisplay config

When launching to the LED Wall, make sure you launch the Unreal First, then the LED Wall, then the second machine

Sometime launching all machine at the same time causes issues

i have facing an issue in Ue5 while launch the game with switch board game is running but game UI is not rendering

I think I’m having a similar issue here both are communicating by perforce, and the swithboard listener from render node as well as my master switchboard say: Could not start cstat_project: Could not start program p4

now it says" Node_0: Could not retrieve changelists for project. Are the Source Control Settings correctly configured?"