はじめに
LTE/4Gでインターネットに常時接続可能で(しかもGoogle Fi SIM使えばほぼ世界中でネット接続可能)、Type-Cで(モバイルバッテリーからも)充電ができて、バッテリーの持ちがそこそこ良くて、軽くて、ペンが使えて ... RAMも(iPad Pro 1TB版のような6GBではなく)16GBあってということで、Surface Pro X購入しました。
ARMベースのWindowsでx86ベースの32bitアプリであればWOA(Windows On ARM)でエミュレーション動作するものの、現時点では64bitアプリが動きませんが、どの程度困るのか、検証してみました。あくまでも書いている時点の一ユーザーのやってみた記録であり、SurfaceのメーカーやOSベンダー、アプリケーションベンダーが保証する内容では全く以てないことを先に申し上げておきます。また、状況がかなり変化して記述が古くなってしまっているので、近いうちに内容をアップデートするようにします(2020/10/24追記)。
なお、ARM64版WSL2(やdocker, Hyper-V上のLinux環境)で動作する開発環境については、別記事にまとめています。
動いた
Adobe Creative Cloud
Adobe Creative Cloudのデスクトップ版アプリの最新版は64bitで、32bitアプリの最終版はバージョン4.9とのことで、バージョン4.9をどこからダウンロードすればよいか悩んだものの、結局、普通にWindows版のCreate Cloudインストーラを実行すれば、Surface Pro X上では32bit版が自動的にインストールされました(4.9.0.504)。
Android Studio
下に挙げているようにWindows 32bit版が動作しますが、公式ブログ(Moving Android Studio and Android Emulator to 64-bit versions)にもあるように、32bit版のAndroid Studio IDE、Android Emulatorが2020年末を以てサポート停止になることに注意が必要です。
Windows 32bit版がこちらで提供されているので、ダウンロードの上、zipファイルを展開し、android-studio\bin\studio.exe を実行すれば起動します。
以前(64bit版のWindowsで動作するAndroid Studio 64bit版で)開発したアプリをビルドしようとしたところ、Could not reserve enough space for object heapと怒られてしまったので、gradle.propertiesファイル内の
org.gradle.jvmargs=-Xmx1536m
というJava VMに渡している最大ヒープ指定を(そもそも32bit版のJava VMで動作するのだから)
org.gradle.jvmargs=-Xmx150m
といった感じに小さめに取ってみたら(gradleのバージョンを更新した上で)問題なくビルドできました。
なお、(問題が出そうなポイントでもある)実機との連携ですが、Pixel 4 XLとの連携では特に問題なく動作しているように見受けられます。独自のドライバが必要なケースでは、連携に問題が生じるのかもしれません。
Hyper-V (Build 19559以降でサポート)
Insiders Build 19559以降でサポートされています。英語ですがこちらの記事が参考になります。
Microsoft Office (Office 365)
こちらは明示的に32bit版をダウンロードしてインストールで動作しています。
Microsoft Teams
Web版のTeamsの画面(https://teams.microsoft.com/ )の左下からデスクトップ アプリをダウンロードクリックしても、インストーラーの起動時にコケてしまうので、こちらのダウンロードサイトの下方にあるWindows 32ビットからダウンロードしてインストールする必要があります。
iTunes
Microsoft Store版のiTunesがダウンロード、使用可能です。自動的に(ARM64版がないので)x86版がダウンロードされます。むしろ、インストーラ版のiTunesは32bit Windowsのものをインストールしようとしても、(OSが64ビットなので)エラー表示がされインストールできないので、Microsoft Store版一択です。
Visual Studio Code
こちらも普通にWindows版ということでインストールしてしまうと、64bit版をインストールしようとして失敗してしまうので、こちらのサイトから明示的に32bit版(例えば、Windows→System Installer→32bit)をダウンロードして、インストールします。
Visual Studio 2019
こちらは(VSCodeと違ってそもそも)32bit版しかないので、普通にWindows版をダウンロードして、インストール可能です。
ただし、個別のコンポーネントに関しては、64ビットで動作するものがインストール可能なコンポーネントとして出る・出ないの区別があるようです(上はSurface Book 2上のVisual Studio 2019インストーラ、下はSurface Pro X上のVisual Studio 2019インストーラ)
なお、ARM64に対応したアプリの開発に関しては、こちらが詳しいです。
- Surface Pro X (ARM64) に対応したアプリケーションを作る - https://blog.shibayan.jp/entry/20191004/1570123993
WSL1
Windowsの機能の有効化または無効化からWindows Subsystem for Linuxが普通に有効化可能です。有効化が完了したら、Microsoft Storeから必要なLinuxディストリビューションをダウンロードして実行します。こんな感じでarm64版のportが動作しています。
WSL2, docker
こちらが詳しいです。私も今はWSL2 + VSCode + dockerを常用しています。
- Surface Pro X (ARM版Windows10)への WSL2 (+開発ツール)インストール - https://qiita.com/takeyuweb/items/f92ef14f750def6c862b
新しいMicrosoft Edge
普通にこちらのサイトにアクセスし、Windows 10版をダウンロードすれば、問題なく動作します。
要は、32bitアプリなのでエミュレーションで動作しますよ、という話です。
拡張機能(プラグイン)も自分が使っている範囲では特に問題なく動作しています。
エミュレーションしているのだから当たり前ですね。
なお、ARM64版の新しいMicrosoft EdgeはMicrosoft Edge Insider Channelからダウンロード可能です。
少しわかりにくいのですが、例えば、Canaryチャネルのダウンロード(Windows 10)を選ぶことで、(ダウンロード時 or インストール時に)ARM64環境であることが自動的に認識され、ARM64版Edgeがインストールされます。タスクマネージャーでも 32ビット 記載のないEdgeが動作していることがわかります。
動かなかった
Hyper-V (Build 19559以降でサポート)
上記の「動いた」をご覧ください。
Windowsの機能の有効化または無効化を見ても、(Windows 10 Proにアップグレードした)ARM版でもHyper-Vの項目はありませんでした。ただし、仮想マシン プラットフォーム自体は両方に存在しています。
Intel版Windows 10 Pro | ARM版Windows 10 Pro |
---|---|
Power BI Desktop
Microsoft Store版ではなく、こちらからダウンロード可能な(Intel)ネイティブ版が動作しません。
32bit(x86)版をダウンロードし、起動するとバナーが表示されるのですが、画面が表示される前にクラッシュしてしまいます。
Visual Studio 2019 (Xamarin)
Visual Studio 2019は動いたの項にも載せたのですが、Xamarinを使ったAndroidアプリがビルドできていません。詳細はまだちゃんと追えていませんが。
おわりに
エクスプローラを開くと、Cドライブには、Program Files (Arm) なるフォルダがありました。ここいらのものはARMネイティブということのようです。それでは。