[分享] macOS 26 (Tahoe) 时代,在 Apple Silicon 虚拟机中手动构建 AFNI ARM64 原生环境的坑与路
longzheng268
·
2026-03-15
·
via V2EX
[分享] 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 架构优化参数,欢迎一起讨论。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。