No announcement yet.

Unreal Engine 4 and Linux

  • Filter
  • Time
  • Show
Clear All
new posts

    Unreal Engine 4 and Linux

    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.


    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.


    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! :-)
    Last edited by Crystal Voliva; 07-10-2014, 04:38 PM.

    This is great news! Thanks for everyone working on this and contributing to the project, you're awesome! Can't wait to move back "home"
    Join us on IRC! We are on #unrealengine @


      this kind of news always make me happy

      thanks epic !


        As soon you lunch UE4 as linux native I'll buy it.


          This is fantastic news!
          OMG, cannot believe, no more Windows, no more Visual Studio!
          That makes me so happy.
          As I simply love linux, no less love C++, I really cannot express how happy it makes me feel!

          Congratulations to all people working on it.
          Thank you!


            This is great news! I just bought the engine and I love to contribute.
            I hope we can bring it to QMake or CMake, so I can program in my favorite IDE.
            I look forward to work with all of you!


              Originally posted by DeathReign View Post
              I hope we can bring it to QMake or CMake, so I can program in my favorite IDE.
              We generate CMakeLists.txt so you may try using your favorite IDE even as of now (UE 4.2+).


                Is there a more recent prediction about the Linux native release date? Will it come with version 4.2?


                  I just updated my working copy to latest-preview, ran the project generation script, and there were the CMakeLists.txt file! I opened it in KDevelop4 and instantly there was a perfect project file with all the build targets!! I right-clicked on UE4Game-Linux-Debug and off it went, resulting in a successful build!!!

                  !!!! Excitement !!!!

         it's really getting there. Amazing.

                  Okay, slight exaggeration for effect since the latest dependency zips are missing most of the contents of the Recast library folder, but that was easily corrected.

                  Great work!


                    We have to compile it on our Linux? Won't be any auto-installable package like on windows or MAC? A .deb maybe?


                      I cannot compile the engine. Constantly getting this error:

                      UnrealEngine/Engine/Source/Runtime/Core/Private/Linux/LinuxApplication.cpp(11,9) :  fatal error: 'ds_extensions.h' file not found
                      Any help would be appreciated.


                        Originally posted by Seitsemann View Post
                        I cannot compile the engine. Constantly getting this error:

                        UnrealEngine/Engine/Source/Runtime/Core/Private/Linux/LinuxApplication.cpp(11,9) :  fatal error: 'ds_extensions.h' file not found
                        Any help would be appreciated.
                        This is most likely caused by wrong prerequisites: you need to make sure that you downloaded and unpacked required* and optional archives appropriate for the branch you are trying to compile.

                        If you are trying to compile master though, then there can be a window of time where the github repo has been updated to use new third party libraries, while the new zips have been not yet uploaded - the code will fail to compile then. In general, it is always better to check with people on #ue4linux if you are running into case like that.

                        Also, you may find helpful.

                        Have fun


                          Still no progress...

                          Thanks for help, but I've already used this link together with 4.2.0 branch. Problem was that I've decompressed those archies parallel. Now everything apparently compiled but nevertheless UE4Client does not start. It says something like that: "Program started binned" in the console. I've also built the project as
                          $ ./ UE4Client Linux Debug -verbose
                          But still no effect. Could it be that some prerequisities are needed and not mentioned here:


                            You need cooked content to be able to run client. Right now this cannot be done on Linux (not out of the box at least), so you would need to package your project on Windows (which, by the way, would also build a Linux executable since being able to package projects for Linux involves setting up the cross-toolchain) and then copy the resulting files to the Linux machine.


                              I'm a little lost here. Is the editor and tools currently running on Linux right now?