2023/02/05

MacBook Air M2 で Windows11 ARM 環境は使い物になるのか?

一週間ほど Parallels に Windows11 を入れて触った感触としては、周辺機器とは関係ない、単にソフトウェアを動かしたいだけなのなら結構違和感なく使えるのではないんでしょうか。macOS と Win11 の切り替えは全画面にしている Win11 とは指3本でスワイプでスカスカ切り替えられて、とてもスムーズ。とても別な OS が同居してる感はないです。CPU 半分 (4個)貸してるけど、macOS 側も特にストレスなしです。何年前か忘れたけど出始めのころの Palallels を触った感覚ではもっさり感はあったなぁ。隔世の感があります。

また動かなくて困ってる組み込み系のソフトはあるのですが、想定内でやはりなぁと。困ったらいままでの Intel Mac でどうにかしつつ、M2 で出来ることが増やせればな感じです。

比較対象にしてるマシンは、それまで使っていた MacBook Pro 2015 15" Retina。Core-i7 2.5GHzで、Memory 16GB 搭載してて macOS でも Bootcamp の Windows10 でもまだ十分使えるなというマシンです(個人的な感想)。

購入マシン構成とその経緯

MacBook Air M2 2022 8CPU, 8GPU (Mac14,2)
Memory: 24GB
SSD: 1TB

購入を決めたのは M2 Pro/Max が発表になってから一週間後ぐらい。M2 Pro が高すぎるのであきらめて、Parallels を使う前提で構成を決めました。候補としては M1 Air もあったのですが、仮想環境がまともに走ってほしいので、最大メモリ搭載量が大きく、MagSafe があってポートに余裕のある M2 Air にすることにしました。OS も二つ以上入れることと、天体撮影で必要な一時的なデータセーブサイズを考えて SSD も多めに。ちょっと高いんだけど。あと MagSafe 好きなんです。本体のコネクタに負担かからないので。今回の MagSafe のケーブルは前と見た目と違うんだけど、耐久性に改良がされているんでしょうか?期待しちゃいますね。GPU については GPU をガンガンに使ってくれるソフトはあんまり縁がなさそうだなと思ったので 8GPU にしておきました。 
キーボードはポクポクしたクリックを感じるタッチです。嫌いではないです。HHKB の方が好きですが。

アミアミ?ケーブル


速度と体感

速度

Geekbench 5 で CPU 性能を比較してみます。

macOS
MachineCPUOSSingle-coreMulti-core
MacBook Pro 2015Core-i7Monterey7443294
MacBook Air M2M2Ventura19098923

Windows
MachineVMOSSingle-coreMulti-core
MacBook Pro 2015(Bootcamp)Windows107313173
MacBook Air M2Parallels18Windows1116625560

macOS だと Intel Mac (Monteley) のスコアが 744/3294 のところ、M2 Air (Ventrura) が 1909/8923 程度。Windows だと Bootcamp (Win10) が 731/3173 で、Parallels 仮想環境 (Win11) が 1662/5560 という結果になりました (それぞれ single core/multi core の値)。macOS 同士の比較で 2.6/2.7 倍で Windows 同士だと 2.27/1.75倍と仮想環境はやや遅めとはいえど、2倍程度の速度の違いがあり、十分体感できる差になります。あれ、こんなもんかとは思いましたが。ただしバッテリーの持ちは抜群で、丸一日使ってもまだ余裕ある感じです。倍の性能で何倍電池持つんだよって感じで。macOS の方も、積極的に輝度下げたりとか低消費電力対策をしてるようには感じましたが。

体感

いままで古い Intel Mac で普段使いのソフトでは特に不満がなかったので、多少キビキビしててもその差ははっきり言って分かりにくいのですが、コンパイルなどでは流石にその差を体感できました。うぉー速いとまでは思わないけど、あ、速くなったって感じです。M5Stack のコンパイルは Arduino IDE でとても遅くてイライラしてたのが耐えられるぐらいの速度になりました。macOS ネイティブ環境しか比べていませんが。また、天文系の画処理ソフトはそこまで速くなった感は無いのですが。と思って、Windows で Autostakkert によるスタッキングの速度を比較したら、えーという結果が。。 Parallels の Edition 選択のところにその顛末を。

Parallels vs UTM

どうしようか迷ったが、とりあえず安定しているだろう Parallels にしとこう。

Parallels Standard Edition vs Pro Edition

