Windows 開発キット 2023を買ってみた

2022.10.31

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

しばたです。

先週発売されたWindows 開発キット 2023を購入したので各種開発ツールのArm対応状況をしらべてみました。

Windows 開発キット 2023 とは?

Windows 開発キット 2023 (旧称 Project Volterra)はArm版Windowsアプリケーションの開発のためのPCです。
「開発キット」の名を冠してますがシンプルにArm CPUを積んだWindows 11デバイスであり、発売までの経緯についてはITmediaのこちらの記事が参考になるでしょう。

発売当初に日本国内での価格設定を間違うトラブルもありましたが、適正価格に戻った瞬間に購入したところ無事週末に届きました。 *1

デバイス周りの話はおそらく日本で一番Windows on Armと向き合っているであろうしばやん先生のブログが詳しいのでそちらをご覧ください。

本記事では主に私が使う開発ツールのArm対応状況を解説しようと思います。

Windows 11 on Armのx64エミュレーション

Windows CEなどのモバイルデバイスを除けばSurface RTが最初のWindows on Armだった記憶です。
当時は他CPUのエミュレーション機能はありませんでしたが、

  • Windows 10 on Armでx86バイナリ変換
  • Windows 11 on Armでx64エミュレーションおよびArm64EC

が実装されx64向けアプリケーションも実行可能となっています。

開発ツールの動作確認

ここから本題に入ります。
私が普段使う開発ツールのArm対応状況と簡単な動作確認結果を共有していきます。

Windows Terminal

Windows 11なのでWindows Terminalはデフォルトでインストール済みです。
Armネイティブアプリでした。

全然知らなかったのですがMicrosoftストアアプリがArmネイティブ対応していたのですね...
この開発キットはその動作確認のためにも必要なんでしょう。

Windows Package Manager CLI (winget)

wingetもデフォルトでインストール済みでArmネイティブで動作します。
Armに対応しておりマニフェストにArm用の設定がされているアプリであれば問題なく利用できます。

Visual Studio Code

Visual Studio Codeは以前からArm版が提供されています。

インストール手順および基本的な動作に関してx64版と何も変わりありませんでした。

Visual Studio

Visual Studioに関してはVer.17.4から正式にArm対応の予定とのことで、本日時点ではPreview版のみArm版が利用可能です。

Arm64 Visual Studio 2022 17.4 and later are supported on the following 64-bit ARM operating systems:
* Windows 11 version 21H2 or higher

通常版とプレビュー版でインストーラーが異なるのでご注意ください。

ちなみにVisual Studio Installerはx64アプリでした。

WSL2

WSL2も特に問題なくあっさり利用可能でした。
以下のコマンドでさっくりインストールできます。

# wsl --installであっさりインストール
wsl --install

# インストール後は要再起動
Restart-Computer -Force

当然ですがWSL2の軽量VMもArmとなります。

Docker Desktop および Docker

Docker Desktop for WindowsはArm非対応です。

一応インストールを試みましたが初回起動時の設定でエラーになります。

execvpe wsl-bootstrap failed 8

ただし、WSL内部にdockerをインストールし使う分には問題なく利用できます。

とはいえArmイメージでないと駄目なのでそれなりに苦労するとは思います。

Rancher Desktop (containerd)

私個人として最近のDocker社の方策に納得できないところがあり *2個人で使うツールはDocker DesktopからRancher Desktopに切り替えています。

Rancher DesktopもDocker Desktop同様に初回起動時の設定でエラーになりました。

Error: wsl.exe exited with code 1

Git for Windows

Arm版のGit for Windowsはまだありませんでした。
x64版をインストールしてみましたが特に問題なく動作しました。

ちなみに公式サイトからダウンロードしようとすると32bit版が選ばれるのでArm環境で64bit版が欲しい場合はGitHubからダウンロードすると良いでしょう。

PowerShell 7

PowerShell 7は主にIoT系向けにArm版が提供されているのですがインストーラーは無くZipファイルのみの提供となっています。
Windows 11 on Arm環境ではストアアプリ版を使うとお手軽にArm版PowerShell 7を利用できます。

ストアアプリ版PowerShellではAllUsersなプロファイルが利用できない制約があるのでそこだけご注意ください。

AWS CLI (v2)

AWS CLIはWindows向けにはx64版のみの提供です。
MSIインストーラーからインストールし、特に問題なく使えました。

aws-vault

AWS CLIで使うアクセスキーの保存用にaws-vaultを使っています。
Windows版のaws-vaultはx86版とArm64版が提供されており、Arm版を試したところ特に問題なく使えました。

Session Manager plugin for the AWS CLI

Session Manager plugin for the AWS CLIはx64版のみの提供です。
AWS CLIと併せて特に問題なく利用できました。

AWS Tools for PowerShell

AWS Tools for PowerShellはCPUアーキテクチャに依存しないため特に問題なく使えました。

Amazon WorkSpaces Client

Windows用のAmazon WorkSpaces Clientはx64版とx86版があり、新しいバージョンはx64版のみの提供です。
今回x64版クライアントをインストールしWSPプロトコルでUbuntu 22.04イメージを動作させてみましたが、気持ち動作にラグがある様に感じたものの利用自体に問題は出ませんでした。

なお、今回USBリダイレクトは試していません。

(予定) Amazon AppStream 2.0 Native Client

AWS側環境を作ったあとで試す予定です。
これまでの結果からx64エミュレーションで問題なく動作するとは思います。

Terraform

Windows用Terraformはx64版とx86版のみの提供です。
x64版をダウンロードして試しましたが特に問題なく利用できました。

自作ツールのTerraformUtilに関してはCPUアーキテクチャ判定を厳密にしてしまったためTerraformバイナリのダウンロード処理で不都合が出たので処理を見直そうと思います。

tflint

tflintはTerraform本体同様x64版とx86版のみの提供ですがx64版で問題なく動作しました。

tfsec

tfsecはWindows Arm64向けバイナリが提供されているのでそのままダウンロードして利用可能です。

最後に

以上となります。

以前Surface RTを購入していたのでWindows on Armに対して不安があったのですが全然問題なく使えています。
全部x64エミュレーションのおかげです。

私はもともとWindows on Arm用のPowerShell 7と自作PowerShellモジュールの動作確認のためにこのキットを買ったのですが、これなら普段の業務でも問題なく使えそうです。
既に「買って良かった」となっているので非常におすすめできるデバイスです。

脚注

  1. 札幌在住なので届くのが遅いのです...
  2. あくまで柴田個人の思想でありクラスメソッド社としての表明ではありません。DevelopersIOの様な場で意見を表明すると悪意をもって解釈されることがあるのでくどい様ですが念を押しておきます。