V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
rogwan
V2EX  ›  macOS

苹果🍎发话了, Arm 新 U 不支持 x86 虚拟机。

  •  2
     
  •   rogwan · 2020-06-24 13:51:27 +08:00 via iPhone · 12343 次点击
    这是一个创建于 1374 天前的主题,其中的信息可能已经有所发展或是发生改变。
    也就是说 Parallels 和 VMWare 用不了,除非这些虚拟机推出 Arm 版,这对 Developers 不是个好消息
    65 条回复    2020-06-25 21:04:32 +08:00
    scukmh
        1
    scukmh  
       2020-06-24 13:54:09 +08:00
    链接,证据呢?
    lonelymarried
        2
    lonelymarried  
       2020-06-24 13:56:26 +08:00
    那 vmware 开发一个 arm 版的就是了
    xieshaohu
        3
    xieshaohu  
       2020-06-24 13:57:53 +08:00
    开发者大会的视频都说了支持虚拟化,支持 Linux
    yyfearth
        4
    yyfearth  
       2020-06-24 13:58:09 +08:00
    看看能不能虚拟一个 ARM 版的 Windows10
    Osk
        5
    Osk  
       2020-06-24 13:59:01 +08:00 via Android   ❤️ 4
    很正常啊,不然 arm 上转换层跑 x86 软件再跑一个 x86 虚拟机,不说 vt-x 这些指令能否支持,就算支持性能也太美
    yyfearth
        6
    yyfearth  
       2020-06-24 13:59:03 +08:00
    Parallels 还是有的 估计用 macOS 自带的 hypervisor.framework
    估计只能虚拟 ARM 的系统
    loading
        7
    loading  
       2020-06-24 13:59:26 +08:00 via Android
    那 pd arm 前几版性能估计会下降很厉害,苹果不会是想把第三方虚拟机 app 也赶尽杀绝吧,233
    gggxxxx
        8
    gggxxxx  
       2020-06-24 14:00:19 +08:00 via iPhone   ❤️ 1
    文档里说了,虚拟 arm linux 没有问题。虚拟 x86 linux 或者 Windows 不行,Rosetta 不支持这种层面的翻译
    hronro
        9
    hronro  
       2020-06-24 14:00:54 +08:00
    所以苹果当时演示的用 Parallels 跑 Linux 是造假的?
    Procumbens
        10
    Procumbens  
       2020-06-24 14:02:19 +08:00
    Rosetta is meant to provide developers with time to create native versions of apps, and there are a few limitations that are worth noting. As outlined in developer documentation shared this week, while Rosetta will be able to translate most Intel-based apps, it will not work with Virtual Machine apps that virtualize x86_64 computer platforms.

    That means Apple's future Macs with Apple-designed chips will not natively support running current versions of software like VMWare or Parallels to run x86 Windows within the virtualization software. Other native solutions may appear, but will require efforts from 3rd party developers.

    https://www.macrumors.com/2020/06/23/rosetta-wont-support-x86-virtualization-windows/
    moooookey
        11
    moooookey  
       2020-06-24 14:11:54 +08:00   ❤️ 5
    @hronro Linux 可以在 arm 上跑啊,所以发布会只说了支持 Linux,要是能支持 Windows,肯定会强调支持 Windows,市值 1.5 万亿公司的语言艺术啊……
    junkun
        12
    junkun  
       2020-06-24 14:18:06 +08:00
    我还看到有消息说 Rosetta 也不支持翻译 AVX 等指令集
    stoneabc
        13
    stoneabc  
       2020-06-24 14:21:09 +08:00
    @junkun 还以为苹果能和 intel 有什么 PY 交易呢。。。
    eatlatency
        14
    eatlatency  
       2020-06-24 14:22:41 +08:00
    应该是指不支持 Intel 的 VX-T 这一类虚拟化指令集扩展吧。这也很合理,否则适配难度就更大了。
    实际上 arm 也是有虚拟化指令集扩展的,只要苹果说服相关公司使用 arm 的虚拟化指令扩展为 arm 平台开发虚拟机软件,就能运行 arm 架构的 linux 虚拟机。
    我猜测 rosetta 是类似 QEMU 的指令集翻译,需要支持的 x86 指令越多,翻译起来难度就会越大。要支持完整的 VX-T 收益相较于成本还是太低了。
    dayFvckingByte
        15
    dayFvckingByte  
       2020-06-24 14:37:38 +08:00 via iPhone
    搞笑了,iPhone 都支持 x86 虚拟化,mac 不支持??
    cosmic
        16
    cosmic  
       2020-06-24 14:38:23 +08:00 via Android
    @dayFvckingByte 是不支持 X86_64 。X86 是 32 位支持的
    feather12315
        17
    feather12315  
       2020-06-24 14:47:30 +08:00 via Android   ❤️ 1
    @eatlatency #14
    @dayFvckingByte #15
    通常说的硬件级别虚拟化都是指硬件辅助虚拟化。如果说二进制翻译那种虚拟化,当然支持啊,还可以在 x86 上运行 arm 、MIPS 、RISC-V 之类的呢。
    不过效率是相当低的,你可以用 qemu 试试不加参数-kvm 的效率
    hronro
        18
    hronro  
       2020-06-24 14:55:55 +08:00   ❤️ 1
    @moooookey #11 如果是真的,那发布会上说的因为能虚拟化跑 Linux 所以对开发者友好,真是苹果在瞎 JB 乱吹了。真跑 ARM 版 Linux,一大堆底层库不支持吧
    IgniteWhite
        19
    IgniteWhite  
       2020-06-24 16:35:51 +08:00 via iPhone   ❤️ 1
    @xieshaohu wwdc 视频里支持的是 arm 版 debian,可以点我头像看我最近关于 wwdc2020 的帖子~
    Xusually
        20
    Xusually  
       2020-06-24 16:38:41 +08:00   ❤️ 2
    貌似只是说 Rosetta 2 的自动翻译不支持 X86 虚拟机应用吧?

    原生 ARM 的虚拟机应用,比如 vmware 把虚拟机产品从 x86 迁移到 arm 原生,并没说这种不能用啊?
    alphatoad
        21
    alphatoad  
       2020-06-24 16:39:12 +08:00 via iPhone   ❤️ 1
    Windows 有 arm 版,怕卵
    真需要 legacy 就催催微软把 64 位的指令集翻译赶紧做了
    eatlatency
        22
    eatlatency  
       2020-06-24 16:39:46 +08:00   ❤️ 1
    ARM 版 Linux 现在推进的比较积极的是华为主导的 OpenEuler 社区。没想到这两个老对手还能在这个战场上再碰面。
    华为今年在国内搞鼓励学生参与开源项目开发的暑期活动,从放出来的项目列表就能看出来,要在 ARM 上建设 Linux 生态要做的工作太多了。
    IgniteWhite
        23
    IgniteWhite  
       2020-06-24 16:42:34 +08:00 via iPhone
    @hronro
    @moooookey
    @dayFvckingByte
    我在树莓派 4 上装了 manjaro arm,遇到好几个包都说不支持 arm,真实地感受到了不方便。

    关于 wwdc 发布会,见 19 楼,或者移步: /t/683952
    emeab
        24
    emeab  
       2020-06-24 16:46:43 +08:00
    苹果还说支持 ARM 只需要花费开发者几天时间 / 苹果还说有 AirPower
    qiangmin
        25
    qiangmin  
       2020-06-24 16:49:34 +08:00
    x86 和 arm 指令集的区别太大了。
    echo1937
        26
    echo1937  
       2020-06-24 17:04:38 +08:00
    @eatlatency #22 红帽从 RHEL7 开始就有 ARM 发行版,只是自己不卖服务器,不太为人所知。

    https://www.redhat.com/cms/managed-files/Red%20Hat%20Enterprise%20Linux%20Server%20for%20ARM%20datasheet-web_0.pdf
    ztxcccc
        27
    ztxcccc  
       2020-06-24 17:08:01 +08:00   ❤️ 3
    这帖子说的是不支持 x86 虚拟机,上面一群人说大会上跑了 Linux,这是一个层面的东西吗?说苹果不好急了?
    jisongkun
        28
    jisongkun  
       2020-06-24 17:12:33 +08:00
    谁知道 esxi 的 arm 版本支持 x86 的 Windows 吗?
    borisxu9824
        29
    borisxu9824  
       2020-06-24 17:25:49 +08:00 via iPhone   ❤️ 2
    Rosetta can translate most Intel-based apps, including apps that contain just-in-time (JIT) compilers. However, Rosetta doesn’t translate the following executables:
    Kernel extensions
    Virtual Machine apps that virtualize x86_64 computer platforms
    JonyYou
        31
    JonyYou  
       2020-06-24 17:29:17 +08:00
    我的妈呀,macrumor 不都说了是 Rosetta2 不支持 Parallels 之类的软件,能不能别断章取义,建议楼主附言,这个标题起的歧义太大了
    dingwen07
        32
    dingwen07  
       2020-06-24 17:48:07 +08:00 via iPhone   ❤️ 1
    ARM 和 X86 指令集不一样 不能虚拟化 但是可以仿真
    所有操作系统都一样
    keyv
        33
    keyv  
       2020-06-24 18:40:05 +08:00 via iPhone
    VMware 官方已经在推特上说会进行适配了,几周之后会发 tech preview 。
    hstdt
        34
    hstdt  
       2020-06-24 19:27:25 +08:00 via iPhone
    所以以后 bootcamp 是安卓系统?还是能再装个 iOS😂
    vk42
        35
    vk42  
       2020-06-24 20:19:30 +08:00
    发现大多数人不能分清 Virtualization 和 Emulation 的区别……
    felixcode
        36
    felixcode  
       2020-06-24 20:30:26 +08:00 via Android   ❤️ 1
    @vk42 是接受不了 ARM 运行不了 x86 虚拟机的事实。
    jsq2627
        37
    jsq2627  
       2020-06-24 20:32:57 +08:00 via iPhone
    windows on arm 搞了这么多年搞不起来。目测想不到还要苹果扶一把
    ffflouder
        38
    ffflouder  
       2020-06-24 20:38:41 +08:00
    不用罗森塔的原生虚拟机应该至少可以在 win10 on arm 上努把力吧。
    theolin
        39
    theolin  
       2020-06-24 20:53:23 +08:00   ❤️ 1
    Parallels 肯定会更新的啊。WWDC 演示机上不是都有么?
    murmur
        40
    murmur  
       2020-06-24 20:56:17 +08:00   ❤️ 1
    @jsq2627 那是因为 windows 生态太牛逼了,随便拼一下最后就是个笔记本,mac 用户就一直惦记着 ios 上的 app,殊不知 windows 用安卓模拟器玩都是常事,而且大家会互相优化,比如为模拟器提供专门的键盘映射,原来 call 支付宝微信的付钱方式会自动变为扫码支付,一个手机 app 的支付需要扫码,这只有专门为模拟器优化才做的到
    murmur
        41
    murmur  
       2020-06-24 20:58:08 +08:00   ❤️ 1
    @jsq2627 不对,吹错方向了,轻薄本续航越来越给力,amd 提供性能,win on arm 有什么吸引力么,我知道 arm 在 apple 手里能优化到天上去,是不是可以说,明年开始所有搭载 intel 处理器的 macbook 都是 xx,就算二手也不值得购买
    mxT52CRuqR6o5
        42
    mxT52CRuqR6o5  
       2020-06-24 21:17:04 +08:00 via Android   ❤️ 2
    @Xusually 虚拟机是依赖 cpu 的虚拟化指令的,x86 虚拟机非要在 arm cpu 上运行就不叫虚拟机了,应该叫模拟器,效率低得很
    duanyu47
        43
    duanyu47  
       2020-06-24 21:50:28 +08:00
    在 macOS 上虚拟化一个 windows on arm 有啥用,虚拟化运行 windows 是为了运行 Windows only 的 app,大部分 windows only app 和 windows on arm 都不兼容。。。
    duanyu47
        44
    duanyu47  
       2020-06-24 21:52:47 +08:00
    虚拟化运行 linux on arm 也很扯淡,现在有几家服务器是用 arm 的,又不能为了笔记本把服务器架构给换了
    iConnect
        45
    iConnect  
       2020-06-24 22:08:46 +08:00 via Android
    @duanyu47 精辟。

    就算 vmware 发行了 on Arm 版,用户也还是要在 vmware 里面装 x86 版的 Linux 。这 Arm 指令再转 x86,性能堪忧。
    royzxq
        46
    royzxq  
       2020-06-24 22:13:02 +08:00   ❤️ 1
    果子是不是对自己的基本盘有些误解..
    duanyu47
        47
    duanyu47  
       2020-06-24 22:19:36 +08:00
    @iConnect 以前 powerpc 时代就有这样的 x86 模拟器叫 virtual pc,在 power mac g5 上运行都速度奇慢。。。
    jin7
        48
    jin7  
       2020-06-24 22:44:40 +08:00
    不如用 windows+wsl2
    qoras
        49
    qoras  
       2020-06-24 23:07:19 +08:00   ❤️ 1
    macOS 生态本来就和 win 区别大, 不像手机那样需要差异化竞争, 一体化听着厉害, 实际好处有限
    感觉这次的变化对程序员最不友好, 没了 x86, 跑相应的程序和玩游戏都不行了吧
    虽然说是下了决心, 但最近几年水果软件 bug 都够多了...
    sanxidiot
        50
    sanxidiot  
       2020-06-24 23:15:04 +08:00 via Android
    @royzxq 是程序员对 mac 有误解吧,mac 用户又不全是程序员非得要 x86 架构
    tianshilei1992
        51
    tianshilei1992  
       2020-06-24 23:20:31 +08:00   ❤️ 1
    @sanxidiot 我赞同。我猜测 Apple 应该是有一定的调研,发现大部分用户应该是不在乎底层架构的,因此只要保证着大部分用户的应用程序能够正常高效的跑就可以了。特别是当 Adobe 移植了一些完整的应用程序到 iPadOS 上面去在 A12X 上面跑的很好,这更加增加了 Apple 的信心。并且哪怕是说有些程序员是做 X86 开发的(比如我),但是很多又不会在 Mac 上面编译的,只是拿 Mac 当作一个“前端”做远程开发而已,那么 Mac 本身的架构 /指令集又有什么影响呢…
    charlie21
        52
    charlie21  
       2020-06-24 23:20:38 +08:00
    苹果公司没有研发笔记本电脑 CPU 的经验
    charlie21
        53
    charlie21  
       2020-06-24 23:25:23 +08:00
    Steam 游戏一堆有几个能在 ARM 架构的电脑上玩?
    Xusually
        54
    Xusually  
       2020-06-24 23:37:39 +08:00
    @mxT52CRuqR6o5 当前讨论的点,不是性能问题吧?在 cpu 还不支持各种 vt 指令的年代,vmware 等一票虚拟大厂不也都在做虚拟机 or 模拟器?
    说的是目前对于新闻的误读,目前看只是罗塞塔的直接翻译不支持虚拟机类应用,并不是以后不再有 虚拟机 or 模拟器用,只要厂商迁移就行。

    最后,日常大家接触 x86 的 vt-x 、vt-d 比较多,其实 ARM 也有自己的虚拟化,搜搜看 ARM + Hypervisor + virtual CPU interface
    ak47iej
        55
    ak47iej  
       2020-06-24 23:44:08 +08:00
    @charlie21 #53 苹果:你可以玩 iOS app store 的游戏
    systemcall
        56
    systemcall  
       2020-06-25 01:08:52 +08:00 via Android
    Windows 有 ARM64 版,Linux 也有,安卓也有
    不知道会不会成为模拟器神器,因为不需要二进制翻译
    二进制翻译是很占资源的,不知道大家有没有玩过 rpcs3 上的 ps3 游戏,我用 3600 才能撑住,这还是实现的比较好的,切换场景还会卡一下
    systemcall
        57
    systemcall  
       2020-06-25 01:15:04 +08:00 via Android
    操作系统本身不应该丢 QEMU 之类的异构虚拟软件上跑,效率太低
    比较理想的方式是操作系统跑和 CPU 架构一致的原生代码,大部分的库也是。我记得 wine 有这方面的实现,不清楚现在的情况,因为 MIUI 不支持 wine
    ARM 上面拿 QEMU 之类的东西跑 AMD64 的东西是非常慢的,性能损失很大。这几年的异构虚拟化,印象深刻的是牙膏厂以前给寨板之类的东西做的 houdini,没记错的话系统本身是 X86 的,里面的 ARM 架构用的二进制文件就用 houdini 翻译成 X86,因为安卓系统本身的原因加上 CPU 有优化所以性能损失不算很大。不过牙膏厂那么多年前就有那个性能了。。。
    tianshilei1992
        58
    tianshilei1992  
       2020-06-25 05:20:38 +08:00
    @systemcall 竟然有人知道 Houdini 🐶
    wclebb
        59
    wclebb  
       2020-06-25 11:18:15 +08:00 via iPhone
    我作为用户(非开发)来说,是否意味着:
    1 、我无法运行哪怕 Windows To Go 在 ARM 上运行所有游戏类。也可能意味着 ARM 不会有类似现在的启动转换助理 App,除非提供 Windows on ARM 版启动转换 App 。也可能基于 T2 芯片安全考虑,不会再有双系统。(虚拟机解决)

    2 、是否意味着所有 虚拟机 无法运行 X86_64 ( AMD64 )的 Linux 类操作系统和 Windows ?

    3 、升 11 大版本的 Big Sur 是否意味着,之前所有已经买过的所有软件,可能止步于 10 版本,想要升级 11 版本得付费升级?(不然开发者没有动力升级)

    怎么看好处都没多少啊……除了 Apple 强行推广 ARM 和增加 ARM 开源。
    blockmin
        60
    blockmin  
       2020-06-25 11:27:05 +08:00
    华为欧拉系统,arm 性能大概是 x86 的 60%左右,自己部门的机器加上游部门的我接手用过的有二十多台了
    ladychili
        61
    ladychili  
       2020-06-25 12:36:25 +08:00
    @charlie21 #53 Steam 游戏一堆 本来也没几个能在 Mac 上跑的
    wsseo
        62
    wsseo  
       2020-06-25 15:12:26 +08:00
    有什么关系吗?苹果本来就是要强化自己的生态。
    agagega
        63
    agagega  
       2020-06-25 16:48:52 +08:00
    我还是不理解对开发者而言大问题在哪。先不看其他用户,单纯看常见的论坛上使用 Mac 的程序员类型:

    1. 苹果生态下的开发者。不多说,这个受到的影响应该是最小的。
    2. Android 开发。我不懂行情,但安卓本来就和 x86 没关系,影响应该不多?
    3. Web 前端程序员。浏览器对 ARM 支持情况应该挺不错的,可能 node 工具链会遇到一些新坑,然后常用 IDE/编辑器需要解决适配问题。总体看来没有大问题?
    4. 后台开发。常见的语言解释器 /编译器 /虚拟机对 ARM 应该是有支持的(可能遇到坑),苹果承诺会去支持这些开源项目,但不知能到什么程度。更大的问题应该是依赖的若干 native 库,用标准 C/C++写的还好,如果里面用到一些 intrinsics 或者内联汇编,移植就比较麻烦了。还有一个问题是大部分服务器都是 x86 的,对用 Mac 的程序员来说,开发环境和运行环境硬件架构从此不同了。这会有多大的影响还不清楚。
    5. 游戏开发者。这个貌似跟引擎厂商关系更大些?不了解行情。本来 Mac 平台的游戏就不咋地。

    我很高兴苹果能够踏出这一步,最好花力气在 ARM 桌面生态里搞出点东西。这样对 Windows 、对某些国产厂商,应该都是有好处的。
    gggxxxx
        64
    gggxxxx  
       2020-06-25 18:09:36 +08:00 via iPhone
    对开发者影响还是不小的,主要是虚拟机用户。
    以前虚拟机跑个 Windows 或者 linux 是最终部署软件的环境理论上是没差别的。现在 win 虚拟直接废了,arm linux 相当于 linux 模拟器而已,不是真机。

    对 apple 来说,确实意义重大。芯片领域发展了那么多多年,传统大厂思维都僵化了,没啥突破。现在苹果亲自下场,多个芯片全整合在一个 soc 里,能加的都全部给加上。思路确实很新。当时 2016 年苹果搞双 CPU 就算是一次突破了,这次一步到位,gpu 都给接管做了。期待苹果未来几年给大家带点惊喜
    0987363
        65
    0987363  
       2020-06-25 21:04:32 +08:00 via Android
    @agagega 码农其实影响不大,但是别的怕是难,我看美工同事用的 ps 跟 skitch,基本就是 1 核战斗,多核围观,卡顿卡顿的。。配上 arm 的性能,不要太美
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2767 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 12:48 · PVG 20:48 · LAX 05:48 · JFK 08:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.