作者 Lyeuiechang (誠誠小屁孩)標題 [心得] UTM SE 使用者報告《第一章》iPad 跑桌面級系統可以幹啥?時間 Mon Jul 22 02:33:17 2024
https://i.imgur.com/Dljry7i.jpeg
【本文目錄】
前言:幫 iPad 跳出蘋果幫你畫的小框框
第一節:被蘋果封殺後的僅剩唯一可行方案
第二節:運行再慢也有總比沒有好
【前言:幫 iPad 跳出蘋果幫你畫的小框框】
2010 年,當年蘋果幫 iPad 定義的使用環境是介於手機和電腦之間的第三種設備,
提供比手機更大的螢幕,但是使用方式比電腦簡單,操作習慣主要以移動系統為主。
https://www.youtube.com/watch?v=eZ87BRCrh0w
也因此,iPad 是由 iPhoneOS 的基底改寫,
延續了沙盒、單一使用者、單一程式的特性,提供了易於上手的使用方式。
但是隨著 iPad 的性能逐漸增強,以及 Pro 產品線的開展,
能否讓 iPad 改安裝 MacOS 群眾的聲音日益增大,
蘋果在拒絕之餘,也做了一些努力來盡可能改善 iPad 的移動操作系統體驗:
版本 9 - Slide Over、Split View、畫中畫
版本 11 - 檔案 App、Dock 欄
版本 13 - 改名 iPadOS、外插 USB 隨身碟、桌面布局改變、增加指標
版本 16 - 幕前調度、外接顯示器獨立桌面
即使做了這些改變,改裝 MacOS 的聲音沒有縮小的主要原因有兩個:
缺少桌面級的瀏覽器(如 Chromium)、缺少桌面級的專業生產力軟體(如 Office、Coding IDE)
而這次 UTM SE (應該)可以想辦法解決第二個的問題:桌面級的專業生產力軟體,
希望藉由這一系列關於 UTM 的文章,能夠一窺 iPad 這次能否成為你的下一台電腦?
以及探討一些安裝途中會遇到的一些困難點,
系統選擇從 Windows 98 經過 Windows 2000 到 Windows XP,
如何處理個別系統可能遇到的問題,以及最重要的穩定檔案傳輸。
今年蘋果做了兩個最大的歷史性決定分別是讓 Delta 與 UTM SE 上架 AppStore,
Delta 的上架讓口袋遊戲機模擬器成為了可能,
而 UTM SE 則是打破了蘋果長期拒絕通用型PC模擬器的規則。
若你也好奇 UTM SE 對整個 iPad 會可能帶來甚麼樣的影響,
不如就一起來看看吧。
【第一節:被蘋果封殺後的僅剩唯一可行方案】
UTM SE 的意思其實不是特別版(Special Edition),而是慢速版(Slow Edition),
根據 UTM 官方在 Github 的描述如下:
UTM SE(「慢版」)使用線程解釋器,其效能比傳統解釋器好,但仍比 JIT 慢。
此技術與 iSH 在動態執行方面的做法類似。
因此,UTM SE 不需要 越獄或任何 JIT 變通,
而且可以像一般應用程式一樣側載應用程式。
UTM SE ("slow edition") uses a threaded interpreter which performs better
than a traditional interpreter but still slower than JIT. This technique is
similar to what iSH does for dynamic execution. As a result, UTM SE does not
require jailbreaking or any JIT workarounds and can be sideloaded as a
regular app.
https://i.imgur.com/FvYfG2J.png
若根據 UTM 運行速度大致排序的話,可以分為三個等級:
UTM Hypervisor >
UTM JIT >
UTM SE
UTM Hypervisor = 僅限模擬 Arm 作業系統
搭載 M 系列處理器或 A16 處理器,在系統版本 < 16.4 時,
可透過 TrollStore 或越獄或 Mac 系統上執行,CPU可以接近原生速度運行。
實際例子:M1 iPad Pro 可以順暢執行 Windows 11 Office 365
非全螢幕開 Firefox 看 Youtube 串流影片
https://www.youtube.com/watch?v=lDZOjIGHka0
UTM JIT = 可以模擬各種處理器架構
可透過 TrollStore 或越獄或接電腦啟用 JIT,CPU 執行速度中等,
實際例子:A12 iPad Mini 可以勉強執行 Windows 7 Office
https://www.youtube.com/watch?v=q-ESpe-bq04
UTM SE = 可以模擬各種處理器架構
可透過正常側載或者現在有的 AppStore,CPU 執行速度大輸 JIT
實際例子:M1 iPad Air 可以很勉強執行 Windows XP Office
原本當
*[1;33m M1 iPad Pro
*[m 發布的時候,
系統核心其實是有啟用支援虛擬化相關的功能的,
只需要註記 com.apple.private.hypervisor 並加入解碼的 Hypervisor 框架即可。
(有人甚至曾在 iOS 14 幫 iPhone 12 修改核心啟用 Hypervisor)
https://worthdoingbadly.com/hv/
但蘋果基於不明原因在 iOS/iPadOS 16.4 版本更新中,
把 XNU 核心裡的 Hypervisor 相關程式碼改寫掉了。
https://x.com/UTMapp/status/1708907045314035986
壞消息: Apple 在 iOS 16.4 中移除 XNU 的 Hypervisor 支援。以下是 iOS 16.3.1
與 iOS 16.4 的差異。這意味著即使 iOS 16.6.1/17.0 出現越獄/TrollStore,也不會
有 UTM 虛擬化支援,即使在 M1/M2 ipad 上也是如此。
BAD NEWS: Apple removed Hypervisor support from XNU in iOS 16.4. Here is a
diff of iOS 16.3.1 and iOS 16.4. What this means is that even if a
jailbreak/TrollStore comes out for iOS 16.6.1/17.0, there will not be UTM
virtualization support, even on M1/M2 iPads.
故除非有辦法去改寫系統核心,才有機會讓這個方法有辦法再走,
截至目前,即使越獄過後也沒有一個成功大量部屬修改系統核心增加功能的案例。
(上面的實驗有嘗試修改 Flag,但是新系統之後架構更改就失效)
此外由於蘋果 AppStore 政策的限制,
商店上的版本是不能帶有 JIT(Just In Time) 編譯功能,
且目前僅有瀏覽器可以帶有 JIT 的功能,非瀏覽器的 App 基本上是禁止搭載。
JIT 是一種動態程式碼生成技術,可以一邊執行一邊編譯,
模擬器的內容因為不可能事先寫好要執行的程式碼,
所以必須要透過動態編譯才能執行,
即使像是 SE 版的 Threaded Interpreter 也是逐行翻譯指令集的指令。
這也讓 UTM SE 其實是以一個轉譯開銷非常大的方式在運行,
一方面速度非常慢,另外就是處理器本身其實耗費大量的運算資源,
算力投入很大(發熱)但是產出卻獲得很少(執行慢)。
而上架商店審核的機器自動分析通常主要仰賴靜態程式碼分析,
這會讓蘋果審核 App 的時候無法得知是否有惡意功能,
便以安全性疑慮為由禁止這類型的 App 上架。
https://oatmealdome.me/blog/why-dolphin-isnt-coming-to-the-app-store/
也因此,短時間內可能 UTM SE 會是在蘋果規範正常用法下的唯一方案。
【第二節:運行再慢也有總比沒有好】
雖然前面列出了一大堆 UTM SE 的缺點,但他仍然是一個功能完整的通用型模擬器,
所以即使慢,但至少多了一條路可以讓 iPad 執行桌面級作業系統,
那麼在這些條件限制底下還能做點甚麼?
其實就是一開始提到的:
桌面級專業生產力軟體,比如 Windows 下的 Office,
很多功能在 Office iOS 行動版是缺少的,
還有就是桌面級檔案管理,並且輸入法輸入邏輯也有不同。
這些誘因其實可讓 UTM 的使用上與現有 iPadOS App 操作有所差異。(當然還有酷)
因此這次的目標主要就是能夠穩定的使用 Windows 系統,
能夠編輯一些 Office 檔案,並且與 iPadOS 進行檔案交流。
順帶一提,由於 SE 版本 CPU 算力的不足,
網頁瀏覽的部分經過目前手邊的實測恐怕可用性很低,
但是用一些當年的套裝軟體或者適合的工具來做點甚麼其實是可行的。
--
推 Lyeuiechang: [新聞]有狼師一直戳女學森(.)(.)而被家長吉上法院...12/04 23:42
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.200.66.131 (臺灣)
※ 作者: Lyeuiechang 2024-07-22 02:33:17
※ 文章代碼(AID): #1cdLHog6 (iOS)
※ 文章網址: https://www.ptt.cc/bbs/iOS/M.1721586802.A.A86.html
推 kenss: 好文 推3F 07/22 13:15
→ jhjhs33504: M1難得會跑到螢幕降亮度的程度 也沒做啥 待機而已4F 07/22 17:50
修正一下關於 UTM Hypervisor 跟 JIT 的補充說明。
※ 編輯: Lyeuiechang (1.200.106.90 臺灣), 07/22/2024 23:08:24
--