nDisplay Starts Up then Closes

Hello, I have a project that I am working on and we are attempting to setup Unreal run across two PCs, each having two monitors.

We found nDisplay utilizing Switchboard/SwitchboardListener, which seems like the correct technology to support this idea.

As a test, I am attempting to start up nDisplay as a single node with two monitors. I have enabled the nDisplay and Switchboard plugins within the project. I have created a new nDisplay Config asset and dragged the asset into the level, creating the nDisplayRootActor. I edited the project under Project Settings > Plugins > nDisplay to enable the plugin for the project.

In the nDisplayConfig asset, I have added two nDisplayScreen components to the BP, both set up to be 1920x1080, side by side (for a total of 3840x1080). I have set the primary node (and only node) to the IP address of the PC to start this on. After saving and compiling, then I exported the nDisplayConfig.

Afterwards, I launch Switchboard and SwitchboardListener, ensuring I perform “Run as administrator”. This caused me headaches for days as I was receiving an error in SwitchboardListener saying “unable to start flipmode ././presentmon.exe” and found out that it was because everything needs elevated rights to start correctly.

Regardless, I have that part working, but now I am running into an issue where I can successfully get Switchboard connected to SwitchboardListener and launch Unreal, but the screen comes up black, sits there for a bit, then closes.

Within my Node.log file, I see a line that says "LogCore: Engine exit requested (reason: EngineExit() was called). There isn’t any obvious errors before this line that says there was some type of error in the startup. Below this shutdown, I do see an error:

LogWIndows: Error: appError called: Assertion failed: SceneViewExtension.IsValid(). But I am unsure if this is just because the shutdown failed due to an abrupt closing of the engine or if this an actual error due to launching.

Regardless, I am at a loss on what to do. I have spent a couple of days trying messing around with all kinds of settings within Switchboard, the uproject, ect and nothing seems to be getting me any closer to determining what my issue is.

I have attempted to create a default nDisplay project, and this project runs nDisplay correctly. I reviewed the differences between my uproject and the default nDisplay.uproject and noticed things like “Modules” : [ { “AdditionalDependencies”: [ “DisplayCluster” ] } ] within the .uproject file was different. So, I proceeded to add it to my uproject file but nothing changed. I also copied many settings from the DefaultEngine.ini in the default nDisplay project into my project and this didn’t resolve anything, either.

Any help would be greatly appreciated!

Attaching the Node.log file.

Node_0.log (211.1 KB)

Sorry to bump my question up, but I really need some help on this one.

I have no idea why my project doesn’t work (black screen then close) but yet the default nDisplay project does work.

Well, I determined what my problem was.

It had nothing to do with nDisplay. Apparently, I am parsing command line arguments based on the idea that another program will send command line, but when running as nDisplay, Switchboard sends the command line arguments, and my parser was crashing with those.

The log files were not helpful in determining this as there was nothing within the log that stated that a crash was happening and where.

So, FYI. If anyone in the future is looking to see if this resolves a problem, it does not. My nDisplay setup worked correctly and a different issue was the cause of it.

Something learned, if the logs are not really telling you why something is happening, just check other files, such as your crash dump files:

proj/Saved/Crashes/UECC-platform-hexdecimal/

This is what finally told me that my project was crashing and where it was crashing at. It also tells me that even if you run nDisplay from the Editor, it will still always run outside the Editor, thus you can’t easily attach the debugger to it because if it crashes upon startup, that is too fast to attempt to attach.

Hi,
I’m having a similar issue - could you give any insight as to what caused the crash for you?
Cheers

The crash was nothing related to nDisplay.

What was happening, to launch nDisplay for Unreal, a lot of information is passed along the command line. I was not expecting this and I had written a class to parse the command line for my specific project as our Unreal project will be executed from an external program via command line.

As such, it was my own fault and my command line parser was crashing in handling this.

If your Unreal project comes up with nDisplay starting, and you see Unreal launching with a black screen then is closes, it might be due to a crash. Try going into:

YourProject/Saved/Crashes

Find a UECC file with the last date you was executing your project with nDisplay and see if there was a minidump to open with Visual Studio to help point you to the crash specific problem.

If your nDisplay launched Unreal project is coming up with a black screen and it sits there for a long time then closes, I tend to find that the node you are executing nDisplay on was attempting to connect to another node that was expected, based upon the .ndisplay file or config asset, and the connection never completed.

If you are attempting to start this from Switchboard, be sure SwitchboardListener is running with the correct elevated privileges.