Setting Up Scalable Display Manager for Media Server Integration with Backstage
Set up Scalable Display Manager against a Brainsalt media server, then import its calibration into Backstage so the projectors, screen geometry and warping all come across.
Before you start
-
Scalable Display Manager 11.00.0.005 or later.
-
Decide where Display Manager runs: directly on the server for a simple single-server setup, on a dedicated machine for complex or multi-server installations.
Close Backstage through the Launch Manager before running Display Manager for the first time — that is, before the integration is finished. Otherwise the two applications fight over the GPU outputs.
Prepare Display Manager
Install a software OpenGL renderer
The primary GPU in these media servers has no OpenGL support, so Display Manager needs a software renderer. Copy every file from
C:\BRAINSALT\Backstage\client\OpenGL_SoftwareRenderer
to
C:\Program Files\Scalable Display\release
See also Enable Software OpenGL Renderer with ASPEED GPU on this.
Advanced options
Display Manager and Display Client both have to ignore the control monitor. Set this under Support → Advanced Options:
IgnoreControlMonitor Bool = true ControlMonitorWidth Int = primary monitor width, e.g. 1280 ControlMonitorHeight Int = primary monitor height, e.g. 1024 EnableAcceleratedOffScreenRendering bool = false WriteScreenMeshToDisk Bool = true
WriteScreenMeshToDisk is what exports the screen OBJ file that Backstage imports later. It is written to:
C:\Program Files\Scalable Display\DEI\SystemData\DefaultSystem\Config\ScreenMeshFile.obj
Enforce the control monitor resolution
These servers can pin a control monitor resolution, applied at startup and whenever the display layout changes. Add this line to C:\BRAINSALT\System\_config\_SERVER_CONFIG.txt, creating the file if it does not exist:
CONSOLE_RESOLUTION = 1280;1024;
The primary monitor must have a lower vertical resolution than the projector outputs, or the calibration images from Display Client appear vertically shifted. This applies to Scalable Display Manager 11.00.0.005 and may be fixed in a later version.
Set up the project
Work through Display Manager as normal, with one requirement: in Screen Specifications use Perspective to specify an eye point — typically the ideal visitor position — and a frustum per projector. Backstage can only work with perspective data.
Import the calibration into Backstage
-
Close Display Manager and start Backstage through the Launch Manager, if you closed it earlier.
-
In Scene Objects, use the + icon and choose to import a Scalable Display calibration from a directory:
-
Backstage suggests
C:\Program Files\Scalable Display\DEI\LocalCalibration\— press OK. The projectors are imported, still without screen geometry: -
Use + again and choose Import Model under Surface:
-
In the file dialog, import
C:\Program Files\Scalable Display\DEI\SystemData\DefaultSystem\Config\ScreenMeshFile.obj. -
Adjust the imported surface parameters in the Inspector:
The scene should now match the one set up in Display Manager — a simple panoramic projection in this case:
-
Continue with the normal setup and route the projectors to their GPU outputs:
-
Create a sequencer with a video channel and an asset, mapped to the ScreenMeshFile:
-
Finally add a
ThirdParty:ScalableDisplayCalibrationnode and set up the group containing your Scalable calibration. This node releases the Backstage outputs whenever Display Manager needs access to them.
Automating recalibration
The same ScalableDisplayCalibration node can drive recalibration automatically:
A basic implementation, with a UDP listener on port 12000 and results sent to 10.1.100.10 port 12999:
Common Mistakes
-
Display Manager and Backstage fight over the outputs — Backstage was not closed through the Launch Manager before the first Display Manager run, or the
ScalableDisplayCalibrationnode is missing once integration is complete. -
Display Manager will not start or renders nothing — the software OpenGL renderer was not copied into the Scalable release folder.
-
Calibration images appear vertically shifted — the primary monitor's vertical resolution is not lower than the projector outputs'.
-
The import brings projectors but no screen — that is expected. The screen geometry is a separate Import Model step using
ScreenMeshFile.obj. -
No OBJ file to import —
WriteScreenMeshToDiskwas not set totrue, so it was never exported. -
Backstage cannot use the calibration — the project was not set up with Perspective and a per-projector frustum. Backstage works only with perspective data.
Related
Create Scene for Projection, optionally Stereoscopic — building a scene by hand instead of importing one
Video Routing Window — routing the imported projectors to GPU outputs
Node Editor Window — where the ScalableDisplayCalibration node lives



