# nDisplay Troubleshooting on Linux 

**URL:** <https://forums.unrealengine.com/t/ndisplay-troubleshooting-on-linux/2851428>\
**Category:** Virtual Production\
**Tags:** unreal-engine, Epic-Pro-Support, question\
**Created:** [June 10, 2026, 10:05pm UTC](https://forums.unrealengine.com/t/ndisplay-troubleshooting-on-linux/2851428 "2026-06-10T22:05:33Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![anonymous-edc](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous-edc](https://forums.unrealengine.com/u/anonymous-edc)\
**Post date:** [June 10, 2026, 10:05pm UTC](https://forums.unrealengine.com/t/ndisplay-troubleshooting-on-linux/2851428/1 "2026-06-10T22:05:33Z")

</div>

Encountering several different crash repros, mentioned above and done mostly via the template project

[Attachment Removed]

---

<div class="post-metadata">

**Author:** ![anonymous-edc](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous-edc](https://forums.unrealengine.com/u/anonymous-edc)\
**Post date:** [June 10, 2026, 10:05pm UTC](https://forums.unrealengine.com/t/ndisplay-troubleshooting-on-linux/2851428/2 "2026-06-10T22:05:36Z")

</div>

**Steps to Reproduce**  
Hello! I’ve been working on integrating nDisplay into my team’s Linux-based project and have been running into some issues. I started with troubleshooting just the template project, then only recently began an attempt at integrating into the actual project, my findings are as follows:

things that work (mostly in regards to the template project):

- single gpu multi display works if windows are launched in windowed mode and not in fullscreen

- windows launched in window mode can be made fullscreen post-launch through window rules, which does seem to work

- render sync policy must be set to None

- project can run multiple windows across multiple computers for a single player scene

- when using multiplayer (basic create/join session blueprint nodes added to template project, done over lan only) running with a single nDisplay screen per machine seems to work as long as the nDisplay session is not the host. I am not sure exactly the nuance of how we use Unreal’s built in multiplayer mechanisms vs our own server/client architecture, but we do eventually want multiple distinct “players” each with their own nDisplay configuration interacting with the same game session

- both wayland and x11 seem to work with equal results, as long as SDL is explicitly told to use x11 in wayland environments

things that do not work:

- Nvidia and Ethernet render sync policies will crash after a frame is rendered

- Input does not seem to be received with multiple screens active

- Even with render sync policy set to None, if the nDisplay game tries to host a session, or has multiple screens and tries to join a session, it will cease rendering, even though the multiplayer game continues to work

- If displays are set to fullscreen, they will all open on the primary monitor, even with correct window geometry configured

- in windowed mode, the screens open on the correct monitor, but do not appear to open to cover the full screen, even though the pixel dimensions and placements are correct. In KDE, no windows seem to open fully, in Gnome some do but it’s unclear why.

- while multiple ndisplay screens in windowed mode seemed to work in the template project, it’s currently crashing in our actual project. I cannot yet confirm if this is an issue with how our project interacts with ndisplay, or just an issue with having multiple instances of our project on the same machine, we generally only expect to run one computer per display for the immediate future, but would like this to work as we eventually want one computer with multiple gpus as a target.

- I was also testing just running a single nDisplay window on each of my machines with the goal of just getting one display per machine working. I am experiencing an issue where despite the same project state, one of my machines will crash shortly after booting the game (something about FinishCompilation during PostCompilation for some texture), but this crash does not occur when run just via play in editor, and does not occur at all on my other machine.

Any support would be appreciated, thanks!

[Attachment Removed]

---

<div class="post-metadata">

**Author:** ![comlys](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/comlys/32/998665_2.png) [@comlys](https://forums.unrealengine.com/u/comlys)\
**Post date:** [June 22, 2026, 6:21pm UTC](https://forums.unrealengine.com/t/ndisplay-troubleshooting-on-linux/2851428/3 "2026-06-22T18:21:47Z")

</div>

Hello, are you able to share a test project or any logs?

[Attachment Removed]

---

<div class="post-metadata">

**Author:** ![anonymous-edc](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous-edc](https://forums.unrealengine.com/u/anonymous-edc)\
**Post date:** [July 1, 2026, 2:21pm UTC](https://forums.unrealengine.com/t/ndisplay-troubleshooting-on-linux/2851428/4 "2026-07-01T14:21:42Z")

</div>

Hey, apologies for the delay, I had been out last week. Most of the issues I experienced are present in the nDisplay template project that is packaged with Unreal 5.7. I will need to do a pass to make sure my slight modifications to it (mostly just introducing extremely rudimentary multiplayer) are able to be shared, but I should be able to provide that if needed.

Logs I’d like to share, where do I find them for projects run via switchboard?

[Attachment Removed]

---

<div class="post-metadata">

**Author:** ![comlys](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/comlys/32/998665_2.png) [@comlys](https://forums.unrealengine.com/u/comlys)\
**Post date:** [July 13, 2026, 5:13pm UTC](https://forums.unrealengine.com/t/ndisplay-troubleshooting-on-linux/2851428/5 "2026-07-13T17:13:45Z")

</div>

You can get to the logs via the Tools menu in SB.

[Attachment Removed]

---

<div class="post-metadata">

**Author:** ![anonymous-edc](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous-edc](https://forums.unrealengine.com/u/anonymous-edc)\
**Post date:** [July 21, 2026, 5:37pm UTC](https://forums.unrealengine.com/t/ndisplay-troubleshooting-on-linux/2851428/6 "2026-07-21T17:37:49Z")

</div>

Small update: While I’m not 100% sure just yet, I think the issue of multiple displays on the same machine crashing is likely mostly an “our project” issue, as I was able to get our project running across multiple machines with one instance/window on each machine. I’m currently working through log files to ensure I am able to properly sanitize and post their contents, but the majority of issues present are reproducible in the sample ndisplay project included with unreal engine 5.7.

[Attachment Removed]

---

<div class="post-metadata">

**Author:** ![comlys](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/comlys/32/998665_2.png) [@comlys](https://forums.unrealengine.com/u/comlys)\
**Post date:** [July 21, 2026, 6:25pm UTC](https://forums.unrealengine.com/t/ndisplay-troubleshooting-on-linux/2851428/7 "2026-07-21T18:25:51Z")

</div>

Understood about the sample project. But yeah, the logs would be very helpful. From what I understand, the sample project is part of the QA testing, so the logs would hopefully shed light on the differences you have in your project setup vs the one they use for QA.

[Attachment Removed]

---

<div class="post-metadata">

**Author:** ![anonymous-edc](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous-edc](https://forums.unrealengine.com/u/anonymous-edc)\
**Post date:** [July 31, 2026, 2:14pm UTC](https://forums.unrealengine.com/t/ndisplay-troubleshooting-on-linux/2851428/8 "2026-07-31T14:14:22Z")

</div>

I was finally able to get a thumbs up on sharing logs, apologies for the delay, should be able to do this faster in the future. While reviewing the logs, I noticed that two areas of crash are:

a) some texture compilation race condition(?) in our code maybe

b) a crash somewhere in the chaos solver

I was also able to get things running in our project where we have one display per machine, but I was still unable to use fullscreen mode, any sync methods, or more than one screen per monitor, which reflects what I saw in the template project

[Attachment Removed]

---

<div class="post-metadata">

**Author:** ![anonymous-edc](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous-edc](https://forums.unrealengine.com/u/anonymous-edc)\
**Post date:** [July 31, 2026, 5:08pm UTC](https://forums.unrealengine.com/t/ndisplay-troubleshooting-on-linux/2851428/9 "2026-07-31T17:08:33Z")

</div>

Additionally, one if the bigger challenges I’ve been running into is debugging ndisplay runs. It’d be nice to be able to have a breakpoint rather than a full crash. I typically use Rider for development, but it’d be nice to have some insight on what workflows are recommended for nDisplay debugging

[Attachment Removed]

---

<div class="post-metadata">

**Author:** ![ryanmayeda](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@ryanmayeda](https://forums.unrealengine.com/u/ryanmayeda)\
**Post date:** [August 18, 2026, 11:36pm UTC](https://forums.unrealengine.com/t/ndisplay-troubleshooting-on-linux/2851428/10 "2026-08-18T23:36:15Z")

</div>

Hi Jack.

Thanks for sending the logs and for your patience with us. There are multiple things going on here, so it took a beat for us to digest it all.

On the crash, the logs do show an issues shader/texture compilation related to an Ocean Rendering setup in your project. It’s possible there is an engine issue here but it’s also hard to say without access to your project because it could also be specific or at least fixable in your setup. It seems tied to having a cold DDC though, and one thing you might try is setting this CVAR: Editor.AsyncTextureCompilation=0. This may get you through the compilation and then after that the project will read from the DDC.

On the nDisplay side, one big thing to be aware of is that Linux does not have an equivalent to the “exclusive” fullscreen feature on Windows. So, when you set nDisplay to fullscreen, it will have the same behavior as windowed fullscreen. To get fullscreen you’ll need to auto-hide the dock and possibly also the top bar depending on which window manager you’re using.

In our testing, we’ve been able use the different sync policies on Linux successfully. I’m not totally following the different permutations of using multiple screens vs. the project in use, but that could be something to dig into further. Perhaps your configuration has something that wasn’t in our test coverage. Would it be possible for your to share your ndisplay configuration asset? We can try it on Linux on our side.

One more question, do you get the same behavior in UE 5.8?

Ryan.

[Attachment Removed]

---

<div class="post-metadata">

**Author:** ![anonymous-edc](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous-edc](https://forums.unrealengine.com/u/anonymous-edc)\
**Post date:** [August 25, 2026, 6:01pm UTC](https://forums.unrealengine.com/t/ndisplay-troubleshooting-on-linux/2851428/11 "2026-08-25T18:01:27Z")

</div>

Hello!

I’ve been doing some further testing and have some new findings. I was able to get testing done in a production environment, however note that it will likely be extremely difficult to get logs out of this environment.

As an overview, the production environment deploys vms, though each vm gets one physical screen and one physical gpu. My dev environment consists of two physical machines, one of which has two physical displays, the other only has one.

I observed a few wins, but a few defects as well:

1. Exposure appears to be inconsistent between displays, close but visibly not perfect. I notice that screens that are on the same horizontal plane seem to be consistent, but screens that are at different heights appear slightly off relative to each other, unsure if this is anecdotal or an artifact of how nDisplay works.
2. While on my dev machine, the nvidia and ethernet options didn’t seem to work, in prod, ethernet and nvidia both work (about equally) but “none” does not. Aside from the use of vms, we also just use plain x11 as our display environment in prod vs kde or gnome in dev.
3. Fullscreen does seem to work in prod, even though I ran into the previously mentioned issues with it in dev
4. Some game state appears to not quite sync, currently investigating as an issue on our side
5. Performance seems degraded vs a quick and dirty hack I had implemented to effectively alter the camera focal points/fov to achieve the same seamless multi-display view (30 vs 60 fps). My hack did not implement any sync methods, wondering how much overhead is expected from that.

The Editor.AsyncTextureCompilation=0 cvar was extremely helpful, as it allows me to test locally with multiple displays on my single machine, thanks for calling that out! We do indeed have engine modifications and I was already assuming this is an internal bug, the workaround is greatly appreciated. These engine modifications will make it difficult to test our project in 5.8 in a timely manner and would need different prioritization to pursue that path.

[Attachment Removed]

---

<div class="post-metadata">

**Author:** ![ryanmayeda](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@ryanmayeda](https://forums.unrealengine.com/u/ryanmayeda)\
**Post date:** [August 26, 2026, 12:17am UTC](https://forums.unrealengine.com/t/ndisplay-troubleshooting-on-linux/2851428/12 "2026-08-26T00:17:31Z")

</div>

Hi Jack.

Glad to hear we’re making some progress!

The VM vs. physical machine thing is a potential variable, so I’ll ask the team what they think of that, especially with the additional Linux wrinkle. However, I also want to ask a few other quick follow ups first:

re: Exposure, are you using Auto Exposure or Manual Exposure? Auto Exposure support was added in UE 5.8 so since you’re on an earlier version, this can result in a less than perfect match. In UE 5.8, Auto Exposure #justworks, and the nDisplay also has options to override the PPV and specify viewports/nodes to use for metering and/or exclusion:

[Image Removed]re: Nvidia vs. ethernet vs. none, when you say these options didn’t seem to work, do you mean they didn’t launch and/or crashed? Or, do you mean they weren’t in sync and you were getting tearing? What project are you testing with here? It sounds like your production project has a custom ocean system, is that deterministic?

re: Fullscreen on your dev machine, is it taking over all the space except for the OS UI? Would it be possible to share a photo/screenshot of what it is/isn’t covering?

Let me know, we’ll keep digging into this with you.

Ryan.

[Attachment Removed]

---

<div class="post-metadata">

**Author:** ![ryanmayeda](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@ryanmayeda](https://forums.unrealengine.com/u/ryanmayeda)\
**Post date:** [September 8, 2026, 6:27pm UTC](https://forums.unrealengine.com/t/ndisplay-troubleshooting-on-linux/2851428/13 "2026-09-08T18:27:44Z")

</div>

Hi Jack.

Here is the Github URL for the change that added Auto Exposure support to nDisplay. Be warned, it touches a lot of files. I don’t recall there being any additional bugfixes needed after the initial submission though.

[https://github.com/EpicGames/UnrealEngine/commit/7521b89695e631b6c5624338308c55f5c1650dcd](https://github.com/EpicGames/UnrealEngine/commit/7521b89695e631b6c5624338308c55f5c1650dcd)

For your sync mode crash, we probably are going to need logs to help you any further. If you can send those, we can take a look.

For fullscreen, I think I misunderstood you initially. Are you saying that your dev machine is on Windows, and fullscreen doesn’t go to the right monitors? But your prod machines are Linux, and they _do_ go to the right monitors?

Ryan.

[Attachment Removed]

---

<div class="post-metadata">

**Author:** ![anonymous-edc](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous-edc](https://forums.unrealengine.com/u/anonymous-edc)\
**Post date:** [August 26, 2026, 2:21pm UTC](https://forums.unrealengine.com/t/ndisplay-troubleshooting-on-linux/2851428/14 "2026-08-26T14:21:02Z")

</div>

I’ll bring up options regarding 5.8 to the team, but good to know there’s specific fixes in there, that can help me push for updates. Are you able to point to a specific file or set of changes? We may be able to back port just those changes as well.

re: sync mode

For both my dev machines and the prod environment, the issue is crashing. My dev machine doesn’t seem to like the ethernet or nvidia modes, the prod environment doesn’t seem to like none. Our custom ocean is however deterministic, and regardless of sync mode it appears visually seamless, give or take some slight offsets that I currently believe are related to my previously mentioned game state sync issues.

re: fullscreen

I’m not quite sure what happened but using windowed launches now seems to properly fill all screens (minus task bar overlap) and position everything correctly, not sure if this is the cvar, system updates, or project updates, but nothing changed with my nDisplay config. With fullscreen mode, windows still fail to position themselves on the correct screen, always instead pinning all windows to my primary monitor

[Attachment Removed]

---

<div class="post-metadata">

**Author:** ![anonymous-edc](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous-edc](https://forums.unrealengine.com/u/anonymous-edc)\
**Post date:** [September 18, 2026, 5:37pm UTC](https://forums.unrealengine.com/t/ndisplay-troubleshooting-on-linux/2851428/15 "2026-09-18T17:37:53Z")

</div>

Hello,

Apologies for the delay, I was on work travel and unable. This is going to be a shorter reply as I need to do more diagnostics to dig into the sync issue. That said, with that travel, I was able to get a few more data points on what does and doesn’t work. All of my machines are Linux, specifically RHEL 8, and it is there that fullscreen seems to always go to a specific monitor. As noted previously, using borderless windows seems to work now, not sure exactly what changed but so far it seems like placement is going ok, and importantly appears to work on our one-display-per-vm production environments, so I’m currently categorizing placement issues as minor if not resolved by unknown changes.

What does seem to be an issue is occasional failure to launch. I’m currently categorizing this under sync issues, as it seems like if one client fails, it takes down the whole cluster. It’s not consistently reproducible, so I’ll be looking into this more over the coming days, hopefully I’ll have more to report. Thanks again for your support so far!

[Attachment Removed]

---

<div class="post-metadata">

**Author:** ![anonymous-edc](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous-edc](https://forums.unrealengine.com/u/anonymous-edc)\
**Post date:** [October 5, 2026, 1:43pm UTC](https://forums.unrealengine.com/t/ndisplay-troubleshooting-on-linux/2851428/16 "2026-10-05T13:43:32Z")

</div>

We’re currently experimenting with failover so the whole cluster doesn’t go down, but still don’t really have insight into why individual clients are failing yet, will update when I get more information but just wanted to keep the thread live

[Attachment Removed]

---

<div class="post-metadata">

**Author:** ![ryanmayeda](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@ryanmayeda](https://forums.unrealengine.com/u/ryanmayeda)\
**Post date:** [October 7, 2026, 5:54am UTC](https://forums.unrealengine.com/t/ndisplay-troubleshooting-on-linux/2851428/17 "2026-10-07T05:54:46Z")

</div>

Sounds good, is there any info you’re waiting on me for right now? Otherwise I’m happy to keep standing by to jump in when you have something new.

Ryan.

[Attachment Removed]
