ArmアーキテクチャでもWindows 10のすべての機能を利用可能 米国のMicrosoft Storeなどで販売されているSurface Pro XのOSはWindows 10 Homeだけとなっており、Windows 10 Proを搭載した製品は販売されていない。 筆者もそうだが、Office 365 BusinessやMicrosoft 365 Businessのサブスクリプションを契約しており、Microsoftの企業アカウントでWindows 10をアクティベーションしたいならOSがPro以上である必要がある。 だが、心配ご無用だ。Arm版Windows 10であっても、基本的な機能は、従来から提供されているx86版Windows 10と何も変わらない。OSがArm64ネイティブに作られているだけだ。 たとえば、OSのリカバリなども同様で、x86版Windows 10と同じようにコントロールパネルの「回復」からUSBメモリなどを利用してリカバリできる。もちろんBitLockerによるストレージ暗号化、Windowsセキュリティなど……とにかくWindows 10の標準的な機能は利用できる。ここが、さまざまな制限がかけられていたWindows RTとの大きな違いとなる。 したがって、OSのSKUをProにアップグレードするのも問題ない。標準のHomeからアップグレードできるのはProとWorkstationだ。ただ、WorkstationではNVDIMMや4ソケット以上などに対応したハードウェアが必要なので、そもそもSurface Pro Xにはまったく必要ないのだが、それも適用可能というほどArm版Windows 10はx86版と同じ「フル機能のWindows 10」なのだ。

PhotoshopやIllustratorは古い32bit版のみが動作。ATOKはインストールできるが動作せず さて、そうしたArm版Windows 10がフル機能を持つWindows 10であることはわかっていただけたと思うが、Armネイティブなコードで作られているWindows 10であり、従来のx86向けのWindowsアプリはそのままでは動かないので、特別なx86エミュレーション機能が搭載されている。 このエミュレーションはなかなかよくできていて、x86命令をArmに変換するのは、x86コードで書かれている部分だけになる。たとえばDirectXのようなAPIがコールされる場合にはArm版のDirectX APIを直接コールするので、ネイティブ時と同じ性能を発揮する。現代のアプリはそうしたAPIをコールする場合も少なくなく、これによって従来のエミュレータよりも高速に動作する。 ただ、1つだけ制限があり、変換できる命令が32bitのx86命令だけで、x64(AMD64/Intel64)と総称される64bitのx86命令は変換できないのだ。Microsoftによれば、こうした仕様になっているのは、Arm版Windowsの性能を犠牲にしないで、x86との互換性を実現するための措置であり、今後もx64に対応する予定はないと説明している。 したがって、Arm版Windowsで動くアプリはx86かArmのコードで書かれているアプリとなる。これはストア経由で配布されるUWP(Universal Windows Platform)のアプリだろうが、デスクトップアプリだろうが問わない。まとめると、次のようになる。 【表1】Arm版Windows 10で動くアプリ デスクトップアプリケーション x86(32bit) ○ x64(64bit) × Arm(64bit) ○ ストア・アプリケーション(UWP) x86(32bit) ○ x64(64bit) × Arm(64bit) ○ つまり、x64版しかないアプリは動かない。この代表は、Adobe Creative Cloudのクリエイター関連アプリだ。Creative Cloudは「Creative Cloud Desktop」という基本アプリをからPhotoshopやIllustratorなどをインストールしていくかたちになっている。 現在のCreative Cloud Desktopの最新バージョンは5.0.0.354なのだが、この5.0.0.354はx64版になっており、Surface Pro Xにはインストールできない。このため、Surface Pro Xにインストールできるのは1つ前のバージョンでx86版となる4.9.0.504になる。 同様に、このことはAdobeの各アプリに言え、現時点でArm版Windowsで使えるアプリを見てみると以下のようになる。 【表2】Adobe Creative Cloudで使えるアプリ x64版Windows Arm版Windows Photoshop 2020 ○ △(2018) Illustrator 2020 ○ △(2019) Lightroom ○ × Lightroom Classic ○ × Premiere Pro 2020 ○ × Premiere Rush ○ × Fresco ○ × InDesign ○ ○ XD ○ × After Effect ○ × Bridge ○ × Dimension ○ × Dreamweaver ○ ○ Animate ○ × Character Animator ○ × Audition ○ × InCopy ○ × Prelude ○ × Fuse ○ ○ こうして一覧にして見ると、Creative Cloudのアプリの多くはx64化が済んでおり、32bit版は少ないという印象だ。また、PhotoshopとIllustratorはかろうじて用意されているが、前者は2年前のバージョン、後者は1年前のバージョンと最新ではない。 また、x86のゲームでも、描画がDirectXで行なわれているゲームは(性能面は別にして)動作するが、Open GL 1.1以上のAPIで書かれているx86のゲームも現状は動かない。Qualcommの関係者によればこの問題は、GPUであるAdrenoのWindows用ドライバのOpenGLのサポートが完全ではないからだという。このため、将来的にAdrenoのドライバがバージョンアップすれば、OpenGLで描画するタイプのゲームも動作する可能性はある。 もう1つ使えなかったのは、ジャストシステムのATOK(定額版、バージョン31.1.8)だ。インストールは可能で、WindowsからはIMEとして認識はされるのだが動作しなかった。症状としては、IMEを有効にするキー(英語キーボードの場合はAlt＋～)を押してもIMEが起動しない。WindowsではIMEは特別なアプリの扱いがされているため(ほかのアプリと一緒に動かなければならないため)、そのあたりで問題が発生しているのかもしれない。 なお、OSと密接に動作するセキュリティソフトウェアもサードパーティのものは動作しない。これはOSがArm64bitネイティブで動作していることを考えると当然と言えるだろう。このため、現状で使えるのは標準搭載の「Windowsセキュリティ」のみとなる。

