内容无法以要求的语言呈现,即将以内容原始语言进行显示。
5.19.2014

Unreal Engine 4 and Linux

作者 Dmitry Rekman

While the Unreal Engine has enjoyed Linux support in the past, with Unreal Engine 4 we want to make Linux a first class member of our platform family. Our plans regarding the Linux platform balance the needs of both our internal projects and some partner projects, alongside the larger needs of the Linux community. This roughly translates to four large areas of Unreal Engine4 Linux development (each with its own unique challenges):

  • robust, secure and CPU-effective Linux game servers
  • full-featured Linux client support
  • feature-rich, native Linux development tools
  • enhancing our tools on Windows and Mac OS to make targeting Linux easy

When hearing about Unreal Engine 4 supporting Linux, it is easy to only think about the first three. However, if we want Linux to take off in the game development industry at large, we need a seamless integration with existing workflows of game companies, so that costs of shipping a Linux version of the game are minimized. That is why, somewhat counter intuitively, we need robust Windows and Mac OS tools that would allow anyone to target Linux by just recompiling and repackaging the project. This is also why we started out with cross-compilation and are planning to continue to support it, while also working to make native development easier.

We believe that this ability to target Linux (and, particularly, SteamOS) with cross-tools using the existing development environment is needed in order for it to get broader traction.

Community engagement

When we released 4.0 two months ago, we only supported Linux dedicated servers; by now official support includes running packaged games (both standalone game and client). Having SteamOS in mind, we consciously limited ourselves to the x86-64 architecture with the officially supported way of developing being cross-compilation from Windows (Mac OS toolchain will be added in the future). Documentation (admittedly scarce) of the process is maintained through the community wiki.

Needless to say, the vibrant Linux community wanted more from the very beginning ☺ Once the Unreal Engine was out in the wild, enthusiastic developers (some of them working for much bigger companies than ours!) quickly picked up the slack and started with their own initiatives, which concentrate on getting development tools running on the platform. While we had (and have) that in our plans (take a look at the engine roadmap that we recently made public), quite frankly we did not expect that to happen so soon. Yet the community managed to beat us to getting Unreal Editor to start under Linux. ☺

I feel obliged to mention by name the most active folks who were driving the community effort:

Of course there are many more folks who frequent the #ue4linux IRC channel on Freenode and our forums. Thank you so much for all the pull requests (which of course will be reflected in the credits), feedback and invaluable advice!  We feel honored to have people from Google, Red Hat and MIT donating their free time to improve Unreal Engine 4 on Linux! Also special thanks to the folks at DarkSide, particularly Michael Liebenow, who have been working shoulder-to-shoulder with us on UE4’s Linux support.

Roads to be explored

Having an AAA-grade game engine available for tinkering and experimentation benefits both us and the open source community. We are stressing a lot of components of the Linux software stack (and of course drivers), which sometimes can get improved as a result (e.g. Valve’s very handy OpenGL debugger). We are looking forward to engaging with a wide variety of projects!

We believe the engine is a fertile field for all kinds of research related to compilers, and we hope that both the gcc and clang communities will take advantage of our vast code base, especially considering that we are keen to embrace the latest and newest C++11 features.

There are so many things we would like to do with Unreal Engine 4 on the Linux platform, but currently don’t have time for:

  • Improve Unreal Engine 4 scalability by running a game server on a large, NUMA machine with tens (hundreds?) of CPUs and analyzing how we could utilize them
  • Port it to some exotic architecture like Loongson and see what you will run into
  • Port it to Linux-based devices like GCW Zero handheld or Raspberry Pi (I have partially done that in the past, and can help with building third-party libs)
  • Create a freely available (yes, the license allows that, provided that you don’t distribute the sources or tools) benchmark that could be included in Phoronix Test Suite and/or used to improve Linux graphics drivers
  • Port it to other *nix (FreeBSD, Solaris)

And of course, we encourage the UE4 community to use the opportunity to beat us again and be the first to ship an Unreal Engine 4 Linux game! ☺

We’d love to hear your thoughts so please head over to our forums and join in on the discussion!

最近文章

虚幻引擎中文教学福利:使用 C++ 开发多人游戏

Udemy 课程《虚幻引擎 4 大师:使用 C++ 开发多人游戏》由 Epic Games 中国提供官方中文字幕。本课程经过 Epic Games 认...

REWIND使用虚幻引擎为VR版《黑客旅店》注入活力

参观《硅谷》的《黑客旅店》,玩一玩他们的玩具,吃掉他们的食物,制造点混乱——一切尽在虚拟现实。深入了解REWIND如何使用虚幻引擎为粉丝们呈现HBO的...

Grishin Robotics决心利用Epic Games的虚幻引擎加速未来

Grishin Robotics是一家以消费机器人创业公司为目标的风险投资公司。该公司将联合Epic Games,利用Epic虚幻引擎推动机器人和模拟...