You can sign up to get a daily email of our articles, see the Mailing List page!

While the Epic Games Store may not support Linux, at least Unreal Engine does and it appears to have been given quite a lot of attention in the Unreal Engine 4.25 release that went out officially today.

Apart from the usual SDK updates which you tend to see in each release, scrolling over the release notes was actually pretty damn interesting. It's not just a list of bug fixes either, there's plenty that's brand new on the Linux side and it really seems like a lot of attention has been given. Some of it includes: support for the MDL Importer on Linux for Unreal Datasmith, support for Linux offscreen Vulkan rendering, they moved to a newer llvm clang 9.0.1 v16 tool-chain and a lot more.

It's also quite fun to see a rather large and clear Linux icon on their supported platforms image:

Want to see the big list of Linux improvements in Unreal Engine 4.25? We've included it all below in a handy clickable spoiler for you. We've removed some that weren't for the normal Linux desktop like AArch64.

Click me for the full list
  1. Bug Fix: Fixed issue that prevented editor windows from restoring when minimized.

  2. Bug Fix: Set UserTempDir for Linux to $TMPDIR or fallback to /var/tmp

  3. Bug Fix: Added missing space to SanitizerInfo string.

  4. Bug Fix: Implemented module path name for Unix to avoid hard coded default path.

  5. Bug Fix: Addref Vulkan memory allocation so it's released when not used by framebuffer and surface FrameBuffer ctor was creating a view directly onto a texture surface, but was not holding the allocated memory. If the texture was freed before the framebuffer was destroyed, we could run into use after free type issues.

  6. Bug Fix: Fixed Linux address sanitizer builds.

  7. Bug Fix: Reduced NullRHI static buffer size by using dynamic buffer Reduces allocation size & fixes potential silent buffer overrun.

  8. Bug Fix: Fixed issue with shell script not being able to handle quoted arguments.

  9. Bug Fix: Send 127.0.0.1 by default for Linux/Mac as well for UnrealInsights. Since there's no Event to close dont need to check for this.

  10. Bug Fix: Added win64 platform check for VisualStudioDTE.

  11. Bug fix: Fixed Linux build break with case sensitive headers.

  12. Bug Fix: FixedLinux build break (SEnumComboBox.h -> SEnumCombobox.h)

  13. Bug Fix: Fixed race when two threads are trying to create a folder on Linux.

  14. Bug Fix: Fixed command quoting in Linux chmod command.

  15. Bug Fix: Override GetPortableCallstack to avoid 1MB allocations in crash signal handler.

  16. Bug Fix:: Removed VulkanLinuxPlatform RenderOffScreen logging.

  17. Bug Fix: Fixed Linux build break (includes paths with backslashes)

  18. Bug Fix: Fixed UnrealBuildTool unused variable warnings.

  19. Bug Fix: Fix for ISPCTexComp dll not loading on projects on a different directory. Fixes this warning on UE4Editor startup: LogCore: Warning: dlopen failed: /epic/UE4.git/Engine/ThirdParty/IntelISPCTexComp/Linux64-Release/libispc_texcomp.so: cannot open shared object file: No such file or directory LogTextureFormatIntelISPCTexComp: Warning: Unable to load ../../../Engine/ThirdParty/IntelISPCTexComp/Linux64-Release/libispc_texcomp.so

  20. Bug Fix: Ensures start time for events is now greater than last end time for all nodes.

  21. Bug Fix: GpuProfilerEvent times now clamp to valid values, SanitizeEventTree was not clamping start times to be >= to previous root start times, so we were hitting asserts in TraverseEventTree() for: lastStartTime >= GpuProfilerEvents[Root].GetStartResultMicroseconds(). Also removed unused variables.

  22. Bug Fix: Now using secure_getenv() instead of getenv().

  23. New: Missing toolchain warning now only appears on Linux + Win64.

  24. New: Added linux sanitizer information to build details if set.

  25. New: Build nvTriStrip and ForsythTriOptimizer with UE clang toolchain (link with libstdc++) Removed stdc++ dependency for MeshBuilderCommon.

  26. New: Added VULKAN_ENABLE_DUMP_LAYER to VulkanLinuxPlatform.h.

  27. New: System compiler is no longer the default fall-back on Linux. We now only check for and use the system compiler if "ForceUseSystemCompiler" command line is passed Also, no longer default to epic compiler if ForceUseSystemCompiler is specified and the system compiler can’t be found.

  28. New: Moved Linux architectures to Linux package project submenu. Added a PlatformSubMenu ini entry to DataDrivenPlatformInfo sections, and coalesced these in FPackageProjectMenu::MakeMenu().

  29. New: Added a more descriptive error messages for Linux SDK Toolchain Not Found for three cases:

    • .$ LINUX_MULTIARCH_ROOT=/tmp/foobar make BlankProgram bash "/epic/UE4-23.git/Engine/Build/BatchFiles/Linux/Build.sh" BlankProgram Linux Development Fixing inconsistent case in filenames. Setting up Mono Building BlankProgram... Unable to locate Linux SDK toolchain at /tmp/foobar/x86_64-unknown-linux-gnu. ERROR: GetBuildPlatform: No BuildPlatform found for Linux make: *** [Makefile:183: BlankProgram] Error 5

    • make BlankProgram ARGS="forceusesystemcompiler" bash "/epic/UE4-23.git/Engine/Build/BatchFiles/Linux/Build.sh" BlankProgram Linux Development forceusesystemcompiler Fixing inconsistent case in filenames. Setting up Mono Building BlankProgram... Unable to locate system compiler (-ForceUseSystemCompiler specified). ERROR GetBuildPlatform: No BuildPlatform found for Linux make: *** [Makefile:183: BlankProgram] Error 5

    • LINUX_MULTIARCH_ROOT= make BlankProgram bash "/epic/UE4-23.git/Engine/Build/BatchFiles/Linux/Build.sh" BlankProgram Linux Development Fixing inconsistent case in filenames. Setting up Mono Building BlankProgram... Unable to locate Linux SDK toolchain. Please run Setup.sh. ERROR GetBuildPlatform: No BuildPlatform found for Linux make: *** [Makefile:183: BlankProgram] Error 5

  30. New: Added support for Linux offscreen Vulkan rendering, which is enabled with -RenderOffScreen flag. This fixes several Slate issues when rendering offscreen.

  31. New: Moved to new llvm clang 9.0.1 v16 toolchain.

  32. New: Added bGdbIndexSection bool to LinuxToolChain.

  33. New: Linux now always uses lld linker with clang v9 and above.

  34. New: Can now generate .debug_pubnames and .debug_pubtypes sections in a format suitable for conversion into a GDB index. This option is only useful with a linker that can produce GDB index version 7.

  35. New: Added protected to bGdbIndexSection bool.

  36. New: New build of python2.7 for Linux now supports zlib, bz2, and ssl.

  37. New: Use msbuild in mono for Linux when using an installed copy and mono >= 5.0.

  38. New: Batch writing of ini files is now possible.