MS Officeは最新のx86版が問題なく動作。FirefoxとChromium EdgeはArm64の提供が開始されている 逆に問題なく動作したものはと言えば、Microsoft Office(サブスクリプション版)は、C2R(クイック実行形式)版と呼ばれる、Webからインストーラーをダウンロードして実行する形式のもの。Wordも、Excelも、PowerPointは無論問題なく動作したし、OutlookやそもそもOfficeスイートには含まれないVisioなども32bit版であれば問題が起きない。その性能がどうかはベンチマークのところでふれるが、そこで不満を感じることはないだろう。 Microsoft自身が作っているOfficeなのだからArm64bit版のOfficeをリリースしてくれても良さそうだし、何度かこの件についてMicrosoftの関係者にインタビューしているが、いつも帰ってくる答えは「いまのところ予定はない」だ。 その理由としてMicrosoftが指摘するのは、Officeのマクロで32bit版でないと動かない場合があり、それをArm版Windows上で動かすのは難しい。そしてx86版のOfficeで性能は充分なので、Arm64ネイティブのOfficeを作る理由がないというものだった。 それはそのとおりだと思うのだが、Arm64ネイティブのアプリがあれば性能的にはより有利になる。たとえば、MozillaのFirefoxはすでにArm64版のバイナリがすでに提供されている。それでBasemark Oyが提供しているBasemark Web 3.0を実行してみたところ、x86版のFirefoxではスコアが「181.39だ」ったのが、Arm64ネイティブのFirefoxでは「341.31」と大きな性能向上が確認できた。 こうしたArm64ネイティブ対応はまずはWebブラウザからはじまっており、FirefoxのArm64対応はすでにx86版と同じタイミングで登場するようになっている。 Microsoftが開発中のChromiumベースのEdgeに関しては、α版的な位置づけになるCanary版がすでにArm64ネイティブに対応している。現在のバージョンでは、筆者の環境ではブックマークの同期ができないなどの課題があるが、これはα版であることを考えれば致し方ないだろう。 しかし、すでにCanaryにArmネイティブ版が含まれる以上、今後はそれがデベロッパ版に、そしてベータ版へと拡大していくことは目に見えており、少なくともWebブラウザに関してはまもなくArmネイティブ版を使える環境が整うだろう。 また、ストアアプリに関してはアプリの要件にx86とArmが入っているものは動作した。AppleのiTunesやエディタソフトの秀丸などのブリッジアプリ(デスクトップアプリをストアアプリ化したもの)もx86が動作要件になっていれば動いた。逆にAdobe Lightroomのようにx64が動作要件になっている場合にはそもそもインストールできなかった。

