SwitchでiOSをエミュレート?
Switchroot is proud to announce its next major project: 'Switchroot iOS'
— switchroot (@switchroot_org) 2020年4月1日
Here are some photos from our current early alpha build: pic.twitter.com/nKAO4PJUG4
我々Switchrootは次の大きなプロジェクト「Switchroot iOS」を発表します。
これが現在の初期αビルドの写真です。
4月1日にSwitchrootよりとんでもないプロジェクトが発表されました。
その名も「Switchroot iOS」。
実際のツイートを見てみるとSwitch上でiOS12.4が動作している写真がありました。
これはマジなのか
元ツイートに続けて、
While spending months developing pie, our team slowly came to the conclusion than Android could not provide the stable experience we needed. After much deliberation we chose to focus on iOS instead.
— switchroot (@switchroot_org) 2020年4月1日
It's match kernel with custom metal GPU drivers, and abstract HALs provide a high level performance increase over Android, with emulators like dolphin running full speed.
— switchroot (@switchroot_org) 2020年4月1日
As can be seen, there are several glitches and the screen is rotated due to FIFO limitations; we are trying very hard to fix these and a complete build should be available in the not so distant future. Hopefully you are as excited for this as we are!
— switchroot (@switchroot_org) 2020年4月1日
Pieの開発に数ヶ月を費やしていた私たちのチームは、Androidでは必要とされる安定した環境を提供できないという結論に徐々に至りました。よく考えた結果、私たちは代わりにiOSに焦点を当てることにしました。
カスタムMetal GPUドライバとカーネルをマッチさせ、Dolphinのようなエミュレータを高速で実行することで、Androidよりも高いレベルのパフォーマンスで動作します。
写真の様に、いくつかのバグがあり、我々はこれらを修正するために努力しており、完全なビルドはそう遠くない将来に利用できるはずです。うまくいけば、あなたも私たちと同じように楽しむことができるでしょう!
「Androidは安定しないからiOSにしよう」と考えたそうですが、もちろんそれにはいろんな課題があります。それの一つとしてMetalについて発言がありました。
Metalとは、AppleのOS上で動作するコンピュータグラフィックスAPIのことで、言い換えればGPUへのアクセスを提供するAPIとなります。MetalはAppleのハードウェアに最適化し、性能を限界まで引き出すもので、SwitchrootのカスタムMetalGPUドライバはSwitchに最適化されたGPUドライバとなります。それによってAndoroidよりも高パフォーマンスで動作するという話です。
本当に現実味を帯びた話ですよね...
Switchrootの鯖で新たにチャンネルが建てられた
実際に、project-iというチャンネルが建てられ、物議を醸していました。
4月1日って何の日
ところで、4月1日って何の日でしょうか。そうです。エイプリルフールです。続きを見ていきましょう。
Up to this point, we've stubbed the modem/4G interface (Radio Interface Layer/Out Of Line signalling), because we were missing a proper iOS-compatible filesystem layer.
— switchroot (@switchroot_org) 2020年4月2日
As you can see, our RIL-OOL stub provides a "No SIM" environment to get the system booted, but with no IMEI. https://t.co/PjzIAbeuZU
So, to that end, we've finally implemented a working APFS driver! This means quite a few things:
— switchroot (@switchroot_org) 2020年4月2日
- We're no longer limited to using the RIL-OOL layer, because we've added A P F S to the mix.
- We have successfully fooled the system into thinking that we got it working! Ha-ha!
So, with that all said - thanks for following, and we'll continue working on more cool things! I hope you enjoyed what we had worked on for April 1st.
— switchroot (@switchroot_org) 2020年4月2日
The APFS + RIL OOL made us all smile, I'm sure.
We are seriously looking to port more OS's than Linux and Android, though. :D
この時点まで、我々はモデム/4Gインターフェイスをスタブ化してきました。ですが、それは適切なiOS互換のFile Systemレイヤーが欠けていたからです。
ご覧のように、私たちのRIL-OOLスタブは、システムを起動するための "No SIM "環境で動作していますが、IMEIはありません。
そのために、ついにAPFS(Apple File System)ドライバを実装しました!それは、以下のことを意味します
- APFSを追加したことで、RIL-OOL 層に制限されなくなりました。
- システムを騙して、うまく動作するようにしました!ははは(笑)
というわけで最後まで読んでくれてありがとう!この4月1日を楽しんでくれたかな。
「APFS + RIL-OOL」は私たちを笑顔にしてくれました。
我々はLinuxやAndroidのOSの移植を本気で考えています。
APFS+ RIL-OOL = APRIL FOOLS(エイプリルフール)
うまい。
そもそも可能な話?
iOSをエミュレートするのは不可能です。Appleが提供するOSはクローズドソースソフトウエアで、Androidの様なオープンソースソフトウェアではありません。なので、iOSは別端末にインストールしようとしても簡単にはできません。仮に出来ても初期段階で技術的な問題に直面します。例えば、今回出たグラフィック関係やOSのシステムイメージ、ハードウェアパッチ、そもそもアーキテクチャはどうなっているのか等々。
おわりに
とても面白いエイプリルフールネタでした。
参考