Tagged: ARM版Windows10

M1 MacでNintendo Switch?

どちらもArmアーキテクチャなのだから、可能性はあるハズ。

Apple Silicon上でSwitchが動く?

Sera Tonin Brociousと名乗る開発者がTwitterで、M1 Mac上で実行されているSwitch用「スーパーマリオオデッセイ」の動画を公開した。
これは高性能グラフィックAPIであるVulkanを使用したオープンソースのエミュレータ「yuzu」を介して達成されたもので、Apple純正のMetalグラフィックフレームワークにVulkanをマッピングするランタイムライブラリ「MoltenVK」を使っているという。
そしてMoltenVKの制約で現時点では動作は完璧ではなく、途中で終了してしまうようだ。

https://twitter.com/daeken/status/1340802622547214338?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1340802622547214338%7Ctwgr%5E%7Ctwcon%5Es1_&ref_url=https%3A%2F%2Fjapanese.engadget.com%2Fm1mac-nintendo-switch-emulation-062025302.html

このTwitterの動画では、まずエミュレータを起動させ「スーパーマリオオデッセイ」のROMデータを選択、Joy-Conの確認を含めたいくつかの確認オプションが表示され、さぁ起動、というところでエミュレータが終了というものになる。結果的にはゲームプレイまでは確認できないものの、Switchの起動シークエンスの途中までは動作していると考えられるとなると、最終的にはM1 Mac上で動作する可能性が高い。
Switchは、NVIDIAのTegra X1ペースを搭載しているので、M1 Macと同様のArmアーキテクチャで動いている。動作が不安定な部分はいろいろな調整が必要なのだろうが、エミュレーションできる可能性はとても高いと思われる。

Arm関係はとても多い

今回はNintendo Switchがエミュレーションで動作した、という話だが、Armアーキテクチャで動作しているシステムは世界中でとても多い事を考えると、権利的な部分がクリアにさえなり、エミュレータの基礎技術が確立すれば、かなり多くのシステムがM1 Macの上で動作可能と考えられる。
Android OSだってArmで動作しているのだから、M1 Macの上で動作させる事は比較的容易ではないかと思う。そう考えるとM1 Macは、ハードを直接制御するハイパーバイザ型の仮想化フレームワークさえ利用できれば、エミュレータの移植そのものも比較的容易ではないかと思われる。
もちろん、出来るという事とやっていいという事には雲泥の差があるワケだが、Apple Siliconの可能性は相当に広いという事が言えるのではないかと思う。

Continue reading…

オリジナルを超えるM1版Mac

これが本当ならMicrosoftもイヤになってくるんじゃないだろうか?

Arm版Windowsの起動

Apple幹部がM1版MacにおいてArm版Windows10の動作が技術的には可能だという事を認め、実現できるかどうかはMicrosoft次第だ、とライセンスを提供するかしないかの問題のみである事をコメントした後、実際にソフトウェア開発者がM1版Mac上で仮想化したArm版Windows10の動作に成功した、と報告された。

開発者のアレクサンダー・グラフ氏によって、動作した事が確認されたワケだが、その動作は「きわめてキビキビしている」という事だった。
その方法は、オープンソースの仮想マシンエミュレータ「QEMU」にカスタムパッチを適用して、OS X Yosemiteで追加されたハイパーバイザ型の仮想化フレームワークで仮想化する、というアプローチだという。
QEMUはホストCPUで直接ゲストコードを実行することでネイティブに近いパフォーマンスを達成するエミュレータだが、この組合せでM1版Mac上でArm版Windows10を動作させた場合、x86アプリケーションをRosetta2ほどではないにしても、かなり近い速度で実行できるらしい。
最も、現段階ではまだ初期段階であり、安定しているかどうかは別モノの話なワケだが、こうして動作した以上、気になるのはそのベンチマーク速度という事になる。
開発者アレクサンダー・グラフ氏は、この方法で必要になるカスタムパッチをメーリングリストに公開しており、誰もが利用可能な状態にしている。となれば、やはりベンチマークに挑戦するものが現れた、というワケである。