x86版Officeを利用したベンチではデュアルコアPentiumより性能は上 最後に、Surface Pro Xとその搭載SoCであるMicrosoft SQ1の性能をベンチマークで確認していこう。 PCのベンチマークには最新版のベンチマークを使うのが常道だが、そうしたベンチマークの多くは64bit版に移行しており、Arm版Windows上では動かない。さらに、Armネイティブなベンチマークというのもいまのところは存在していないため、必然的に32bitのx86版があるベンチマーク上で行なうことになった。 今回選んだのはPCMarkの1つ前のバージョンとなるPCMark 8だ。PCMark 8にはOfficeアプリを利用して性能を計測するOfficeベンチマーク機能が用意されており、各マシンにテスト時点で最新のOfficeをインストールし、性能とバッテリ駆動時間の2つを計測している。 比較対象として用意したのはSurface Go(Pentium 4415Y、8GBメモリ、128GB SSD)と、富士通 FMV LIFEBOOK UH95(Core i7-8565U、メモリ8GB、256GB SSD)の2台で、前者がKaby LakeベースのデュアルコアCPU、後者はWhiskey LakeベースのクアッドコアCPUとなる。 【表3】検証環境 Surface Pro X Surface Go FMV LIFEBOOK UH95 CPU Microsoft SQ1 Intel Pentium 4415Y Intel Core i7-8565U メモリ 8GB 8GB 8GB ストレージ 128GB(東芝メモリー KGB40ZNS128G) 128GB(東芝 KBG30ZPZ128G) 512GB(WDC PC SN520 SDAPNUW-512G-1016) バッテリ 40Wh 26Wh 25Wh 結果は以下のとおりだ。 想定どおりの内容で、クアッドコアCPUのCore i7を搭載しているLIFEBOOK UH95が圧倒的に速かった。これに対してSurface Pro Xは、Surface Goを上回っており、Surface Goがクロックに制限があるPentiumであることを考えると、デュアルコアのCoreプロセッサと同程度の性能を有している考えられる。 そして、バッテリ駆動時間のテストでは、ひたすらOfficeアプリを動かしながら何分バッテリで動くのかをバッテリが残り20%になるまで計測される。ただし、言うまでもなく、バッテリ駆動時間は、システムにどの程度の容量が搭載されているのか変わってきてしまう。 そこで今回は、 平均消費電力＝バッテリ÷バッテリ駆動時間 で求めることができる平均消費電力を計算してみた(実際にベンチマークテストはバッテリ残量20%でテストが停止するので、システムのバッテリのうち容量の80%を利用していると想定して計算している)。この平均消費電力は、低ければ低いほどシステムの電力効率がいいということを示しており、同じバッテリ容量であればより長時間のバッテリ駆動時間を示す数値となる。 結果から言えば、Intelのプロセッサを搭載した2製品(FMV LIFEBOOK UH95とSurface Go)はいずれも5W弱～5.5Wとなっているのに対して、Surface Pro Xは4.1Wと1W前後の差が出ていた。 これは、もし仮に同じ40Whのバッテリがあれば、Microsoft SQ1を搭載したSurface Pro Xは10時間近く駆動できることを意味し、Intel系の2製品は7～8時間しか駆動できないことを意味する。 Intel系の2製品がフルHDで、Surface Pro Xが3Kとより高解像度でパネルの消費電力がより大きいことを考慮すれば、実際にはもっと差がある可能性もある。 このテストの結果を見るかぎり、QualcommがSnapdragon 8cxやMicrosoft SQ1は、Intelのプロセッサよりも低消費電力であると根拠を持ってアピールしているとわかるだろう。