忘记的 CPU(M4 上的 Linux)

黑客们正在努力让 Linux 跑在 Apple 新的 M4 Mac 上,并挖出了一些怪异之处,例如某条 CPU 指令现在会为了省电而擦除寄存器,破坏了先前的内核假设。评论者在 Apple 高效、紧密整合的硬件吸引力,与其封闭生态之间权衡,争论是否应该购买一家被视为敌视或漠视开放系统的公司的机器。讨论中也有人对 AI 辅助逆向工程和 Gravity Linux 之类的分支感兴趣,同时更广泛地争论精力是否应转而用于改进 x86‑64 或开放的 RISC-V 平台。

Apple 的开放性与 Apple Silicon 上的 Linux

  • 争论焦点在于 Apple 是“敌视”开放系统,还是仅仅漠不关心、只专注于自己的技术栈。
  • 有人认为 Mac 未来不可能被彻底锁死在 bootloader 上,因为 Apple 把它们当作内部开发机器使用;也有人认为未来很可能会把替代操作系统挡在外面。
  • 还有人指出,Apple 几乎不为其他操作系统提供任何官方支持或文档;一切(例如 Asahi)都得靠逆向工程。

Asahi 与 Gravity Linux 的现状

  • 一种观点认为:Asahi 对新硬件实际上已经“死了”(最近约两代 Mac 都无法启动),而当前支持也缺少睡眠/休眠之类的基本功能,因此更像一个面向未来的复古计算项目。
  • 也有人提到 Gravity Linux,这是一个由 AI 辅助的 Asahi 分支,目标是 M4 及之后的机型,并引用了相关媒体报道。

Mac 硬件与其他笔记本

  • 许多人称赞 Apple Silicon 笔记本:续航极佳、发热和噪音低、每瓦性能强,触控板也非常好。
  • 有人形容 Intel 时代的 MacBook 又吵又热、性价比差;也有人担心 Apple 可能会倒退,但用户现在可选的替代品更少了。
  • 反方观点则指出:一些较新的 M 系列 Pro 在持续负载下也会变热变吵,尤其是没有像无风扇 Air 那样进行降频时。

服务器、Apple Silicon 与战略

  • 反复出现的论点是:Apple 是一家垂直整合公司,它想卖的是集成产品,而不是 CPU 或开放硬件。
  • 有人认为 Apple 可以从服务器/AI 芯片中获利;也有人反驳说:
    • 他们已经把能生产的芯片都卖光了。
    • 之前的 Xserve 计划失败了。
    • 服务器买家期望模块化、可维护、相对开放的硬件/软件,这与 Apple 的设计和商业模式相冲突。
  • 还有人提到未来 Apple 服务器芯片的传闻,但也承认这并未得到证实。

AI 辅助逆向工程

  • 有人说 M4/M6 的移植工作是由 AI 辅助完成的。
  • 这里存在张力:一方希望借助 AI 更快推进,“先把 Linux 跑起来”;另一方则强调手工 RE 本身的黑客乐趣,并反感把 AI 当作所有难题的默认答案。

触控板与协议

  • 有一种说法认为,第三方触控板在 macOS 上表现差,是因为 Apple 的手势/触控板协议是私有的,迫使这些设备只能模拟鼠标。
  • 也有人反驳:
    • macOS 的输入事件很容易伪造;协议并不是主要障碍。
    • 差异更多在于 Apple 的硬件、触觉反馈和调校,而不是封闭 API。
  • 还有人坚持认为,昂贵的 Windows 笔记本如今也有相当不错的触控板;也有人对此提出质疑,并进一步询问其 Linux 兼容性。

操作系统体验:macOS、Windows、Linux

  • 一些开发者喜欢 macOS 作为桌面操作系统,但不喜欢 Apple 笔记本上的键盘/触控板布局以及各种 UX 小毛病。
  • 对“企业版 Windows”的批评很强烈:繁重的管理、安全工具、云集成,以及 Acrobat/Defender 带来的额外负担,使系统变慢且令人沮丧。
  • 也有人回应说,很多问题是企业策略/配置导致的,而非 Windows 本身固有问题。另有人指出,企业级间谍软件也会让 macOS 同样变差。
  • 一个反复出现的观点是:个人 Mac 很讨喜;任何操作系统的企业机器通常都很糟糕。

自由软件、硬件选择与生态系统

  • 有人认为购买高度一体化的 Apple 硬件,会损害自由软件的长期健康;自由软件历史上是在文档完备、通用的 PC 生态中发展起来的。
  • 他们敦促开发者/重度用户优先选择更开放的 x86-64 或 RISC-V 平台,即使这意味着一定的性能或成本代价。
  • 反方观点指出:Microsoft 也有悠久的锁定历史(OEM 协议、专有驱动、ACPI 诡异行为、Secure Boot),所以它并不是 Apple 的“开放”对照物。
  • 还有人强调,Linux-on-Mac 的需求很小众;迎合它并不会实质性扩大 Apple 的市场,反而会带来支持负担。

讨论到的技术根因

  • 文中一个关键细节被再次提及:
    • 较早期的 Apple Silicon 允许配置 ARM WFI(wait-for-interrupt)指令,以保留或清除寄存器。
    • Linux 假定寄存器会在 WFI 之间被保留。
    • 在 M4 上,这种可配置性被移除,WFI 为了节省电力会始终清除寄存器,打破了这一假设并导致微妙的 bug。