We do often include affiliate links to earn us some pennies. See more here.

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.

Changelog, click me
  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.
20 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly checked 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
The comments on this article are closed.
30 comments
Page: «3/3
  Go to:

Ehvis May 6, 2020
View PC info
  • Supporter Plus
Quoting: Luke_NukemArgh. That bloody awful penguin looks out of place amongst all other logos. It needs a serious update.

What Linux could use is a logo. Tux was a mascot and never a logo. I don't even think it was ever "officially" adopted either. But since there is no official logo to use, the mascot has been taken as such and, as you see, it does look very much out of place.
flesk May 6, 2020
View PC info
  • Contributing Editor
Quoting: Ehvis
Quoting: Luke_NukemArgh. That bloody awful penguin looks out of place amongst all other logos. It needs a serious update.

What Linux could use is a logo. Tux was a mascot and never a logo. I don't even think it was ever "officially" adopted either. But since there is no official logo to use, the mascot has been taken as such and, as you see, it does look very much out of place.

It's not so different from Android's "Bugdroid" icon, I think, but I agree that a more stylized icon would look cleaner for these kinds of purposes. Something like Cheeseness' "Stycil Tux" for instance: https://www.twolofbees.com/artwork.php?iid=870

EDIT: It's not the worst offender though. Look at that AR icon, and the one with the hammer and blueprint. Those definitely look out of place.


Last edited by flesk on 6 May 2020 at 9:22 am UTC
Dunc May 6, 2020
Quoting: Ehvis
Quoting: Luke_NukemArgh. That bloody awful penguin looks out of place amongst all other logos. It needs a serious update.

What Linux could use is a logo.
The official Linux logo resembles “Linux” in a serif font, with the “i” in red. I had trouble finding it online (here it is, with a superfluous Tux), because it's rather fallen out of use, but I remember seeing it in the corner of boxed copies of SuSE and Mandrake back in the day.

The Linux Foundation has its own “L-in-a-square” logo, but that's really the Foundation's, rather than representing Linux itself. They seem to use Tux when talking about the kernel project.

I kind of like the goofiness of Tux. There's a school of thought in advertising that deliberately creates bad commercials (you know the ones; bad acting, poor dubbing, terrible jingles) because they're memorable: the thinking is that remembering the advert - and hence the product - is more important than presenting a slick image. People know Tux. Don't dismiss the value of that lightly.


Last edited by Dunc on 6 May 2020 at 11:07 am UTC
ison111 May 6, 2020
I just wish they'd compile a new build of Unreal Tournament on the latest version of the engine.
Even without any other additions, just to have a fresh build with all these improvements. It's still using one from 2017 I think and has a bunch of visual bugs with no Vulkan support.
Mountain Man May 6, 2020
Quoting: Luke_NukemArgh. That bloody awful penguin looks out of place amongst all other logos. It needs a serious update.
How so? It's iconic and immediately recognizable.
Mountain Man May 6, 2020
Quoting: ison111I just wish they'd compile a new build of Unreal Tournament on the latest version of the engine.
Even without any other additions, just to have a fresh build with all these improvements. It's still using one from 2017 I think and has a bunch of visual bugs with no Vulkan support.
Pretty sure they ceased development on Unreal Tournament when Fortnite took off.
ison111 May 7, 2020
Quoting: Mountain ManPretty sure they ceased development on Unreal Tournament when Fortnite took off.
I know, but they didn't completely scrap it if they're still hosting downloads. Couldn't they just load up all the existing content into the latest version of the engine and hit compile?
It'd be the exact same game, just with less bugs and hopefully vulkan support for us, for little to no work on their part.


Last edited by ison111 on 7 May 2020 at 5:55 am UTC
Mountain Man May 7, 2020
Quoting: ison111Couldn't they just load up all the existing content into the latest version of the engine and hit compile?
I would assume it's not that easy.
salamanderrake May 7, 2020
Don't update to 4.25 if you plan to work with C++ code as intellisense (its still used to generate the preprocessor definitions and include paths for other IDEs) is busted and autocomplete doesn't work. CLion, Visual Studio Code and any IDE that uses CMakeLists.txt is uneffected (Don't know if Visual Studio C++ is uneffected or not).
Jau Jun 14, 2020
Ouch, I didn't see this article when it came out but I have to warn you : this UE4 version CRASHES like HELL on Linux when compiling complex SM5 shaders ! It's a complete mess !
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring 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!
The comments on this article are closed.