気になるベンチ

挑戦した一人がGeekbench 5により測ったところ、M1搭載Mac上の仮想化Arm版Windowsのシングルコアスコアは1288、マルチコアスコアは5449になったそうだ。
単にこれだけでは比較対象がないのでわかりにくい話なので、ここにMicrosoft製品である、第2世代Surface Pro Xのスコアと比較すると、Surface Pro Xはシングルコアスコアが799、マルチコアスコアが3089という事が判明した。
ちなみに第2世代Surface Pro Xに搭載されているプロセッサは、MicrosoftがカスタムしたSQ2という、クラス最速を謳っていたコアである。
今度は逆にx86版のGeekBench 4を実行して調べて見ると、M1版Mac上の仮想Arm版Windowsはシングルコアスコアが2533、マルチコアスコアが8917となり、Surface Pro Xはシングルコアスコアが2019、マルチコアスコアが6646と、やはりM1版Macが圧倒的に勝ってしまうようである。
もちろん、これはまだ実験レベルの話であり、多数のユーザーが実行して同様の結果が出た話とは異なるので、このスコアが絶対的な結果というには速すぎる。
DRAMまで統合している事の強みだが、M1プロセッサのその性能の高さが非常に高いレベルで優位であろう事は読み取れる結果だと言えるかも知れない。

Continue reading…

M1でWindows

完全ではないにしても、動作する環境がもう揃い始めた。

ARMでもRosetta2で

先週から、M1搭載のMacの話題が各所で言われていて、その都度反応している私だが、もちろん私がそれに注目しているからこそ、このBlogでもそうした話題が多くなっている。
私の一番の関心どころは、やはりMacでWindowsが動作するのか、というポイント。
私がIntelコアのMacBook Pro 13インチを購入したのも、このMacでWindowsが動作する環境が作れるからであり、Apple Silicon搭載Macを待つか迷っていたのも、Windowsの動作状況が大きく影響していたからだ。
だが、私のその悩みも実は杞憂だったかもしれない。
というのも、今の時点でM1搭載MacでWindows環境が実現するかもしれない道が見え始めたからだ。

この動画を見るとわかるが「CrossOver 20」というWindowsのエミュレーションソフトを使用する事でWindowsのアプリケーションがエミュレートされて動作している。
具体的な動作状況としては、32bitのIntelコアWindows向けバイナリを動かす際は、Wine 5.0(LinuxやMacでWindowsアプリをエミュレートするソフトウェア)ベースのCrossOverで32bitから64bitにブリッジして、さらにRosetta 2を介して動作する…そんなイメージである。
つまり、M1チップ上でエミュレーションにエミュレーションを動作させて動かしている、そんな感じである。
それにも関わらず、これだけ動かせている事にまず驚きである。

課題も多い

ただ、DirectX11が関与するものは動作しない等、Windowsでは当たり前に動作するものが結構動かないなど課題もまだまだ多いのも事実で、これらが一気に問題解決するかというと、そう簡単な事ではない事も予想できる。
米Parallels社も、意欲的に取り組むだろうとは思うが、M1搭載Macでx86アーキテクチャのプログラムをスムーズに動作させるのは、まだまだ試行錯誤が必要だろうと考えられる。
ただ、それでも今の時点でこれだけのものが動いているという事実は間違いないわけで、Rosetta2のトランスコードの処理能力はかなり高いものと考えられる。
これは私の予想ではあるが、来年のそう遅くない時期には、M1搭載MacでWindows環境はそれなりに現実的になってくるのではないかと思える。やはりDirectX11、DirectX12あたりの動作がそのカギを握っているのではないかと思うが、米Parallels社あたりは、この問題に対して何かしら突破口を切り開いてくるものと思っている。M1搭載MacでWindowsは夢物語ではない

Continue reading…

Desktop Version | Switch To Mobile Version