解决 UnrealEditor 的 D3D11-compatible 问题
2023-10-08
1 min read
这篇文章,记录一下在远程无显卡的虚拟 windows 机器上,跑起 UE5 Editor 做材质烘焙任务过程中,遇到的一个 D3D11 不兼容问题。
在没有 gpu 的远程windows 机器上,开 UnrealEditor 会遇到这个问题:
根据错误消息,定位到源码:
- 于是,尝试 Force 强行指定一个 RHI:
即:
UnrealEditor.exe -opengl
发现所有的RHI都不行。搜索了下,启动时加 -log 参数可以看到日志。于是对比成功和失败的启动日志:
失败的日志:
成功的日志:
根据关键词搜索源码,往上看下具体逻辑:
在一些条件下,会 skip 掉当前的 adapter:
而这个 0x1414,看起来就是那个 Microsoft Basic Renderer 了,它被直接 skip 掉。
而这个貌似可以被修改:
找到了这个参数:
于是在命令行里加上它:
UnrealEditor.exe -AllowSoftwareRendering -log
顺利启动:
烘焙出来的 glb 也是正确的: