自从 Asahi Linux 项目开始针对 Apple Silicon 进行一系列核心移植与优化以来,社区与开发者的步伐一直很快。随着 Linux 6.16 正式发布,Asahi 团队在上游合并、驱动重构、性能提升和跨架构兼容性方面取得了显著进展,这些变化不仅对开发者有深远影响,也直接改善了用户在 Apple Silicon 上的日常体验,尤其是游戏与图形应用的表现。 上游化是 Asahi 的长期目标之一。早期工作中,项目不得不维护大量下游补丁以支持 Apple Silicon 的独特硬件设计。如今,随着越来越多关键功能被成功 upstream 到内核与用户空间项目,维护成本显著降低,社区贡献也更加集中。一个显著的里程碑是 Asahi 与 Honeykrisp 的 Mesa 驱动逐步进入上游,这不仅简化了发行版打包流程,也让 Flatpak 与其他容器化运行时能更自然地利用 GPU 加速。
Flatpak 生态迎来清爽变化。过去,为了在 Flatpak 应用中启用 GPU 加速,Asahi 曾提供针对 Flatpak 运行时定制构建的 Mesa 扩展。随着 Flapak 24.08 及之后版本内置了更新的 Mesa(例如 25.1 及更高版本),这类额外扩展的必要性逐渐消失。项目计划在 25.08 运行时稳定后停止维护该扩展,意味着未来用户将能直接享受上游驱动带来的兼容性与更新便捷性,而无需依赖专门的运行时补丁。 图形栈的彻底上游化对虚拟化和游戏有直接影响。Asahi 使用 DRM Native Context 技术对 GPU 进行轻量级的"二级虚拟化",这种方案无需在高层 API(如 Vulkan 或 DirectX)上进行复杂仿真,而是让虚拟机运行的用户空间驱动向宿主内核提交原生 GPU 命令。
此前这依赖 virglrenderer 与 Mesa 的下游补丁。如今,DRM Native Context 的实现已被合并进 virglrenderer,进而会随 Mesa 25.2 推送到上游,标志着 Asahi 的图形虚拟化路径实现了更高程度的标准化与可维护性。 在驱动性能方面的工作同样密集。随着 Mesa 驱动进入上游,性能优化的合并速度加快。开发者对驱动做了多轮针对性的改进,尤其是在配合 FEX 的即时编译器(JIT)优化时,整体游戏帧率与响应表现有了明显提升。这类优化多为跨项目协同成果:图形驱动改进配合用户空间模拟器的 JIT 提升,能够把在 ARM 上运行 x86 游戏的体验推到一个新的高度。
此外,Mesa 25.2 对 Vulkan 扩展 VK_EXT_map_memory_placed 的支持,是一个关键功能补丁。此扩展允许应用请求将 GPU 内存映射到特定地址空间,对于在 Wine/Proton 中 thunk 32 位 DXVK 的场景至关重要:它能确保分配到 GPU 的内存处于 32 位地址空间内,从而使不少 32 位 Windows 游戏能够获取稳定的 GPU 加速能力。结合 AArch64 上的 WINE 与 FEX 的 WoW64 支持,这意味着许多 32 位 Windows 游戏可以在不进入完整虚拟机(muvm)的情况下直接运行并利用本机驱动。 要理解这些改变的深远意义,需要把视角放到整个兼容栈:传统上,FEX 的做法是把 x86 二进制"整个世界"翻译成目标架构的等价运行环境,也就是说当一个 x86 程序加载时,会连带把它依赖的库和运行时环境一起翻译并运行在一个特制的文件系统镜像上。虽然这种方式能确保 ABI 的一致性,但代价是镜像变大、启动和运行时翻译开销高,且在文件系统、网络与图形上需要复杂的代理与转发层。 与之相对,Windows 在架构上有一套成熟的向后兼容机制:WoW64 将 32 位系统调用转换为 64 位,Windows 还提供二进制转换器接口并在虚拟内存层面使用 64K 的页面单位。
这些设计为在 AArch64 上以更轻量的方式运行 x86 Windows 应用提供了可能。借助 VK_EXT_map_memory_placed,FEX 的 WoW64 实现以及 AArch64 的 WINE,社区实现了无需 muvm 的多项改进:不再必须对 GPU、网络、文件系统进行仿真性代理,WINE 可以直接对接 Wayland 而不是通过 XWayland,FEX 也只需专注于翻译 x86 应用代码,而让 WINE 调用本机的 64 位系统库与接口。 但现实环境中仍有限制。虽然 Windows 的常规虚拟内存页面是 64K,但某些应用尤其是老款或高性能的游戏,可能做了对 4K 页面大小的隐式假设,或直接使用了对物理页面大小敏感的低级内存操作,这类应用在不进入 muvm 的情况下很难保证兼容。对于这些顽固的案例,muvm 仍然是一个有效且必要的备选方案,能提供更完整的 x86 环境仿真与驱动隔离。 如果你想早期体验这些改进,一些发行版已经在打包策略上做了便捷支持。
比如 Gentoo 可以通过启用 wow64 的 USE 标记,自动在 AArch64 系统上安装 FEX 的 WoW64 插件,从而让 WINE 能够运行更多 32 位 Windows 程序。其他发行版则需要用户手动组合本地 WINE 包与 FEX 的二进制构建,步骤包括启用 WINE 的 WoW64 编译选项、从 FEX 的发布仓下载对应构建并替换 WINE 的 libwow64fex.dll 等。随着 Fedora 等主流发行版逐步完善对 WoW64 的构建支持,更多用户将无需手动配置便能直接受益。 硬件与内核层面的上游工作同样在稳步推进。针对 Apple Silicon 的设备树绑定已针对 6.17 计划完成提交,这有助于统一 m1n1 在初始化 GPU 时向内核传递硬件信息的方式。SPMI 控制器驱动已进入 6.16,解决了电源管理相关的关键依赖,也带来了对 M3 以及后续 Mac 上 USB-C 多路复用芯片的支持,从而使 USB 在这些新机型上能够正常工作。
音频子系统获得了一系列补丁,部分改动重构了上游 I2S 控制器驱动,使功放能够接收到正确的数据,离将扬声器支持上游化又近了一步。核心 SMC 驱动也计划在 6.17 合并,连同其 GPIO 与复位控制子设备,这将使上游内核能够更完整地处理关机、重启以及控制诸如 WiFi/蓝牙模块与某些 USB 端口的开启逻辑。未来还会继续推进 hwmon 驱动以实现风扇控制和硬件传感器读取,SMC HID 驱动用于支持电源键触发的挂起与唤醒,SMC RTC 驱动用于系统时间读写等功能。 在补丁管理方面,Asahi 在短时间内获得了显著成效。最初项目分支上携带了上千条补丁,通过持续的上游化与整理,当前未上游的补丁数量已降至千条以内 - - 这是在仅数月时间内取得的令人鼓舞的成就。若剔除 GPU 与与某些大模块的独立补丁,整体上游化比例更加可观。
这种精简带来的直接好处是:分支 rebases 变得更容易,日常维护负担降低,开发者可以把更多精力投入到功能改进而非补丁同步上。 日常修复与工具链维护也在同时进行。例如,Plymouth 的启动画面在某些 13 英寸设备上的 DPI 缩放问题已经修复;KMSRO(Kernel Mode Setting Render Offload)系统中使用 DRM 显式同步时遇到的 OBS 屏幕录制问题经过排查发现与合成器有关,相关补丁已在 kwin 上修复并向 Mutter 提交合并请求,作为临时绕过方案,开发者也在 DCP 驱动中添加了 DRM syncobj 的兼容支持。 平台引导固件 m1n1 的开发也重新提速,1.5.0 版本发布后修复了若干引导时崩溃与校准数据缺失导致的问题,并为发行版定制 Logo 的集成提供了更简单的路径。这些改进提升了不同 Linux 发行版在 Apple Silicon 上的可集成性与用户体验。 在社区层面,Asahi 的开发者们也在加紧与企业级社区交流。
项目代表在 Red Hat Summit、DevConf.CZ 等会议上分享了在 Fedora Asahi Remix 以及 CentOS Stream 上的工作经验,推动了更广泛的生态整合与讨论。同时,项目的众筹、赞助渠道与周边商品也在帮助项目获得持续支持,使得长期维护与硬件测试资源更具可持续性。 展望未来,Asahi 的工作重点将继续围绕上游合并、功能完善与性能优化。GPU 驱动与虚拟化路径的上游化为更多发行版直接支持 Apple Silicon 打开了大门,FEX 与 WINE 的协同进展为在 ARM 平台上玩 Windows 游戏带来了切实可见的改善。与此同时,内核对电源管理、音频、SMC 与硬件传感器的支持不断完善,将逐步填补从引导到外设的功能鸿沟。 如果你是开发者或高级用户,参与并测试这些功能是加速成熟的重要方式。
通过提交 bug 报告、测试补丁集、在发行版中尝试上游分支,或在社区讨论中分享遇到的兼容性问题,都能为整个生态带来正向反馈。对于普通用户而言,关注发布说明、更新到包含最新 Mesa 与内核补丁的发行版,并结合发行版提供的 FEX/WINE 打包策略,可以尽早体验到这些技术带来的性能提升和兼容性好处。 总结而言,Linux 6.16 周期对 Asahi Linux 项目来说是充满成果的一段时间:图形栈的大量上游合并减少了维护负担与碎片化;驱动和 JIT 的协同优化提升了实际使用体验;内核对 Apple Silicon 硬件功能的逐步支持使得更多硬件特性能回归上游;而对 Windows 应用尤其是 32 位游戏的运行路径改进,则为在 ARM 平台上实现更友好的桌面和娱乐体验奠定了基础。未来几个月伴随 6.17 及后续发布的推进,期待看到更多设备级别的完善和更广泛的发行版支持。若希望深入体验或参与贡献,社区欢迎各种形式的支持与反馈,推动 Apple Silicon 在 Linux 生态中变得更强、更普及。 。