Surface Pro Xを買ったので、必要な環境整備を行ったメモです。
購入を検討している人の参考になれば。
ほかの方も書かれてました。→ ARMベースのSurface Pro X買って開発環境構築
Surface Pro X
技術仕様はこのあたり。
CPUがARM64で、x64なアプリケーションは動きません。x86(ia32)はエミュレーションで動きます。エミュレーションなので速くはないです。なので、ARM64用ビルドがあればそれを使い、ないものはx86用のものを使う方針となります。
結論から
- VSCodeはx86エミュレーションで動きます。
- Kindle for PCはx86エミュレーションで動きます。
- WSL2動きます。ARM64でLinux動きます。
- Docker動きます。ARM64でコンテナ動きます。
- ただしARM64用のDockerイメージが提供されていないことが多いです。
目次
- WSL2
- Docker on WSL2
- VSCode
- Kindle for PC
追記予定
WSL2
手順は以下の通り。通常のx64と変わりなく、公式のドキュメント通りです。
- Windows Insider Program を有効にする(スローを選択)
- Windowsの機能「Linux 用 Windows サブシステム」「仮想マシンプラットフォーム」を有効にする
- WSLのデフォルトバージョンを
2
にする - Windows Store から Ubuntu をインストールする
- Ubuntu を起動する
Windows Insider Program を有効にする(スローを選択)
[設定] => [更新とセキュリティ] => [Windows Insider Program] => [開始する] => [スロー(推奨)]
再起動後、Windows Update で適用できます。
Windowsの機能「Linux 用 Windows サブシステム」「仮想マシンプラットフォーム」を有効にする
PowerShell を管理者権限で起動して、次のコマンドを実行、マシンを再起動します。
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
WSLのデフォルトバージョンを 2
にする
WSLのディストリビューションごとに使用するWSLのバージョンは選べますし、後から変更することもできますが、私はWSL2しか使わないので、はじめからWSL2で初期化してくれた方がありがたいです。
コマンドプロンプトで次を実行します。
wsl --set-version <Distro> 2
Windows Store から Ubuntu をインストールする
「Ubuntu」「Ubuntu 16.10」「Ubuntu 18.04」とありますが、特にこだわりがなければ「Ubuntu」でよいと思います。これはその時点の最新のLTS版、つまり現在は「18.04」ということです。新しいLTSが出たら、新規インストールする際にはその版が、インストール済みのものは sudo do-release-upgrade
でアップグレードすることになります。
Ubuntu を起動する
起動すると初期セットアップが実行され、それが終わると使うことができます。
ARM64(AArch64)で動いていることを確認できます。
Docker on WSL2
通常通り、Ubuntu 18.04 へのDockerインストール方法そのままです。
Get Docker Engine - Community for Ubuntu
WSL2で動かすとき特有のはまりどころとして初回 /etc/init.d/docker start
が必要です。
Docker Composeはこだわりがなければ apt-get install docker-compose
しちゃうのが楽です。
一点注意として、ARM64で動いているLinuxなので、DockerコンテナもARM64で動きます。
コンテナ中でx64用のバイナリを使ってたりすると失敗するので、気をつけてください。
僕はEntryKitで wget https://github.com/progrium/entrykit/releases/download/v0.4.0/entrykit_0.4.0_Linux_x86_64.tgz
してるものがあり、これについては自前でARM64用にビルドする必要がありました。(こちら)
VSCode
Issueは立っているようですが、現状ではARM用のビルドは提供されていません。
VSCodeのサイトの「Other platforms」にある32bit版(IA32)インストーラをダウンロードしてインストールします。
WSL2に接続
「Remote - WSL」アドオンをインストールすると、「WSL TARGETS」にインストール済みのWSLディストリビューションが表示されるので、接続します。
こちらも問題なく利用できました。
Kindle for PC
開発ツール?技術書読むのとか・・・
iPad版などと比べると使い勝手悪いですが、タブレットモードでもまぁまぁ使えます。
Kindle無料アプリの「PC & Mac」より。