UE4 on Linux from ssh with no display (but with GPU and rendering)?

We would like to be able to run UE4 (4.26) Editor&PIE on a Linux server with no display. The machine has a great RTX GPU that I need to use but again, no physical display. We have a Linux box setup and I am able to login from a remote machine and start a WM and run UE4.26 with no issues. The machine does not physically have a display (it’s an AWS instance) but obviously it has a virtual display in order to support my WM and the rest of my session.

I intend to control the UE4 process using the http web remote subsystem but I would effectively like to be able to ssh into the server and launch that UE4 process to which I will then send various remote API commands etc.

This is possibly similar to how the UE4 system runs in -server mode but it does not seem to be the same. I once knew quite a bit about X but it has been a long time and quite a bit has changed. It’s as if I want to open a dummy display on the server (from my ssh shell) and route display calls to something like /dev/nul.

Does anyone have experience (that they could share) with this sort of approach? – I suspect it could come up in various virtual production workflows or in more general game-server deployments.

To answer my own question… on Linux there is a flag -RenderOffscreen which, if used, does what I want with no drama at all. I am able to run as follows:

/path/to/UE4Editor /other/path/to/my.uproject -windowed -RenderOffscreen -game

I don’t think -windowed is strictly needed and -game is not needed but I want it. I am on Ubuntu20.04 with Nvidia RTX and Vulkan. It is my understanding that that -RenderOffscreen flag is Vulkan-specific. I have also confirmed that this works on a machine that has no window manager installed at all.

1 Like