关于 Apple M1 的群众意见每日汇总 [码农方向][2020.11.19]

通过 CrossOver 运行 Windows 应用

We’re making it official:
@codeweavers CrossOver/Wine runs 32- and 64-bit Windows apps/games on Apple Silicon Macs!
And it works today!

Big thanks to the Rosetta folks at Apple and everyone at CodeWeavers for their hard work on this.


Golang 在 Apple M1 下的使用笔记,来自 Filippo Valsorda (Go Team Security Lead)

M1 first impressions 24h in:

  • this thing is honestly fast Rosetta 2 is kind of amazing
  • many CLI tools only run under R2 for now, and that\’s fine
  • native makes a difference for heavy apps
  • code signing is a bit annoying but makes sense, and hopefully tooling will catch up
  • https://twitter.com/FiloSottile/status/1329128976929988615

《 Developing on Apple Silicon 》 https://docs.google.com/document/d/1iWUstb66v66tTVxQWNMZ1BehgNzEmykzqDCUp5l8ip8/edit

For developing in Go on Apple Silicon, there\’s two main issues to be aware of:

  • arm64 binaries are not codesigned automatically ( https://github.com/golang/go/issues/42684)
  • amd64 binaries need GODEBUG=asyncpreemptoff=1 ( https://github.com/golang/go/issues/42700)

IDA 在 M1 Mac 上运行良好,来自 Checkra1n 团队成员 @qwertyoruiopz

M1 is actually pretty good, can’t believe the base air can handle ida like this

so far so good. there’s some issues overall (eg brew currently doesn’t work well on it), but these will be sorted out and Rosetta 2 is just magic.

i just copied over my install from mac pro, so this is under rosetta 2. i’ll check later if there’s anything from hexrays in that regard

  • Are 8gb enough even for ida?
  • seems to handle it fine, but i am using it just to look into small machos

Accelerating TensorFlow Performance on Mac


Google releases Apple Silicon-optimized version of Chrome for Mac

[Update: Now available] Google releases Apple Silicon-optimized version of Chrome for Mac

If you want to use Chrome on new Macs with Apple M1 chips, head to https://google.com/chrome/ and download the Apple Silicon version we released in M87 today!

Does it ARM? A list of reported app support for Apple Silicon



M1 Mac 合盖后依然保持运行,来自 Yachen Liu

写了非常简单的一小段代码验证了一下早上的观点,确认即使在电池供电且合盖的状态下,M1 设备 CPU 依然会定期的保持活跃,和 iDevice 一样,而且这个活跃不是系统特权。

第二张图是旧的 MBA,合盖后几分钟内依然活跃,然后就彻底休眠了。
(代码中 counter 忘 ++ 了,忽略…)

关于 Rosetta 2,来自 Hector Martin

Also, remember that Apple cheated with their control over the CPU for Rosetta 2. Getting R2 x86 performance on any other ARM is impossible, due to the memory model mismatch. You have to massively slow down all loads and stores.

So Apple straight up implemented the x86 consistency model on their cores. That\’s the kind of high-impact detail that makes or breaks emulation performance for a different arch. Did they do this for any other x86-isms? Nobody knows so far.

Also, everyone please stop eating up Apple\’s marketing bullshit and calling Rosetta 2 an \”Ahead-of-Time Translator, Not An Emulator\” as if it is some Fundamental Difference that Makes It Fast.

It\’s a JIT emulator, with a cache, with opportunistic partial ahead of time warming.

Rosetta 2 runs everything under the correct memory model

“Excited” to hear about all the data races now that people will actually execute all their code under ARMs memory model

woah wait huh i never considered whether rosetta 2 does the necessary synchronization of x86


33 thoughts on “关于 Apple M1 的群众意见每日汇总 [码农方向][2020.11.19]

  1. ## ARM x86 关于 Memory model 的区别,来自 Bruce Dawson (Google Chrome Team)

    mov register-> a
    mov register-> b

    On x86/x64 the store to “b” is guaranteed to not be visible to other processors before the store to “a”. On ARM that is not guaranteed.

    Many benign x86/x64 data races will becomes real bugs on ARM, and it appears many programmers don’t know this

    The emulator _must_ emulate the x86/x64 memory model. It is as important as properly emulating the CPU status flags and arithmetic instructions. So, yes. If Rosetta didn’t emulate the memory model it would not be an x86/x64 emulator.

  2. Android Studio 或者其他安卓模拟器有没有消息?
    安卓模拟在 M1 芯片的 MacBook 上效率也应该会提高很多,只不过需要原生支持,不知道 Parallels Desktop 会不会是第一个搞出来的

  3. 大家现在都在看兼容性和性能

    我猜测,后续应该会出,5G 模块的版本 mac,类似 ipad


  4. 目前是不是还不能支持 vmware 或者 pd 虚拟机装 win10 ?有 win 需求(网银 key )的话,需要等等么?

  5. @dadupi 估计没戏 就算是虚拟机 估计不是 x86 虚拟机
    而且就算是 x86 虚拟机 硬件驱动估计是个问题

  6. @InternetExplorer #12
    @Gandum #7
    CPU monkey 上显示 m1 不支持硬件辅助虚拟化。从原理上讲,性能跟 x86 芯片没啥差别,都是二进制翻译

  7. 我主要做 Data Science,现在的痛点是 Arm 平台缺少开源的 Fortran 90 编译器,而且 LLVM 里的 flang 也没有开发完成。现在做的项目里有 20%是用 Fortran 写的,所以在原生支持 Fortran 前应该只能观望了。

  8. @Gandum
    android 模拟器目前有点难搞吧,sdk 那个模拟器是用 intel haxm 加速的。。arm 镜像又卡的无法自理

  9. @tsanie 我是希望有使用硬件虚拟化的 Android 虚拟机,这样远比 x86 上面模拟运行 Android 来的快,既然 WWDC 已经演示了 Linux 虚拟机,那么同根同源的 Android 应该也不是问题,等一波 Parallels Desktop

  10. 大家赶紧买,生态就靠你们来完善了。
    我 9 代 i7 + 32G 的 Windows 笔记本还够用两年,等坑填完了我再买。


电子邮件地址不会被公开。 必填项已用*标注