NDisplay Migration Unreal 4.27 to 5.1. Missing Output

I just migrated my project from unreal 4.27 to 5.1. My Ndisplay settings were working fine on 4.27 but on 5.1, the last screen was squished and compressed.

My resolutions are 12288x2160. three viewports all under the same node.

I did some googling and it says ndisplay have a texture limit of 8192x8192.

Cant seem to find a solution online. Does anyone have a quick fix to this?


I found some clues but i am not very good with C++.
"C:\ProgramFiles\EpicGames\UE_5.1\Engine\Plugins\Runtime\nDisplay\Source\DisplayCluster\Private\Render\Viewport\DisplayClusterViewport.cpp"
this cpp is the culprit which produce this error

// Make sure the rect doesn’t exceed the maximum resolution, and preserve its aspect ratio if it needs to be clamped
int32 RectMaxSize = OutRect.Max.GetMax();
if (RectMaxSize > MaxTextureSize)
{
RectScale = float(MaxTextureSize) / RectMaxSize;
UE_LOG(LogDisplayClusterViewport, Error, TEXT(“The viewport ‘%s’ rect ‘%s’ size %dx%d clamped: max texture dimensions is %d”), *GetId(), (DbgSourceName==nullptr) ? TEXT(“none”) : DbgSourceName, InRect.Max.X, InRect.Max.Y, MaxTextureSize);
}
OutRect.Min.X = FMath::Min(OutRect.Min.X, MaxTextureSize);
OutRect.Min.Y = FMath::Min(OutRect.Min.Y, MaxTextureSize);`

"C:\ProgramFiles\EpicGames\UE_5.1\Engine\Plugins\Runtime\nDisplay\Source\DisplayCluster\Private\Render\Viewport\DisplayClusterViewportHelpers.cpp"

This cpp above seems to have a command to override it:

`int32 GDisplayClusterOverrideMaxTextureDimension = 8192;
static FAutoConsoleVariableRef CVarDisplayClusterOverrideMaxTextureDimension(
TEXT(“DC.OverrideMaxTextureDimension”),
GDisplayClusterOverrideMaxTextureDimension,
TEXT(“Override max texture dimension for nDisplay rendering (-1 == disabled, positive values == override)”),
ECVF_RenderThreadSafe
);

After i enter the command the errors seems to stop spamming:
DC.OverrideMaxTextureDimension =16384

But when i try to launch it via switchboard, its still the same i also went into 4.27 displayclusterviewport.cpp. they do not have the same codes. meaning: they only implemented this hard limit on unreal engine 5.1. DisplayClusterViewportHelper.cpp doesnt not exist in 4.27 would appreciate if someone who are proficient with C++ can have a quick look (edited)

1 Like

I have found the fixed after digging into almost every C++ codes I can find in the game engine.

Add this code to DPCVars in Switchboard settings:
DC.OverrideMaxTextureDimension=16384

That’s It.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.