Linux Known Issues
Presently known issues with UE4 natively running in Linux. A page of bugs until we have a better solution for tracking. This page is part of the Linux Support area. If you are looking on how to con...
Presently known issues with UE4 natively running in Linux. A page of bugs until we have a better solution for tracking. This page is part of the Linux Support area.
If you are looking on how to configure an IDE editor or how to run on Linux, check Running On Linux area.
GenerateProjectFiles.sh/make ***
If you get an error like this:
UnrealBuildTool Exception: System.Security.SecurityException: No access to the given key ---> System.UnauthorizedAccessException: Access to the path "/etc/mono/registry" is denied.
you need to:
$ export MONO_REGISTRY_PATH=~/.mono/registry
otherwise you can create the default registry path with:
$ sudo mkdir -p /etc/mono/registry/LocalMachine
If you get a following error:
Localisation.Automation.cs(156,96): error CS0234: The type or namespace name `LocaleCodeHelper' does not exist in the namespace `OneSky'. Are you missing an assembly reference?
from your engine root folder do:
$ cd Engine/Source/ThirdParty/OneSky
$ xbuild OneSky.csproj /verbosity:quiet /nologo /p:TargetFrameworkVersion=v4.0 /p:Configuration="Release"
$ cd -
$ cp Engine/Source/ThirdParty/OneSky/bin/Release/OneSky.dll Engine/Binaries/DotNET/OneSky.dll
General
Problems interfacing with third party libraries that use STL
In UE versions between 4.3 to 4.16 (both inclusive), a linker script (introduced in this commit) was used to hide global new/delete overloads. The script was needed because Steam runtime library would allocate a class instance via one of the custom new signatures that UE4 did not overload, but deletion would still happen through a regular global operator delete, resulting in a crash (due to pointers coming from two different heaps).
The script unfortunately had a side effect of breaking third party libraries that used STL classes in their API: code that was getting inlined in the engine would use engine's operator new/delete, while the code that resided in the library itself, or libstdc++.so/libc++.so would continue to call its own operator new/delete - again resulting in a crash.
The problem also affected AMD drivers (that are written in C++), although the mechanism here is not completely clear.
The solution for this in UE 4.3 through 4.16 is to remove the linker script (i.e. undo commit 5ace6a8679073). UE 4.17 does not hide new/delete by default and does not need any changes.
The original problem that necessitated the hiding should be gone now - Steam runtime problems has since been updated. In case you are running into a similar issue (custom new signature that results in allocations bypassing UE4's global new) with another library, you will need to contact the library author, since you cannot fix two of these problems at once (hiding new/delete AND being able to interface with third party C++ library that uses STL).
UE4Editor
Building
Running
- Some people have experienced a problem with the Editor not displaying anything in the Content Browser. One work-around is opening the Unreal Project from a case insensitive filesystem, such as a mounted fat volume on your system.
- Creating from templates, or using existing C++ projects - other outstanding issues ie. missing IDE error, missing IDE plugins, etc,
- Arch Linux users are unable to start the editor in normal POSIX multi-threaded mode, but only using a -onethread command line argument. Try installing pthreads via pecl install pthreads (thanks to IRC user fuken for the tip) or, building the editor using a Debug profile: make UE4Editor-Linux-Debug instead.
- Lightmass crashes/lightbuilding fails (FIXED by amigo) still experiencing in russian (ru_RU) locale,
- Baking lighting fails arbitrarily, or works on some projects - inconsistent,
- Optimus based laptop users who are getting Assert failed: IsInRenderingThread() or DRI buffer related errors should try running editor with: PRIMUS_SYNC=1 primusrun UE4Editor (thanks to HicksD for this tip),
- right mouse button gets stuck sometimes so that it does not aim anymore but it dollies in and out
- opening widget reflector, and dragging its window doubles total slate tick time.
- dragging any window (non-ue4) over the editor window also increases total slate tick time.
- opening a window (ie. char. BP) on the 2nd screen triples/quadruples total slate tick time.
- opening a window (ie. mat.ed) on the 2nd screen only doubles or less total slate tick time.
- dragging mouse over the details panel widgets triples or more the total slate tick time.
- content browser does not allow some keyboard events (ie. F2 to rename).
- Font/text on UI showing up as rectangles can be addressed by
- For artifacts on Mesa driver, try updating to latest. More info at
- Sometimes attempting to copy & paste or duplicate blueprint nodes stops working (WORKAROUND: copy & paste anything in another window, such as a text editor, and the editor should be able to copy & paste / duplicate blueprint nodes once more).
- Tool tips can cause lag in the Editor, in Engine/Config/ConsoleVariables.ini under the editors root dir add the line
Slate.AllowToolTips=0
to the bottom of the file and restart the editor, or just type in the console
Slate.AllowToolTips 0
to turn Tool Tips off or
Slate.AllowToolTips 1
to turn Tool Tips back on.
Loading C++ Project
- when loading up the project and there is no editor module for a c++ project it will compile the missing editor module for your project but then crash, the module is built but something else crashes afterwards.
- you can either
- start the editor and load the project then let it compile and crash then start the Editor and load the Project again.
- build the module in the IDE of choice then start the editor and load the project.
- build the module in the terminal, then start the editor and load the project.
- if it has to build the module again it may crash at the same spot.
UnrealFrontend
- Platform and process integration needs implementation/testing
SDL2 issues
4.8 branch
All the window issues mentioned below ( Official \
LiveLink FaceApp
The Apple ARKit plugin is not built by default on Linux (and on 4.26.2, is missing files required to be built). The plugin may appear in your project settings as active, but a connected iPhone may never appear in the LiveLink window.
To fix, edit the following files:
- Engine/Plugins/Runtime/AR/AppleAR/AppleARKit/AppleARKit.uplugin
- Engine/Plugins/Runtime/AR/AppleAR/AppleARKitFaceSupport/AppleARKitFaceSupport.uplugin and add "Linux" to "SupportedTargetPlatforms" and "WhitelistPlatforms":
...
"EnabledByDefault": false,
"SupportedTargetPlatforms":[
"IOS", "Win64", "Mac", "Linux"
],
"Modules":
[
{
"Name":"AppleARKitFaceSupport",
...
"WhitelistPlatforms":["Mac", "IOS", "Win64", "Linux"]
}
]
...
Then run make
again from the top-level directory.