非 M 系列的 ARM 芯片能否创建 ARM 架构的 macos 系统,能的话性能怎么样 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
baiyekaslana
V2EX    Linux

非 M 系列的 ARM 芯片能否创建 ARM 架构的 macos 系统,能的话性能怎么样

  •  
  •   baiyekaslana 222 天前 3547 次点击
    这是一个创建于 222 天前的主题,其中的信息可能已经有所发展或是发生改变。

    程序需要使用 matlabruntime 运行库,但是生产环境采购的 arm 架构的服务器,但是 matlabruntime 没有 arm 架构的包,只有 macos 系统提供了 arm 架构的包。 现在想的几种解决方法 1 ,arm 架构上模拟 x86 架构的虚拟机 这种方法试过了,由于服务器也不支持硬件虚拟化,这个虚拟机运行特别慢,没办法用 2 ,arm 架构上模拟 arm 架构的 macos 虚拟机 这个正打算尝试,但是浏览器搜索几乎没有方法,找到的都是 x86 上模拟 x86 的 macos 系统。问 chatgpt 和 deepseek 都说 macOS ARM 版本(如 macOS Sonoma )依赖于 Apple M 系列芯片的专有硬件特性,如 Secure Enclave 、APFS 加密、SIP (系统完整性保护)和特定的设备树结构。 这种方法好像也不行。 问下大佬是不是现在也是不行,还有 matlab 有没有 linux 的 arm 版本的包。

    19 条回复    2025-05-29 12:20:48 +08:00
    Aboceder
        1
    Aboceder  
       222 天前
    应该不行,M 系列的 mac 使用 pd 装 windos 都只能装 arm 架构的,反之亦是同理
    xclimbing
        2
    xclimbing  
       222 天前
    我觉得运行不起来,专有硬件。应该问 matlab 有没有软件解决方案。
    MacsedProtoss
        3
    MacsedProtoss  
       222 天前 via iPhone
    目前没有办法模拟 arm macOS
    macOS 的 M 系魔改 arm 魔改到妈都不认识了 qemu 目前完全搞不定
    HojiOShi
        4
    HojiOShi  
       222 天前
    翻翻 GNU Octave 的源码,迁移一下算了。话说 arm 架构的服务器应该是飞腾之类的吧。
    424778940
        5
    424778940  
       222 天前
    简单翻了一下官方文档和论坛 runtime 应该也就一堆 so/dll 动态库 没有 linux 的 aarch64 版本 但好像可以直接交叉编译 aarch64 的程序出来 也许可以直接静态连接?
    yinmin
        6
    yinmin  
       222 天前
    你试一下 matlabruntime 的 docker 镜像是否有 arm64 版本(貌似有的),如果有的话,直接部署在 Docker 容器里。
    mxT52CRuqR6o5
        7
    mxT52CRuqR6o5  
       222 天前
    box86/box64 ,不需要完全虚拟一个新系统
    mayli
        8
    mayli  
       221 天前
    生产环境弄点正常的吧,都用 matlab 了,为啥不用普通的 x86.
    flyqie
        9
    flyqie  
       221 天前 via Android
    chatgpt 说的对。

    apple 的那个 soc 改了太多了,很难去模拟,目前也没有类似方案。
    seancullen
        10
    seancullen  
       221 天前
    在 docker 里跑 macos
    seancullen
        11
    seancullen  
       221 天前
    flyqie
        12
    flyqie  
       221 天前 via Android
    @seancullen #11

    这是 x86 的,跟楼主要求不符
    ranaanna
        13
    ranaanna  
       221 天前
    @seancullen 完全没有可能在 generic aarch64 上运行 macos 的,包括 docker 镜像。给的链接,即使能成功运行也只适用于 x86-64 架构的苹果和黑苹果硬件
    ranaanna
        14
    ranaanna  
       221 天前
    matlab (包括其运行库)只支持运行于 x86-64 上的 windows, linux 和 macos (及之前的 os x),从 r2023b 开始支持运行于 apple silicon 上的 macos ,其他一概不行

    如果想在其他硬件上运行 matlab 代码,可以用 matlab coder 将代码翻译成适用于其他硬件的 C/C++源码,再编译为可在其他硬件执行的可执行文件、静态/动态链接库等,集成到项目中。所以 OP 需要的可能是这个
    legendBro
        15
    legendBro  
       220 天前
    非 M 系列的 ARM 芯片能创建 ARM 架构的 macos 系统,字节内部就有,具体怎么实现的不知道。
    还有 macOS12 以上系统自带虚拟化接口,UTM 这个开源免费软件可以在 m 系列实体机上创建虚拟机。
    YsHaNg
        16
    YsHaNg  
       220 天前
    @yinmin 只有 armv7 的 matlab-rasbian 镜像
    flyqie
        17
    flyqie  
       219 天前 via Android
    @legendBro #15

    2022 年字节的技术文章确实提到了他们在做 macos arm 虚拟化方面的工作。

    但当时的文章还是在 mac mini 硬件上进行工作,三年过去了,不知道字节已经搞成什么样了,请问方便进一步分享下使用体验吗?
    focalfossa
        18
    focalfossa  
       201 天前 via iPhone
    或许你可以试试 https://www.darlinghq.org/ 。不确定支持不支持 aarch64 就是。darling 的做法和 wine 一样,本质上是做了 macho loader ,然后翻译 Apple 的 API ,会比较干净、性能损失很小。

    而且由于 macOS 的基础系统 Darwin 是开源的,darling 直接复用了 Darwin 的代码库。据我所知命令行程序一般不会有兼容性问题( darling 可以跑 Xcode cmdline tool ),GUI 程序如果是 OpenGL 写的感觉也可以跑,但是用了 AppKit 的(这个不在 Darwin 开源代码中)的目前兼容性还有很多问题。
    focalfossa
        19
    focalfossa  
       201 天前 via iPhone
    #18 所以你需要将你的程序构建为 aarch64-apple-darwin-macosx 目标,不要依赖 Cocoa ,AppKit 等东西。然后将其放到服务器上的 darling 环境中运行。

    你可以借助 LLVM 和 https://github.com/tpoechtrager/cctools-port 直接在 *nix 系统上构建 darwin/macOS 程序,无需使用 mac 电脑
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3242 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 11:37 PVG 19:37 LAX 03:37 JFK 06:37
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86