iPhone上跑Windows XP系统,安装了两小时后换了UTM,还能玩上《半条命》游戏!

源码共读

共 5144字,需浏览 11分钟

 ·

2024-09-08 18:00

架构师大咖
架构师大咖,打造有价值的架构师交流平台。分享架构师干货、教程、课程、资讯。架构师大咖,每日推送。
公众号

放眼操作系统领域,Google 的 Android 占据七成的移动端市场、微软的 Windows 是桌面端的霸主、华为的 HarmonyOS 增速迅猛,以及苹果的 iOS、macOS 也有着庞大的用户群体,试想,不同的科技公司之间是否有一天会互相开放生态,实现各家操作系统的跨设备运行?

显然,这在目前从官方渠道看来似乎不太可能。尽管如此,但仍有一些技术爱好者、极客率先做出了尝试。

日前,一位狂热的技术爱好者、YouTuber Michael MJD 已经成功地在 iPhone 上运行了 Windows XP,还玩起了复古的游戏,并带来了自己的最新体验过程。


苹果 App Store 审核政策的放宽

要知道苹果的 iPhone、iPad 等设备一直被称之为“围城花园”,这次之所以能让 Windows XP 在 iPhone 上运行,还是得亏苹果公司自己“想开了”。

过去,苹果的 App Store 都是明令禁止游戏模拟器、外部扩展等类型的应用程序上架,这种做法直到今年 4 月苹果更新了《App 审核指南》的第 4.7 条后才有所改变。

新版开发者指南第 4.7 条显示:

迷你 App、迷你游戏、流媒体游戏、聊天机器人、插件和游戏仿真器

App 中可以提供未嵌入二进制文件的某些软件,尤其是 HTML5 迷你 App 和迷你游戏、流媒体游戏、聊天机器人以及插件。此外,复古游戏主机和 PC 模拟器 App 可以提供游戏下载服务。

这一政策生效之后,不少游戏模拟器火速上架,其中最引人注目的有两款,一是任天堂复古游戏机模拟器「Delta」;二是才于今年 7 月正式通过审核、用于模拟电脑运行经典软件和游戏的应用程序 UTM SE。

所谓 UTM for iOS 并不是一个新应用,它已经存在了好几年,但此前,如果你想在非越狱设备上使用它,你需要通过 AltStore 这样的方法进行侧载。而现在 UTM  SE 已经在 App Store 上线,这使得下载变得非常简单。

UTM SE 允许 iOS 和 VisionOS(在混合实境头戴式设备 Apple Vision Pro 上运行的操作系统)用户通过他们的苹果设备运行怀旧软件和老游戏。

这款 UTM SE 应用程序支持终端模式和 VGA 模式,并模拟 x86 和 RISC-V 计算架构。与此同时,这款模拟器还支持 Windows XP 以及 Mac OS 9.2.1、FreeDOS、Debian 11 和 ArchLinux,这意味着有很多不同的操作系统可供使用。

