Linux新工具给老主板Arc显卡开ReBAR
英特尔 Arc 显卡对 Resizable BAR 的依赖出了名的重,Intel 甚至曾直接建议老主板的 Alchemist 用户别买。问题在于,ReBAR 开关藏在 BIOS 里,不少老主板根本没有这个选项,Arc 插上去性能腰斩甚至无法正常使用。

现在有了绕开的办法。开发者推出了开源工具 arc-rebar:它随 initramfs 在每次开机时运行,赶在 GPU 驱动加载之前,直接改写 Arc 卡上 PCIe 交换芯片的 ReBAR 寄存器,再移除并重新扫描根端口,全程不碰 BIOS、不碰内核、也不依赖 Intel 官方驱动。相比此前的变通方案,这是第一条真正可开机的路径。
它修的根因很具体:Arc 卡内置 PCIe 交换芯片的上游 BAR 窗口太小,Linux 无法据此扩大 GPU 的内存映射窗口,ReBAR 也就开不起来。Intel 工程师已经提交了内核层面的修复方案,但尚未合入主线,arc-rebar 算是这个空窗期的民间补丁。
实测数据相当可观:在一台配双至强 E5-2670 v2、BIOS 停留在 2015 年的 Supermicro X9DRH-7TF 服务器上,一张 B580 的 CPU 可见显存从 256MiB 一举扩大到覆盖全部 12GB 的 16GiB 窗口,实测显存带宽从每秒 15GB 冲到 392GB,原本会彻底卡住的 4K Vulkan 模糊测试能跑到 39 到 50 帧。
限制也存在:系统需要开启 Above 4G Decoding,显卡必须独占一个根端口;目前只在 Battlemage 架构上验证过,开发者预计 Alchemist 行为一致。工具面向 Debian 和 Ubuntu 打包,Windows 用户暂时无缘。对一堆服役多年的老服务器和工作站来说,Arc 显卡总算多了一个能开机的选项。
编译自 TechPowerUp,原标题:"New Linux Tool Brings Resizable BAR to Intel Arc GPUs on Old Motherboards"