正論なんて諭んないで

cordx56のブログです

Surface Pro Xを買いました。

こんにちは。

Windows on Armの機運が高まったのでSurface Pro Xを買ってしまいました。 機運が高まったってなんだ?

使えるアプリケーション

このページを読んでいる方には釈迦に説法かもしれませんが、今のところArm版Windowsではx64アプリケーションは動作しません。 将来的にはx64アプリケーションもエミュレーションで動作するようになる予定です。

blogs.windows.com

上のブログによると11月にロールアウトされるWindows Insider Programでx64エミュレーションが利用可能になるとのことです。

では現状では一体どういったアプリケーションであれば動作するのでしょうか。

Arm64ビルドされたアプリケーションは当たり前ですが動作します。 ただ、これはかなり少ないため、現実的ではありません。 サードパーティーでArm64ビルドが提供されているのは、私の知る限りではFirefoxのみです。

では全然既存のソフトウェア資源が利用不可能かというとそんなことはなく、x86アプリケーションであればエミュレーションで動作します。 エミュレーションなのでパフォーマンスはよくありません。 そのため、Arm64ビルドがあればそれを利用し、なければx86ビルドを利用する、というのが基本的なやり方になります。

とはいえ具体的にどういったアプリケーションが利用できるのかが気になるところかと思います。

参考までに、私が日常的に利用している以下のアプリケーションについては動作を確認しました1

Firefox: Arm64ビルドあり
Slack(32bit版): x86エミュレーションで動作
Discord: x86エミュレーションで動作
OBS(32bit版): x86エミュレーションで動作
GIMP(32bit版): x86エミュレーションで動作
CLIP STUDIO PAINT(旧バージョン32bit版): x86エミュレーションで動作
7zip(32bit版): x86エミュレーションで動作
Windows Terminal: Arm64ビルドあり
VScode: Arm64ビルドあり

x86エミュレーションでも使い勝手はそんなに気にならないと思います。 クリスタはちょっともさっとしている印象を受けましたが、まぁそれくらいですね。

開発環境

WSL2

WSL2についてですが、結論から言うとそのままではエラーが出て利用できませんでした。

手元の環境では、Windows Insider ProgramのDevチャネルを導入して初めて正常に動作しました。 バージョン2004、ビルド20241.1000で正常にWSL2が利用できています。

ただ、やはり通常のWindowsに比べて諸々の挙動が怪しいです。 例えば、codeコマンドなどが正常に動作しなかったりします。

Docker

WSL2上でDockerを動かすことができました。

docs.docker.com

上のリンクのインストールガイドのarm64に従いDockerをインストールして、下記コマンドを実行します。

$ sudo service docker start
$ docker run -it --rm -p 80:80 nginx:1.18

nginxサーバがDocker上で立ち上がります。

開発に使うアプリケーション

VScodeWindows Terminalは先述の通りArm64ビルドが存在しています。

総評

普通のパソコンとして使うにはちょっと難点が多いかなという気がします。 そりゃそうか。

ただ、電池持ちがよくLTE接続ができるWindowsとなると現状Surface Pro X一択だと思うので、興味のある人は買ってみるとよいのではないでしょうか。

同じArmプロセッサだとM1のMacBook Airは気になりますね……


  1. これらのアプリケーションの動作を保証するものではありません。参考程度にしてください。