不过值得注意的是,这些操作系统不包含在应用程序中,但开发人员可以根据网站(https://mac.getutm.app/gallery/)提供的一些链接,看看运行不同的操作系统所需要具体配置等要求。

接下来,我们就来看看 Michael MJD 是如何在 iPhone 中玩上了 Windows XP。


在 iPhone 上下载安装 Windows XP

首先,你需要将 Windows XP 的 ISO 文件下载到你的 iOS 设备上才能引导安装。

基于上面的链接(https://mac.getutm.app/gallery/),我们找到 Windows XP 系统。这里有许多不同的 ISO 可以使用,对此,官方推荐了一个很好的 ISO,名为 en_windows_xp_professional_sp3_Nov_2013_Incl_SATA_Drivers.iso,其 SHA1 哈希值为 6947e45f7eb50c873043af4713aa7cd43027efa7。


下载好之后,直接点击“打开”,然后选择对应的 Windows XP 配置文件加载。在这里有很多设置可以调整,但最重要的一步是挂载 ISO 映像。点击CD/DVD,浏览并选择 ISO 文件即可。

视频中,Michael MJD 表示,安装时,在系统设置下,你可以修改内存大小和模拟的系统类型,但他更建议保持默认设置不变。

保存以上设置后,Michael MJD 开始启动虚拟机。

下一步就是常规的 Windows XP 安装过程。Michael MJD 在视频中将手机连接了一个蓝牙键盘,这样方便后续操作。

UTM 为其创建了一个约 20GB 的硬盘分区,Michael MJD 将在此分区上安装并使用 NTFS 格式化。

经过漫长时间的等待之后,Windows XP 终于安装完毕,一切就绪。

Michael MJD 在视频中吐槽称,「UTM SE 中 SE 是指“慢速版本”,这是一个相比你在 AltStore 里可以找到的常规 UTM iOS 应用更为受限的版本。」

相比之下,常规版本的 UTM 可以利用即时编译(JIT)技术。由于 UTM SE 缺少 JIT 编译功能,因此他在 iPhone 上运行 Windows XP 也遇到了一些性能问题。

Michael MJD 表示,难以在 iPhone 上以最佳性能运行 Windows XP。根据他的反馈,安装 Windows XP 耗时长达 2 小时,启动时间也需要 30 分钟,因为模拟器运行得非常慢。

对比之下,JIT 编译器技术让 UTM 能够比 SE 版本更好地运行这些模拟系统。这样不仅性能更好,系统运行速度也会更快。

为了改善性能和启动速度,Michael MJD 通过 AltStore 安装了 UTM。他发现,在常规 UTM 上,只需大约 30 秒就能启动模拟器并完成 Windows XP 的启动过程,而启用 JIT 的常规 UTM 只需要 10 秒左右。因此,他推荐道,如果你想要在 iOS 设备上体验 UTM 的模拟功能,可以尽量使用这一版本。虽然设置起来更复杂,需要通过 AltStore 安装,而且需要一台运行最新 iOS 版本的 Mac 电脑来进行签名处理,但这样可以更流畅地运行 Windows XP。


试试打游戏,以及再装 Win 98、Win95 系统

安装好了之后,Michael MJD 还在 Windows XP 里面安装了《Half-Life》(半条命)游戏,这款游戏最初就是针对 Windows 操作系统的游戏,所以用它来测试 iPhone 上的 Windows XP 性能也再合适不过。

不过当打开《Half-Life》的文件夹,运行里面的 Half-Life Launcher 时,页面上首先跳出了一个关于兼容性问题。提示这款游戏与此版本的 Windows 存在已知的兼容性问题。

幸运的是,可以选择“继续”来启用兼容性模式,进而输入 CD 密钥,正常启动游戏。

测试中,Michael MJD 跳过开场动画,选择新建游戏,设置难度为中等。尽管有些掉帧现象,但考虑到这是在 iOS 设备上运行的,表现已经不错了。

后来,Michael MJD 尝试改变 Direct3D 渲染模式以提高性能,但结果反而更糟,就在这个时候,音频播放出现卡顿。无奈之下,Michael MJD 将这款游戏回到最初的设置,在最低分辨率下运行,此时游戏看起来运行正常。

出于好奇,Michael MJD 退出游戏查看设备管理器。在显示属性中可以看到一些分辨率选项,但显示驱动似乎只是内置的一个基本驱动。

为此,他需要关闭虚拟机安装 Windows Guest Support Tools,以获得更好的图形支持。

重新启动后,发现分辨率自动调整了,系统中现在有了Red Hat QXL GPU 驱动。「尽管游戏看起来运行得稍微好一点了,但很难判断这是不是心理作用」,Michael MJD 说道,「总的来说,《半条命》在这台设备上的表现依然令人兴奋,不过,触摸屏控制方向虽然有趣,但如果有键盘的话体验会更好。如果没有外接键盘,只使用触摸屏将会非常困难,希望用户不会因为每次都看这个游戏而感到厌倦。」



除了在 iPhone 上的 Windows XP 玩游戏之外,Michael MJD 还尝试使用 UTM 安装开源的虚拟机软件 VirtualBox,然后在虚拟机里运行 Windows 98 SE。

不过,Michael MJD 表示,这可能是我们用 UTM 做的最没意义的事情,因为可以直接在 UTM 中安装 Win98,而不是通过一层额外的虚拟机,但多尝试也是一种体验。

出乎意料的是,不像玩游戏那么通畅,Windows 98 系统崩溃了、应用也崩了。无论是新建虚拟机,还是从软盘引导,Windows 98 启动都失败了。

在尝试了多次安装 Win98 未果后,Michael MJD 决定再试试 Win95,在尝试安装过程中,进度到了大约 33% 的时候,系统开始复制文件,然后失败也随着而来。

除此之外,Michael MJD 还尝试了其他虚拟机软件,并增加了 UTM 模拟的硬件资源,因为他认为 Windows 98、Windows 95 的安装失败可能是由于使用了过多的系统资源导致系统崩溃,或者是因为强制重置。

最终,他发现即使增加了模拟系统的硬件配置,依然无法顺利完成 Windows 95 的安装过程。有时候,不仅仅是强制重启模拟系统,还会完全锁死,导致他不得不通过顶部菜单强制关机。


写在最后

就这次体验而言,Michael MJD 表示,UTM 确实是一个很酷的应用程序。不过,如果你想充分发挥其性能,还是强烈建议通过 Alt Store 获取完整版并启用 JIT 编译。否则,你将在 UTM SE 上经历漫长的等待。

整体而言,使用 UTM(带有 JIT 编译功能的版本)来实现在 iOS 设备上运行 Windows XP 是技术上的一大进步。UTM 利用 QEMU 技术,使得在 ARM 架构的设备上模拟 x86 环境成为可能。从实用角度来看,这种体验更多的是为了展示技术的可能性,对于那些热衷于技术探索的爱好者而言,无疑是一次有趣的尝试;但对于普通用户来说,也许并不会带来实际的好处。

参考:

https://www.windowscentral.com/software-apps/an-avid-tech-youtuber-gets-windows-xp-to-run-on-the-iphone

https://www.youtube.com/watch?v=uU0OD0OUNdg&t=9s

Python入门到精通
Python入门到精通:人生苦短,我用Python!Python每日推送、Python教程、Python资料、Python视频、Python项目、Python学习等。
公众号
浏览 60
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报