State of Linux (development) support?

I’ve been trying decipher weather or not the UE4 editor actually works on Linux and how well - but the messages are quite mixed;

There is a roadmap that has Linux Editor on it Trello - but honestly I’ve no idea how to read it, it may mean that it is planed to be delivered this march .

The wiki seems to suggest that official support will never happen; A new, community-hosted Unreal Engine Wiki - Announcements - Epic Developer Community Forums

Question 1: So what is the latest word on official Linux editor support?

Another part of the wiki A new, community-hosted Unreal Engine Wiki - Announcements - Epic Developer Community Forums suggest that you used a custom fork and then states that you do not need to do this ?
( also ironically it lists minimum requirements that has “Windows 7 64-bit or Mac OS X 10.9.2 or later” in it and states “Please make sure that you at least meet the minimum system requirements…]”, I’ll chalk that up to copy/paste error how ever )

But assuming that I build either the custom fork or the official release branch and follow the many, many steps on the wiki;

Question 2: how well does the Linux editor currently work? will it randomly crash, are there unfinished parts, etc.

I’ve been burned once already waiting for a editor port for another engine that turned out to be a unstable crippled system - so I’d rather try to avoid wasting more time wishing and hoping.

We were demoing the editor on Linux at GDC and it runs quite well, but it’s definitely more buggy than normal. All the features are there, but you’ll run into problems from time to time.
You do have to build it following those instructions though, they’re working on getting it to a point where it’ll be available in the launcher but they aren’t quite there yet.

Thanks - trying to build it now.

Should this worry me?


Setting up dos2unix (6.0.4-1) ...
+ set +x

Github build
Checking / downloading the latest archives
Checking dependencies (excluding Win32, Win64, Mac, HTML5, Android)...
Received 3814/15883 files (394.1/3041.7mb; 7.57mb/s; 12%)...Stacktrace:


Native stacktrace:

	mono() [0x4b73d8]
	mono() [0x50f13b]
	mono() [0x423d22]
	/lib/x86_64-linux-gnu/libpthread.so.0(+0x10340) [0x7fb79f5fa340]

Debug info from gdb:

Received 3814/15883 files (395.8/3041.7mb; 7.72mb/s; 13%)...Could not attach to process.  If your uid matches the uid of the target
process, check the setting of /proc/sys/kernel/yama/ptrace_scope, or try
again as the root user.  For more details, see /etc/sysctl.d/10-ptrace.conf
ptrace: Operation not permitted.
No threads.

=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================

Build/BatchFiles/Linux/GitDependencies.sh: line 18: 18499 Aborted                 (core dumped) mono Engine/Binaries/DotNET/GitDependencies.exe $ARGS
Result: 134
Checking dependencies (excluding Win32, Win64, Mac, HTML5, Android)...


It’s happily continuing to download files… so… ?

(on Ubuntu 14.04 LTS)

Where do I post my stupid questions about the build process? - the synchronous nature of IRC doesn’t agree to well with me :wink:

I have used Linux very little so I wouldn’t know.
As far as help, I think there’s some Linux IRC groups, and maybe some forums.
But it’s good to post here, they want to make sure that Linux users know about it and test it out, the more people are here using it the more they can do fixes for it.

Hi

Your problem above appears if you use old version of mono. Use the newest you can get, at least 3.10 or even newer. After getting that error above, just rerun the ./Setup.sh script again until you got all the dependencies. After downloading the dep. it will compile and install necessary stuff .

Question 1: So what is the latest word on official Linux editor support?
At the moment the community, with the help of Epic|rcl (1 person at epic) is doing the Linux port. That should answer your question how official the support for the Linux editor is.

Question 2: how well does the Linux editor currently work? will it randomly crash, are there unfinished parts, etc.
The community version 4.7-linux on the 3dluvr repository has some new stuff which is not yet in the master branch and the other way around. We merged some linux related stuff from the master branch into the 4.7-linux. So that means that should be the most usable version of the UE4Editor on linux. We recommend to use that until 4.8 comes out which will have the modifications we have in the 4.7-linux branch.
Of course we have OpenGL related crashes, memory related crashes etc. But for small projects I would say it is useful.

You may post questions to Answer Hub or come to the IRC #ue4linux on FreeNode network.

One way or the other, I would probably be the one who ends up answering them. :slight_smile:

Let me address some of your concerns from above:

The system requirements on the wiki are for the hardware only and they are straight copy/paste from Epic. I added them there so that people don’t try to run UE4 Editor on a 10 year old clunker.

Right now we have a Community branch that runs pretty well, and is available in my repo (3dluvr/4.7-linux)

The editor from that branch runs pretty decently, but it does still have some nags here and there.

When will Epic officially support Linux Editor? Only they know, and we are hoping with every new release that it will be the one. No matter what, with all our work it is coming closer and closer to that point.

Since you are running Ubuntu 14.04LTS you should have no issues what so ever, so that mono crash is not right, unless your mono is old or missing something?

Late last night I managed to get it running - there was a slight issue with the build script trying to use clang++ instead of clang+±3.5 that unfortunatly was only solvable by doing a symbolic link which I’m sure will come back to bite me on some future update.

Q: You both seem to belive my mono is too old ( never had it installed before I just pulled the latest version Ubuntu 14.04 LTS has ) if I update it will I need to recompile the editor again?

Q: While the editor seem to work I can’t seem to find the launcher - am I just being blind or is there some other way to get the “content example” every tutorial states I should start by exploring?

