Skip to content

08 Compatibility

starTechnology1994 edited this page Aug 7, 2026 · 1 revision

08 平台兼容性

本章为支持范围与发布前检查清单,帮助你在目标硬件、系统和发布包上完成正式验证。


1. 支持范围

项目 目标范围
Unreal Engine 5.1 – 5.8,每个版本独立包
Windows Win64,Windows 10+
Linux x86_64 / ARM64,最低 GLIBC 2.17(面向公开客户建议 2.31+)
前端 标准 HTML/CSS/JavaScript、Vue、React 等
国产 GPU 已完成砺算、摩尔线程 GPU 环境适配;以发布版型号/驱动矩阵为准
渲染后端 D3D11 / D3D12(Windows)、Vulkan(Linux)
C++ 标准 C++17
最大帧率 120 FPS

以具体 Release 的兼容性表为准。没有列入该 Release 的组合不应默认视为已验证。


2. Linux 发行版兼容性

最低要求:GLIBC 2.17。低于此版本将无法启动,报 GLIBC_X.XX not found 错误。

发行版 GLIBC 兼容状态 备注
Ubuntu 22.04 / 24.04 2.35+ ✅ 支持
Ubuntu 20.04 2.31 ✅ 支持
Debian 11 (Bullseye) 2.31 ✅ 支持
Debian 12 (Bookworm) 2.36 ✅ 支持
CentOS Stream 9 / RHEL 9 2.34 ✅ 支持
CentOS 8 / RHEL 8 2.28 ✅ 支持 已 EOL,建议升级
麒麟 V10 SP1 (入门版/基础版) 2.28 ✅ 支持 x86_64 版本,需确认 GLIBC ≥ 2.28
麒麟 V10 SP1 (2503/增强版) 2.31 ✅ 支持 x86_64 版本
UOS Server 20 (A版/Debian系) 2.31 ✅ 支持 内核 5.x 版本
UOS Server 20 (E版/欧拉版) 2.28 ✅ 支持 x86_64 版本,尽量用2.31
CentOS 7 / RHEL 7 2.17 ✅ 支持 最低要求版本,已 EOL,尽量不要用

验证说明:通过 readelf -V 在 GLIBC 2.28 环境实测确认,二进制仅依赖 GLIBC 2.17(libc.so.6 最高版本符号为 GLIBC_2.17)。


3. Linux 部署要点

  • 使用与 CPU 架构匹配的插件包(x86_64 / ARM64 不通用)。
  • 核对 GLIBC 版本与系统库。
  • 核对 Vulkan、GPU 与驱动。
  • 国产环境注意单/多进程模式:部分国产 CPU + GPU 需要单进程模式才能正常加载网络视频(详见 10-Linux 中文支持linux_single_process 配置)。
  • 完整复制插件运行时文件并检查文件权限(包括对应架构的 WebNativeBrowserHelper 可执行文件)。

4. 国产化环境说明

4.1 单进程/多进程模式

Chromium 144 默认将网络栈拆分为独立的 NetworkService 子进程,通过 Mojo IPC 与主进程通信。在部分国产 CPU(飞腾、鲲鹏)+ 国产 GPU(砺算等)组合上,Mojo IPC 的 Unix domain socket / eventfd 机制可能卡死,表现为网页图片加载不全、视频脚本加载失败。

单进程模式(linux_single_process=true)让 NetworkService 在进程内运行,绕过上述 IPC 通信。插件不会自行关闭或替换该配置;修改后需完全重启程序。

4.2 Development 构建与视频解码

部分国产 Linux 系统(如银河麒麟)Dev 开发包无法播放视频或硬件解码失效,这是 UE Development 构建的已知限制:

构建配置 linux_single_process 视频/硬件解码
Shipping false(默认) ✅ 正常(多进程 + GPU 硬件解码)
Dev false ❌ 可能失效(GPU 进程被信号处理器干扰)
Dev true ⚠️ 单进程软件渲染(可播放但无硬件加速)

解决方案:

  1. 优先使用 Shipping 包 — 硬件解码完全正常,体验最佳。
  2. 必须用 Dev 包时,修改配置为单进程模式 linux_single_process=true

Shipping 包默认多进程(linux_single_process=false),所有 GPU 硬件解码功能正常,无需修改。


5. Linux 长时间运行内存说明

Linux 上 UE5 的 FMallocBinned2 默认配置下 free 后的物理页不归还 OS,RSS 只增不减——这是 UE5.x Linux 引擎的已知行为,与插件无关。

降低 70–78% 内存增长的方法:在启动脚本中添加 -vmapoolevict -vmapoolscale=1.0 参数:

#!/bin/sh
UE_TRUE_SCRIPT_NAME=$(echo "$0" | xargs readlink -f)
UE_PROJECT_ROOT=$(dirname "$UE_TRUE_SCRIPT_NAME")
chmod +x "$UE_PROJECT_ROOT/YourProject/Binaries/Linux/YourProject"
exec "$UE_PROJECT_ROOT/YourProject/Binaries/Linux/YourProject" YourProject \
    -vmapoolevict -vmapoolscale=1.0 "$@"
参数 作用
-vmapoolevict 启用 decommit,free 时调用madvise(MADV_DONTNEED) 归还物理页给 OS
-vmapoolscale=1.0 阻止内存池指数增长(默认 Editor 为 1.4)

6. macOS

macOS 支持计划中,当前版本不可用。


下一步

Clone this wiki locally