As for Vulkan API support, looks like that saw huge improvements too across the board. There's 50+ improvements just for Vulkan including new features like DXC integration (DirectX Shader Compiler) into their Vulkan shader compiler, they added support for Virtual Texture Streaming for Vulkan on Linux and there's even some Vulkan VR improvements

It's interesting since there's more and more games coming to Stadia, which uses Debian Linux and Vulkan so it's probable a lot of the interest there is due to that and thanks to it Unreal Engine on Linux as a whole will get better. See the release announcement here.

Article taken from GamingOnLinux.com.
21 Likes, Who?
We do often include affiliate links to earn us some pennies. We are currently affiliated with GOG, Humble Store and Paradox Interactive. See more here.
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly.
See more from me
30 comments
Page: 1/3»
  Go to:

mphuZ 5 May
Quotewith tons of Linux...
AArch. Not interesting

Also:

Improvements for Steam Audio;
RT is ready for production;
Initial support for PS5/XSX;
Official termination of Win32 support starting from 4.27 version.
And yet Epic still won't port their most popular game to Linux.

Not that I would ever play Fortnite -- nothing about it appeals to me -- but it shows how Epic really feels about the Linux platform.
elmapul 5 May
is that the SteamOS logo or steam logo? because i dont see the logo for other stores, including their own store, so why its there mixed with a lot of platform logos...
Sweeney must have double personality....
Pikolo 5 May
Quoting: elmapulis that the SteamOS logo or steam logo? because i dont see the logo for other stores, including their own store, so why its there mixed with a lot of platform logos...
The Visual Studio logo doesn't make that much sense either tbh...
CatKiller 5 May
Quoting: elmapulis that the SteamOS logo or steam logo? because i dont see the logo for other stores, including their own store, so why its there mixed with a lot of platform logos...

Weirdly, I think it's likely to be neither, but "Steam Machines" instead, as a platform. And likely mostly so they didn't have a visual gap. Although it does means that the Steam logo gets to be on there twice, which is funny coming from Epic.

That selection of icons is really odd in general: they've clearly put the wide icons with text on one side and the mostly square icons on the other so that they all line up visually, which is fair enough, but what's going on with the ordering? Steam gets the top row and Windows is down slumming it with Linux & Android. Very strange.
Have they finally fixed the Vulkan performance issues with native Linux builds? As of a few months ago it was so bad that the same Windows version of a game ran twice as fast with DXVK.
If Liam's surmise is accurate, which wouldn't surprise me, this is exactly the kind of reason I find Stadia interesting despite having no interest in using it personally and disliking the games-over-the-cloud model in general. Stadia can create pressure for tools, drivers and so forth to work well with Linux and get developers familiar with Linux.
Leopard 5 May
Quoting: Avehicle7887Have they finally fixed the Vulkan performance issues with native Linux builds? As of a few months ago it was so bad that the same Windows version of a game ran twice as fast with DXVK.

Probably not.



Shmerl 5 May
Quotesupport for Linux offscreen Vulkan rendering

This is for Stadia I suppose?

Also, what happened to this?
While you're here, please consider supporting GamingOnLinux on:

Patreon, Liberapay or PayPal Donation.

We have no adverts, no paywalls, no timed exclusive articles. Just good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register

Or login with...
Sign in with Steam Sign in with Twitter Sign in with Google
Social logins require cookies to stay logged in.