LoginSignup
22
18

More than 3 years have passed since last update.

ARMベースのSurface Pro X買って開発環境構築

Last updated at Posted at 2020-02-02

はじめに

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環境)で動作する開発環境については、別記事にまとめています。
- ARMベースのSurface Pro X買って WSL2でARM64 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以降でサポートされています。英語ですがこちらの記事が参考になります。
- Running Hyper-V in Windows on ARM

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インストーラ)

2020-02-02.png

2020-02-02 (3).png

なお、ARM64に対応したアプリの開発に関しては、こちらが詳しいです。

WSL1

Windowsの機能の有効化または無効化からWindows Subsystem for Linuxが普通に有効化可能です。有効化が完了したら、Microsoft Storeから必要なLinuxディストリビューションをダウンロードして実行します。こんな感じでarm64版のportが動作しています。

2020-02-02 (2).png

WSL2, docker

こちらが詳しいです。私も今はWSL2 + VSCode + dockerを常用しています。

新しいMicrosoft Edge

普通にこちらのサイトにアクセスし、Windows 10版をダウンロードすれば、問題なく動作します。
要は、32bitアプリなのでエミュレーションで動作しますよ、という話です。

edge32.png

拡張機能(プラグイン)も自分が使っている範囲では特に問題なく動作しています。

エミュレーションしているのだから当たり前ですね。

なお、ARM64版の新しいMicrosoft EdgeはMicrosoft Edge Insider Channelからダウンロード可能です。

少しわかりにくいのですが、例えば、Canaryチャネルのダウンロード(Windows 10)を選ぶことで、(ダウンロード時 or インストール時に)ARM64環境であることが自動的に認識され、ARM64版Edgeがインストールされます。タスクマネージャーでも 32ビット 記載のないEdgeが動作していることがわかります。

edge64.png

動かなかった

Hyper-V (Build 19559以降でサポート)

上記の「動いた」をご覧ください。
Windowsの機能の有効化または無効化を見ても、(Windows 10 Proにアップグレードした)ARM版でもHyper-Vの項目はありませんでした。ただし、仮想マシン プラットフォーム自体は両方に存在しています。

Intel版Windows 10 Pro ARM版Windows 10 Pro
2020-02-03.png 2020-02-03 (2).png

Power BI Desktop

Microsoft Store版ではなく、こちらからダウンロード可能な(Intel)ネイティブ版が動作しません。

32bit(x86)版をダウンロードし、起動するとバナーが表示されるのですが、画面が表示される前にクラッシュしてしまいます。

Visual Studio 2019 (Xamarin)

Visual Studio 2019は動いたの項にも載せたのですが、Xamarinを使ったAndroidアプリがビルドできていません。詳細はまだちゃんと追えていませんが。

おわりに

エクスプローラを開くと、Cドライブには、Program Files (Arm) なるフォルダがありました。ここいらのものはARMネイティブということのようです。それでは。
explorer.png

22
18
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
18