Ubuntu 22.04下Unreal Engine 5启动失败,触发libc.so.6段错误
UE5在Ubuntu 22.04启动时触发libc.so.6 SIGSEGV崩溃的解决方法
从Server ISO全新安装的Ubuntu 22.04.3 LTS x86_64 5.15.0-91-generic系统中,Unreal Engine 5(UE5)启动时在libc.so.6中触发SIGSEGV错误,加载屏显示0%后立即崩溃,引擎未指明导致崩溃的具体函数。该引擎此前在Ubuntu 20.04系统中可正常运行,UE5 5.3.1、二进制安装版5.3.2及源码编译的5.3.2版本均存在此问题。
崩溃日志详情
[2024.01.06-16.50.17:131][ 0]LogInit: Using SDL_WINDOW_VULKAN [2024.01.06-16.50.17:131][ 0]LogVulkanRHI: Display: Built with Vulkan header version 1.3.239 [2024.01.06-16.50.17:132][ 0]LogVulkanRHI: Starting Vulkan Profile check for VP_UE_Vulkan_SM5_RT: MESA-INTEL: warning: Haswell Vulkan support is incomplete Signal 11 caught. Malloc Size=262146 LargeMemoryPoolOffset=262162 CommonUnixCrashHandler: Signal=11 [2024.01.06-16.50.17:463][ 0]LogCore: === Critical error: === Unhandled Exception: SIGSEGV: invalid attempt to read memory at address 0x0000000000000000 [2024.01.06-16.50.17:463][ 0]LogCore: Fatal error! 0x00007fd6dca12520 libc.so.6!UnknownFunction(0x4251f) [2024.01.06-16.50.17:504][ 0]LogExit: Executing StaticShutdownAfterError
NVIDIA显卡信息
+-----------------------------------------------------------------------------+ | NVIDIA-SMI 390.157 Driver Version: 390.157 | |-------------------------------+----------------------+----------------------+| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC || Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. ||===============================+======================+======================|| 0 Quadro K1100M Off | 00000000:01:00.0 Off | N/A || N/A 46C P0 N/A / N/A | 143MiB / 1999MiB | 3% Default |+-------------------------------+----------------------+----------------------+
Unreal.log内容
[2024.01.06-16.50.17:131][ 0]LogInit: Using SDL_WINDOW_VULKAN [2024.01.06-16.50.17:131][ 0]LogVulkanRHI: Display: Built with Vulkan header version 1.3.239 [2024.01.06-16.50.17:132][ 0]LogVulkanRHI: Starting Vulkan Profile check for VP_UE_Vulkan_SM5_RT: [2024.01.06-16.50.17:463][ 0]LogCore: === Critical error: === Unhandled Exception: SIGSEGV: invalid attempt to read memory at address 0x0000000000000000 [2024.01.06-16.50.17:463][ 0]LogCore: Fatal error! 0x00007fd6dca12520 libc.so.6!UnknownFunction(0x4251f) [2024.01.06-16.50.17:504][ 0]LogExit: Executing StaticShutdownAfterError
诊断报告
Generating report for minidump Application version 5.3.2.0 ... built from changelist 0 OS version Linux 5.15.0-91-generic (network name: thicc-pad) Running 2 x86_64 processors (4 logical cores) Exception was "SIGSEGV: invalid attempt to read memory at address 0x0000000000000000" <SOURCE START> <SOURCE END> <CALLSTACK START> libc.so.6!UnknownFunction(0x4251f) <CALLSTACK END> 0 loaded modules Report end!
解决方法
1. 更新NVIDIA显卡驱动
当前使用的390.157驱动版本过旧,Ubuntu 22.04对新驱动支持更好,且UE5 5.x对Vulkan版本要求较高。Quadro K1100M支持的最新官方驱动为470.x系列,执行以下步骤更新:
- 卸载旧驱动:
sudo apt purge nvidia-* - 添加NVIDIA官方PPA:
sudo add-apt-repository ppa:graphics-drivers/ppa - 更新软件源:
sudo apt update - 安装470系列驱动:
sudo apt install nvidia-driver-470 - 重启系统:
sudo reboot
2. 强制UE5使用OpenGL而非Vulkan
日志显示UE5默认尝试使用Vulkan渲染,但Haswell核显的Vulkan支持不完善,且旧NVIDIA驱动的Vulkan兼容性也存在问题。可以通过环境变量强制切换到OpenGL:
- 临时生效:启动UE5前执行
export UE_ENABLE_VULKAN=0,再运行引擎 - 永久生效:将上述命令添加到
~/.bashrc或~/.profile文件末尾,执行source ~/.bashrc使其生效
3. 安装Server版本缺失的桌面依赖
由于是从Server ISO安装的系统,缺少部分桌面环境和图形相关依赖,UE5运行需要这些组件:
- 安装标准桌面环境:
sudo apt install ubuntu-desktop - 安装OpenGL相关库:
sudo apt install libgl1-mesa-glx libgl1-mesa-dri - 安装SDL2依赖:
sudo apt install libsdl2-2.0-0
4. 验证编译环境(针对源码编译版本)
确保源码编译时依赖完整,重新编译前执行:
- 安装UE5编译所需依赖:
sudo apt install clang lldb lld g++ cmake ninja-build libssl-dev libcurl4-openssl-dev libexpat1-dev libxcb1-dev libxcb-dri3-dev libx11-xcb-dev libglu1-mesa-dev - 清理旧编译缓存:
./Setup.sh && ./GenerateProjectFiles.sh - 重新编译:
make
内容的提问来源于stack exchange,提问作者Never Man
相关产品推荐
相关产品推荐