Mono is known to crash, GitDependencies.sh will just keep re-starting GitDependencies.exe in that case. This may or may not be the cause: RavenDB client onlinux connecting to windows server using mono http - Stack Overflow

The launcher for Linux is not yet ready, but we are working on this.

There are more people involved at Epic, this statement does not do justice to them. The company is developing the engine with multiple platforms in mind and is committing resources to test and support it on them. We are standing on the shoulders of 100+ coders, who improve OpenGL RHI for us, who use cross-platform libraries, who consider limitations of Linux in their design, and who simply make sure not to break Linux code even if they never run Linux tools themselves. This support, very much official, should not be overlooked.

The most polished code is one that gets used the most. It is obvious that with Linux editor being used by fewer people it is going to take longer time to smooth out the rough edges.

This chicken and egg situation can only be solved by people trying to use it despite the fact that it can randomly crash, has unfinished parts, etc. The editor is being developed for the users after all, and if no one is using it for reals, no amount of quality assurance testing is going to bring it on par to editor on other platforms, where many thousands of people fire it up daily and bugs get noticed, reported and sometimes even fixed before QA gets to it.

4.7(-linux) is at the point where the editor can be used by non-developers. As darthviper107 noted, we have been demoing it on GDC and it was good enough for showing (by non-Linux people to non-Linux people) how the animation system works, how you can create a Blueprint “game” and similar questions which weren’t actually related to Linux at all.

Just tried the Github links above - both 404’d. Am I missing something?

You need to be signed in Github to access them

And also, your github username should be added to your profile on unrealengine.com

I hope EPIC sometime in future consider dropping all .net based tools and replacing something integrated that has less bloat and is much more slimmer/stable/faster/robust

I am a newcomer to the Unreal platform and though I’ve found the Editor and other tools to work quite nicely in Mac and Windows, the linux build is causing me a little trouble. I can get the editor itself to build but I get a variety of unsavory messages in some of the other tools and am unable to build the final package. (hopefully this is the right place for these?) :

[238/656] Compile RendererPrivate.h
In file included from …/UnrealEngine/UnrealEngine-release/Engine/Intermediate/Build/Linux/x86_64-unknown-linux-gnu/UE4Editor/Shipping/LevelEditor/Module.LevelEditor.2_of_3.cpp:18:
…/UnrealEngine/UnrealEngine-release/Engine/Source/Editor/LevelEditor/Private/SLevelViewport.cpp(3371,69) : error: no member named ‘GetExecBind’ in ‘UPlayerInput’
FKeyBind Binding = TargetPlayer->PlayerController->PlayerInput->GetExecBind(TEXT(“ShowMouseCursor”));
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
1 error generated.


[339/656] Compile IntroTutorials.generated.cpp
In file included from …/UnrealEngine/UnrealEngine-release/Engine/Intermediate/Build/Linux/x86_64-unknown-linux-gnu/UE4Editor/Shipping/GameplayDebugger/Module.GameplayDebugger.cpp:3:
…/UnrealEngine/UnrealEngine-release/Engine/Source/Developer/GameplayDebugger/Private/GameplayDebugger.cpp(233,9) : error: use of undeclared identifier ‘Extender’
return Extender;
^
In file included from …/UnrealEngine/UnrealEngine-release/Engine/Intermediate/Build/Linux/x86_64-unknown-linux-gnu/UE4Editor/Shipping/GameplayDebugger/Module.GameplayDebugger.cpp:5:
…/UnrealEngine/UnrealEngine-release/Engine/Source/Developer/GameplayDebugger/Private/GameplayDebuggingComponent.cpp(632,27) : error: use of undeclared identifier ‘EQSLocalData’
if (++CurrentEQSIndex >= EQSLocalData.Num())
^
[340/656] Compile Sequencer.generated.cpp
2 errors generated.

and,

[537/656] Link libUE4Editor-EnvironmentQueryEditor-Linux-Shipping.so
…/UnrealEngine/UnrealEngine-release/Engine/Intermediate/Build/Linux/x86_64-unknown-linux-gnu/UE4Editor/Shipping/Launch/Module.Launch.cpp.o: In function .../UnrealEngine/UnrealEngine-release/Engine/Source/ThirdParty/FBX/2014.2.1/lib/linux/x86_64-unknown-linux-gnu/libfbxsdk.a(fbxutils.o): In function fbxsdk_2014_2_1::FbxPathUtils::GenerateFileName(char const*, char const*)‘:
fbxutils.cxx:(.text+0x498): warning: the use of tempnam' is dangerous, better use mkstemp’
~FFeedbackContextEditor’:
…/UnrealEngine/UnrealEngine-release/Engine/Source/Editor/UnrealEd/Public/FeedbackContextEditor.h:13: undefined reference to `vtable for FFeedbackContextEditor’
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Are these known issues? If so, are there known solutions? If not, do you have any suggestions for someone who has not yet even peeked at the code enough to make competant fixes?
None of these seem related to my linux flavor or harware, but here’s the info just for completeness:

Linux 3.13.0-46-generic #79-Ubuntu SMP (kubuntu 14.04)
Asus G74Sx, 8 cores @2.2Ghz, 12Gb ram, NVidia GTX 560M

I appreciate any advice you can offer!

I really hope that there will come the day when I’ll no longer need to work on Windows.

How can I ensure that RCL or any Unreal dev sees my post above?

If its in here they will see it.

Re: compiling error above. You are trying to build Shipping configuration, but editor can be compiled only in Development and below (on any platform). Try “make UE4Editor” instead.