てんこ盛りにしても CPU 数 8、メモリ最大 24GB とあまりリソースの多くない M2 Air に Standard だと CPU 4, メモリ 8GB までしか割り当てられなくて十分に感じられる。したがって多くの CPU やメモリを割り当てられる Pro にするメリットはない。ほんと?ということで、CPU の数を 4 と 6 動画撮影して PiPP で前処理した木星 2400フレームを Autostakkert! 3でスタックしてみた。
スタック時間が 84秒と 70秒。メモリ使用量も 1.4GB 程度なので 8GB もあればとりあえず十分。かな?使用した画像はだいぶトリムしてるので、ちょっと大き目な画像を処理したら 8GB では足りないかもしれない。そんなの滅多にないと思うので、Standard でいいかもしれないし、24GB ではなく、16GB で十分だったかもという気になってる。Standard Edition と Pro Edition の価格差は 1,000円ほど。macOS の更新が毎年あったとして、それに合わせて Parallels もアップデートした方が良いかもと考えると微妙だなぁ。この差。どうしよ。年に +1,000円して少しおまけな機能と OS のアップデートに合わせた更新をしていくのかとか。
結局。。一年間はプロにして様子見。ということにした。


4 core

6 core

ここで衝撃の事実。
実は今まで使ってた Intel Mac 爆速でした。


Stacking という項目をみるとわかるのですが、倍速です。えぇ、涙目です。なんで古い Intel Mac が勝つんだ〜と。

ちなみになんでこういう差になるかというと、真ん中の上の方に Thread という項目があるのですが、Intel Mac 8 なんですよね。それと比べて 4 コアだと 4, 6 コアだと 6 スレッドというようにコアの数しかスレッド流せないみたいです。M2。それとも OS がサポートしていないだけなのか。。Intel Mac は Core i7-4770HQ というプロセッサーで、4 コアなのですが、8スレッドあるので、スレッド数で優ってるんですね。M2 ネイティブなソフトならコア数で同じ数のスレッド走らせるとするとどうなるんだろう?というのは気になりますね。

VM

Windows 11

は DSP版でお安くした分、無駄に Pro にしておいた。
Windows11 は今までの MacBook Pro の Bootcamp で走る Windows 10 は残すので、別途 DSP版を購入したのだけど、アクティベーションに苦労した。DSP版だからというわけではなさそうなのだけど。多分。終わりよければ全てよし。アクティベーションを何度も試すときはVM捨てるので、インストールしたソフトはすべて空に。。

Ubuntu

Windows に WSL ではなく、Parallels に Ubuntu を導入。こちらのほうが素直ですよね。とりあえず iverilog + gtkwave が走る環境を準備。iverilog は apt で最新版を入れられたのだけど、fst フォーマットが扱えなかったので、ビルドからやりなおし。RISC-V チップの Verilog simulation の実行は結構速く、、いや今までの環境に比べると体感爆速。

M2 Air で出来たこと出来ていないこと

(2023/2/5 時点)
天文関係のソフトと組み込み系のソフトを試しています。Win11 は Parallels18 上で走らせています。Parallels には Ubuntu も入れています。

動かせたもの一覧。

天文関係

macOS

  • Firecapture 2.7.10 + ASI462MC
  • ASIStudio v1.7 + ASI462MC
  • SynScan Pro v2.1.12 + AZ-GTi
Firecapture と ASIStudio はどちらもカメラを認識してカメラをオン、画像を表示できました。SynsScan Pro の Mac 版なんてあったんですね。撮影は Mac で、画処理は Windows でいけそうです。いままで Sharpcap だったんで、Firecapture 覚えないと。

Win11

  • PiPP  x64 v2.5.9
  • Autostakkert 3.1.4
  • RegiStax6 Version6.1.0.8
  • WinJUPOS 12.2.4
ファイルの Open, Save に関しては Mac と共有のフォルダではダメなケースがありましたが、処理自体は特に問題ない感じです。どのツールも速くなった感じはあるものの、もともとそれなりに時間がかかる処理なので、めっちゃ速くなったという感じはしませんでした。

組み込み系

macOS

  • Arduino IDE + M5Stack Basic, Gray, Stick, Stick+, Atom-Matrix,Atom-Lite,M5 Core2,M5Paper,CoreInk
