GoForum › 🌐 V2EX
[分享] macOS 26 (Tahoe) 时代,在 Apple Silicon 虚拟机中手动构建 AFNI ARM64 原生环境的坑与路
longzheng268 ·
2026-03-15 16:37 ·
0 次点赞 · 1 条回复
[分享] macOS 26 (Tahoe) 时代,在 Apple Silicon 虚拟机中手动构建 AFNI ARM64 原生环境的坑与路
0x00 前言
最近 macOS 26 (Tahoe) 发布后,AFNI 官方针对 Liquid Glass 带来的 XQuartz 兼容性问题做了大量修复。虽然官方提供了 @update.afni.binaries 的建议,但对于追求极致稳定,或需要在 ARM 虚拟机( Parallels/UTM )中跑 Debian 环境的同学来说,官方预编译包的缺失依然是个硬伤。
这两天折腾了一下在 Debian 12 ARM64 环境下手动从源码编译 AFNI & SUMA ,成功点亮了 3D 渲染和 NIML 联动,特此分享。
0x01 运行实测与系统环境
- 运行实测

- 宿主机: macOS 26 (Tahoe) - Apple Silicon

- 虚拟机: Debian GNU/Linux 12 (bookworm) ARM64

目前测试 DTI 追踪和基础 GUI 功能均正常,联动非常顺滑:
0x02 为什么要折腾这个?
虽然官方在 Tahoe 上努力修复了 GUI 问题,但目前调整窗口大小时偶发的黑屏 Bug 依然存在。在虚拟机里跑一个原生编译、针对 ARM 指令集优化的二进制版本,不仅能规避宿主机的系统层级显示干扰,还能利用虚拟机隔离环境进行大规模数据批处理,对科研生产力是极大的释放。
0x03 核心踩坑与心得
- GLIB 路径地狱:在 aarch64 下,
glibconfig.h的位置和传统的 x86 差异很大。编译时必须显式导出CPATH,否则SUMA_gts会报错死在第一步。 - 依赖补全:除了常规的 Motif ,
libxi-dev和libxdevice-dev是在虚拟机里搞定 X11 转发的关键,少一个都会导致二进制文件无法生成。 - R 环境陷阱:别用 AFNI 自带的脚本去跑 R 包源码编译,ARM 下直接
apt install r-cran-tidyverse等二进制包才是正解,能省去数小时的编译报错。 - 去油脂模式:针对虚拟机环境,建议在
.sumarc里强行开启SUMA_NoFancyStuff=YES。实测在 X11 转发下,这样能极大减少由于 GPU 驱动兼容性导致的图形卡死。
0x04 成果分享
我已经将针对 Debian 12 ARM64 优化的 Release 同步到了 GitHub ,包含了一键编译脚本和预编译的二进制包,希望能给同样在 Apple Silicon 上做脑成像分析的同学省点时间。
- 项目地址: longzheng268/afni-gnu-linux-arm64
- 分支:
gnu-linux-arm64
0x05 交流
向所有在 macOS 26 环境下克服 Xquartz 破碎问题的探险家致敬。如果你有更好的 ARM 架构优化参数,欢迎一起讨论。
1 条回复
添加回复
你还需要 登录
后发表回复
包可能会有问题,今天刚刚做完,没来及大规模测试,用官方源码编译成功运行了,另外用 Rosetta 版的 Ubuntu 也有问题。