Lumia 950 XL 移植 iOS 16.7.16 项目开源:可完整启动,尚无 GPU 加速与联网能力
据 IT之家 11 月 2 日报道,开发者 VNchocoTaco 已让微软 Lumia 950 XL 成功启动 iOS 16.7.16,并将移植项目及相关脚本发布到 GitHub,供具备条件的爱好者研究。项目基于 UniXNU,利用苹果开源的 XNU 内核和设备适配驱动,让这款 Windows Phone 设备运行于模拟“iPhone X”的环境中。不过,能够进入系统不等于获得完整 iPhone 体验:目前图形加速、无线连接等关键能力仍然缺失。
从内核到驱动:旧硬件已能完成完整启动
这次移植并不是把普通 iOS 固件直接写入手机。来源显示,项目结合了 UEFI 启动环境、DarwinBoot 引导程序,以及针对 Lumia 950 XL 编写的驱动,目的是让 iOS 在非苹果 ARM64 硬件上运行。其适配范围也很明确:仅支持 Lumia 950 XL,不支持 Lumia 950,不能因为产品名称接近就混用方案。
目前,系统已能够调用设备全部 8 个 CPU 核心,A57 集群运行频率也由 384 MHz 提升到 633.6 MHz。开发者表示,从启动到进入系统约需 3 分钟,相比早期约 6 分钟已有改善。基础交互方面,项目已实现以下能力:
- eMMC 存储读写,为系统运行提供基础支持。
- 屏幕显示与触控输入,让设备可以进行界面操作。
- 实体按键控制,其中相机键被映射为 Home 键。
脚本降低重复操作,但安装门槛依然高
项目公开脚本后,其他研究者可以按方案复现,但准备工作仍较复杂。设备需要先通过常规 Lumia 启动方案运行 Android(LineageOS),并具备 Root、ADB 和 TWRP 环境,同时保留 EFI 系统分区内的 Windows 启动管理器。此外,还需要一台至少预留约 35 GB 空间的 Mac,用于执行脚本、下载和编译相关固件。
据开发者介绍,脚本会提前备份 EFI 系统分区、BCD 启动配置、GPT 分区表及 Android 数据分区,并在修改分区或写入文件前要求确认。每次启动 iOS 时,方案会借助 Windows 启动管理器创建一次性启动项,下次重启则自动返回 Android。不过,备份与确认机制并不能消除重新分区带来的风险,操作仍可能造成数据丢失,甚至导致设备无法启动。
技术意义在于验证,而非替代日常手机
从软硬件适配角度看,这项工作的看点,是将内核、引导和基础驱动连接起来,验证苹果 XNU 内核在非苹果硬件上的运行能力。完整启动和基础输入输出可用,是移植进展,但距离实用还有明显差距。
目前项目尚未实现 GPU 硬件加速,界面只能依靠 CPU 渲染,Metal、OpenGL ES 等图形功能不可用,高斯模糊效果也无法正常工作。Wi-Fi、蜂窝网络、蓝牙、音频、摄像头、传感器和实时时钟同样暂不可用。因此,它更适合作为操作系统移植与驱动适配的研究样本,而不是旧手机升级路线。对普通用户而言,理解其技术边界比尝试刷入更重要;对拥有设备且熟悉底层操作的开发者而言,公开项目则提供了进一步研究的基础。