Basic, Gray, Stick は認識させるのに苦労しました。M5Stack のサイトにあるドライバを入れたりなんなりごちゃごちゃしてたらいつの間にか認識するように。他は特になにもしなくてもあっさり認識しました。Arduino IDE のコンパイル時間は速くなりました。ちょっとは待たされるのですが個人的に許容範囲です。PlatformIO や VSCode の Arduino 環境ではまだ動作確認できていません。
  • MakeCode + micro:bit 
初代 micro:bit です。最初すぐに認識してくれなかったのですが、接続できて MakeCode からダウンロードボタンで書き込みができました。

Win11

  • Gowin V1.9.8.09 Education + TangNano4K, TangNano9K
この手のツールは全然ダメだろうと諦めていたのですが、ビットストリーム吐き出して、書き込みも OK でした。ただ表示が崩れていてシリアルの設定か何かは全く内容を確認することも設定することもできない感じです。また無印 TangNano に関しては認識してくれなかったので、書き込みテストできていません。

上手くできなかったもの ToDo

上記はうまく動いてそうな組み合わせ。動かなかった・または一部動いていないものは以下です。
  • SynScan Pro (望遠鏡の架台 AZ-GTi の制御)
    Windows からだとツールは立ち上がります。シリアル接続がうまくいかないです。なぜかこの環境だとシリアルデータに偶数パリティが追加されるようで、それが原因のようです。Mac 版があることがわかってそれが動作するのでいいのですが、他のソフトとの連帯はどうなんだろ。
  • SyarpCap
    起動はします。カメラ認識してくれないんですよ。ZWO で ARM 向けのドライバを用意してくれていないからだと思います。ただ、ZWO としてはなんかしてくれそうな雰囲気
  • Vivado 2015 (旧Xilinx の FPGA 向けツール)
    入れたけど起動せず。困ったことにアンインストールもできずに無駄なディスクを食ってます。OS 入れなおそうか。。新しいバージョンは動いているらしい事例ありです。
  • Tang Dynasty (TangPrimer 搭載 Anlogic の FPGA 向けツール)
    Win は Bitstream まで出せるが、ダウンロードできない, Ubuntu では起動しないが、シリアルは認識してるので、どっちもどっちな感じ。惜しい。Win 11 ARM 向けドライバ作ってー。もしくは Linux 版リビルドしてー。
  • Quatus (旧Altera の FPGA 向けツール)
    Win, Ubuntu ともにインストールすらままならず。Win 版 Quatus は WSL が必要らしいので、入れてみようと思ったけど WSL そのものが入らず。そもそも仮想マシンの仮想マシンってどうよという。しかも WSL で Ubuntu が走ったとしても ARM 系 Ubuntu だと結局だめじゃんとなりそう。

というわけで、なにか代替え手段があるかもしれませんが、上記はまだまだなツールです。ハードに依存しない Windows のソフトは結構動いている感じです。組み込み系も FTDI の USB シリアル系搭載デバイスであれば案外いける雰囲気があります。他にも ARM 版ドライバさえあれば、、という惜しいツールもあったりします。また Visual C++ 再配布可能なパッケージが必要なソフトウェアもあるので入れなければならないかもしれません。が、これはこの環境とはまた別でよくある話かも。他には XX.DLL がありませんのようなメッセージが出て起動できないツールがあるのですが、DLL のみを入手できるサイトから入手して適切なフォルダに置くと OK とかいう場合もあるそうです(自分では上手く行ったものは無いのですが)。
Ubuntu や Windows 上の WSL (インストールできてない)は、軒並み既存バイナリは動かなそうな雰囲気です。ARM アーキテクチャ向けに再ビルドが必要なのかなという感じ。

USB のドライバ

ちなみに Windows 向けの FTDI のドライバは ARM 版をインストールできます。.zip をダウンロードして C: ドライブに展開。デバイスマネージャーから黄色三角の出ている FTDI 系デバイスに対してドライバを展開したフォルダを指定してインストールすれば OK です。注意点はドライバーを Windows の C: ドライブのどこかに置くことです。Mac 側と共有されているダウンロードフォルダーに置かれていたりすると認識してくれません。
M5Stack は USBのドライバを 配布してます。

AE-F234X も使えてますよ〜。
TX と RX をワニでショートな荒技ループバック



Parallels での Windows で注意すること

あれおかしいと思ったらデータを保存、起動する場所を調べてみるといいかも。上記で書いた通り、Mac との共有フォルダに置いたファイルの読み書きは Windows のソフト次第でできたりできなかったりなので、基本 C: ドライブにおいた方が問題なさそうです。


とりあえず進捗あったら更新します。気が向いたら。