@
CLMan 看 AI 说的可能原因:
目标机器的 Win10 太老。gpui 0.2.2 的 Windows 后端直接用了 IDXGIFactory6 ,见 gpui
directx_devices.rs (line 52)。微软文档把 IDXGIFactory6 的最低客户端写成 Windows 10 version 1803 ,而 Zed 官方支持下限更保守,是 Windows 10 version 1903 。如果对方是 1903 之前的 Win10 ,确实很可能直接启动失败。
目标机器的 GPU/驱动不满足条件。GPUI 在 Windows 上会创建 D3D11 设备,并且只接受 11.1 / 11.0 / 10.1 feature level ,还额外检查 StructuredBuffer 能力,见 gpui
directx_devices.rs (line 159)。Zed 官方文档也明确要求“DirectX 11 GPU + 当前 NVIDIA/AMD/Intel/Qualcomm 驱动,不要 Microsoft Basic Display Adapter”。所以老核显、没装厂商驱动、某些 VM/RDP 适配器,都是高概率原因。
DirectComposition 路径在某些 Win10 机型上可能有兼容性问题。GPUI 默认会创建 DirectComposition 、CreateSwapChainForComposition ,而且只有设置 GPUI_DISABLE_DIRECT_COMPOSITION=1 才会改走普通 CreateSwapChainForHwnd ,见 gpui
directx_renderer.rs (line 132) 和 gpui
directx_renderer.rs (line 1017)。这不是“Win10 不支持 DComp”,因为微软文档里 DCompositionCreateDevice 最低都到 Windows 8 了;但某些 Win10 驱动组合确实可能在这条路径上出问题,所以这是很值得试的旁路。
确认方式:
在失败机器上跑 winver ,看是不是 Windows 10 1903 及以上。1903 对应的是 2019 年 5 月更新,build 18362 。
跑 dxdiag ,看显卡驱动是不是厂商驱动,别是 Microsoft Basic Display Adapter 。
在命令行里试一次:
$env:GPUI_DISABLE_DIRECT_COMPOSITION='1'
.\rmd.exe
如果这样能开,问题就很像是 DirectComposition 路径。