Epic Games have rolled out the latest major upgrade to Unreal Engine 4 while work continues on Unreal Engine 5.
This latest release with Unreal Engine 4.26 surprisingly has quite a lot of Linux issues sorted, along with dropping OpenGL in favour of Vulkan on the desktop now. It's a change that's not really surprising, with Vulkan being the future along with it being needed for Stadia which is quickly expanding its list of available titles.
We’re pleased to announce that Unreal Engine 4.26 is ready for download! This release brings new tools that extend your ability to create believable real-time environments and characters for games, film & TV, visualization, and training & simulation; continued advancements to our virtual production toolset; higher-quality media output; improved design review tools; and much, much more.Epic Games
We've rounded up the other Linux specific fixes for you here:
- Automation - Bug Fix: Fixed Linux packaging failure resulting from Lumin key being copied locally into Gauntlet.
- Core - New: Removed unnecessary target dependencies for ShaderCompileWorker on Linux.
- UnrealBuildTool - Bug Fix: Fixed retry in Linux when linking batch files.
- Bug Fix: Resolved an issue with Linux with the SegFault in source filtering and notification manager when closing QAGame Clear Regional Lists at the pre-exit instead of during the global dtor.
- New: Building with a -gbd-index with Clang v9 or above now cuts symbol loading time by more than half (45 seconds to 17 seconds).
- New: Added the No Relative Mouse Mode command-line option to support remote VNC.
- New: Lld linker is now supported with Clang v9 and above.
- Bug Fix: Implemented GetWindowUnderCursor for Unix Platform.
- Bug Fix: Updated README.md for Linux build.
- Bug Fix: Fixed SegFault in source filtering and notification manager when closing QAGame Clear RegionalLists at pre-exit instead of during global dtor when many objects / modules have been freed. Call RemoveAll on FilterCollection->GetSourceFilters updated in PreExit instead of global dtor when many objects / modules have been shut down.
- Bug Fix: For Unix, fixed FUnixPlatformMemory::GetStats() that always returned 0 when memory was over 10.24gigs.
- Bug Fix: UE no longer hard codes c14 in LinuxToolchain as the default c standard.
- Bug Fix: Added SP_OPENGL_SM4_REMOVED to IsDeprecatedShaderPlatform(). This fixes assert when getting shader stats (called from FShaderCookerStats::Initialize).
- Bug Fix: Added error messagebox when vkGetPhysicalDeviceSurfaceSupportKHR fails (no present support).
- Bug Fix: For Linux Vulkan, fixed amdgpu mesa crash where drawinstance call is outside render pass enabling shader complexity view.
- Bug Fix: Update translucent rendering fix to use BeginRenderingTranslucency.
- Bug Fix: Honor UE4's Mono-build environment using Build.sh .
- Bug Fix: Fixed BC6H/BC7 texture formats not being available for Linux.
- Bug Fix: Fixed submenus closing causing main context to close.
- Bug Fix: Fixed focus issue where Windows with never activate policy were being set to active.
- New: Updated Linux SDL2.0.10 to SDL2-2.0.13-13784. Also we removed Epic opengl and emscriptem changes. Source snapshot for SDL 2.0 (Updated Wed Apr 29, 2020) https://www.libsdl.org/hg.php .
- New: Enabled ssse3 by default for Linux x86.
- New: Build ShaderConductor for Linux Script now uses v16 Clang 9.0.1, and works around incorrect llvm-tblgen location. This also adds declspec guid -fms-extensions for build error.
- New: Updated Linux SDL2.0.10 build files to SDL2-2.0.13-13784.
- New: Added support for multithreading in forked processes. Use -PostForkThreading when SupportsMultithreading() is false to allow multithreading in forked processes. Forked processes do not inherit threads from the master, so this keeps the master process in single thread mode but transforms the RunnableThreads into real threads on the forked version. Use FForkProcessHelper::CreateForkableThread to use this feature. ForkableThreads will behave correctly according to the environment they are called in (singlethread, multi thread, forkable). SyncEvents created in -PostForkThreading environments are real events on the master process (Win, Unix platform only).
- New: Added TaskGraph.ForkedProcessMaxWorkerThreads cvar to directly control the number of worker threads spawned on forked processes that enable multithreading.
- New: TaskGraph can now be multithreaded on a forked server with -PostForkThreading. To do this the TaskGraph needs to be shut down and recreated entirely by the forked process for the switch to occur. The functionality can be disabled via "TaskGraph.EnableForkedMultithreading 0" if needed.
- New: Linux AArch64 libs for FreeType2 v2.10.0, ICU 64.1, and HarfBuzz 2.4.0 now include BuildForLinuxAArch64.sh cross compilation scripts. This also adds LinuxAArch64 back to installed engine builds.
- New: Added bGdbIndexSection bool to LinuxToolChain.
- New: Changed default linux directory permissions to 775 from 755 to make working with them easier.
- New: You can now use msbuild in mono for Linux when using an installed copy and mono >= 5.0.
- New: Linux directory watcher optimizations and fixes for cases where we're running with "virtual" layers in the platform file (i.e. pak files).
- New: Added a skip linux UE4_DO_ROOT_PRIVILEGE_CHECK check for programs.
- New: Updated to new LLVM V17 Clang 10.0.1 toolchain.
- New: Moved to using llvm-objcopy for objcopy and strip.
- New: Installed Linux builds now assume a bundled toolchain.
- New: Added support on Mac and Linux for user-defined .unrealrc files that allow developers to specify environment variables for UBT and UAT scripts. .unrealrc files in the home and the workspace directory will be applied before the editor, UnrealBuildTool, UnrealAutomation tool, etc are run.
- New: Added support for VK_KHR_image_format_list, VK_KHR_shader_atomic_int64 and VK_KHR_driver_properties support for Linux; added gpu crash extension support on Linux for AMD and NVIDIA.
Full release notes available here.