tmytのらくがき

個人の日記レベルです

Windows 開発キット 2023っていうの買いました

Windows 開発キット 2023 っていうやつを買いました。DevKit 2023のほうが呼びやすくていいですね。

BUILDでProject Volterraとして発表されたやつがようやく販売開始した感じなんですが、日本も対象でびっくりしました。*1 販売開始当初、Microsoft Storeで99万とか99円とかで一瞬話題になりましたね。

www.microsoft.com

10月26日に在庫が復活したので注文したところ、価格設定ミスってたこともあって発送がぐちゃぐちゃになっていたらしく配達予定は28日でしたが実際届いたのは11月1日でした。

スペックを引用しておくとこんな感じだそうです。

- 32GB LPDDR4x RAM and 512GB fast NVMe storage
- Snapdragon® 8cx Gen 3 compute platform
- Ports: 3x USB-A, 2x USB-C, Mini-Display (HBR2 support), Ethernet (RJ45)

あとから知ったんですが、実装RAMが32GBなことにびっくりしました。

感想

Arm64で動くWindowsなだけでなんも変わらないですね…  Snapdragon 8c以降はCPUが仮想化対応になったのでHyper-Vも動きます。Hyper-Vが動けばWSL2も動きます。

ソフトウェア面では、最近はVSCodeもArm64で動くし、Visual StudioもまだPreviewですがArm64で動作します。 2019年頃はまだx86エミュレーションで実行されていたOfficeやOneDriveも今ではArm64で動くようになりました。3年前よりArm64でコンパイルされたバイナリもかなり増えてきた印象です。

SlackやDiscordのようなサードパーティーのアプリケーションはArm64版Windowsバイナリを提供してくれないことが多くエミュレーションで実行されます。ただ、Arm64上のバイナリエミュレーションはそれなりにはがんばるので心配するほどは遅くないです。*2とはいえ、エミュレーションのChromiumとv8で動作するElectronよりはブラウザでアクセスしたほうが速いかもしれません…*3

x86エミュレーションでADBも使えるのでAndroidデバッグできます。*4

Seeeduino Xiaoを接続したところ、ちゃんとシリアルデバイスとして認識され、Arduino IDEコンパイルから書込みまで成功しました。

最近はデバイスドライバ周りもUniversal対応になっているものが増えてきたので、C630を買ったころよりはるかに環境が整備されました。

おもしろポイント1

おもしろポイント1は、Arm64でWindows動作しているのでWSAももちろんArm64で動作します。

[ro.product.cpu.abi]: [arm64-v8a]
[ro.product.cpu.abilist]: [arm64-v8a,armeabi-v7a,armeabi]
[ro.product.cpu.abilist32]: [armeabi-v7a,armeabi]
[ro.product.cpu.abilist64]: [arm64-v8a]

Arm64でWSAが動くメリットは、Unityのil2cppでコンパイルされたバイナリがx86_64版のWindowsより安定して動いている感がありました。あと心なしか動作が早い気もする、ただ計ったわけではないです。

ただ考えてみるとArm64で動いてるWSAって、それHyper-Vで仮想化されてるただのAndroidやん……という話なのでそりゃはやいじゃんという話ではあります。

おもしろポイント2

おもしろポイント2は、中身はほとんどSurfaceだそうです。たぶんSQ3のSurface Proから画面とモデムと電池をとっぱらった結果なんじゃないでしょうか。

UEFISurfaceのものが動いているようなのですが、USB-Cで接続するとUEFI画面が表示されないのでどんなのが出ているのでしょうか… miniDP to HDMIなアダプタが手に入ったら確認してみます。

そのほか

セットアップはさすがにリモートではできない…のだけど余っているディスプレイはないので数年前に流行ったHDMIをUVCで接続できる2000円ぐらいのアレ*5で画面をみてたんですがやっぱしまぁまぁ便利ですね。1個持っとくといい。

キーボードとかの接続もめんどくさかったのですが、LenovoThinkPad トラックポイント キーボード IIが2.4GHz無線とBluetoothのデュアルスタックなのでこういう時に1枚持っていると便利でした。*6

OOBEはネットワークが必須になったバージョンでした。ローカルアカウントを1回作りたい派なので、Shift+F10で OOBE\BYPASSNRO してI get kotonakiです。

このあとMSAログインに切り替えたのですが、その時にパスワードログインが無効になってしまうので有効にしたあと一度パスワードでログインしてあげないとリモートからログインできませんでした。地味にはまりポイントです。

あと結構謎な動きをしたのが、Final Fantasy XIV 暁月のフィナーレベンチマーク(x64バイナリ)を実行したところ、ベンチマークシーンの開始5秒付近でなぜかマシンがリセットしてしまいます。イベントログを見ると、予期しないシャットダウンでした。ということなので予期しないシャットダウンらしいのですがなんのこっちゃわかりません。エミュレーションの過程で変な命令とか叩いてうっかり死んでしまったのでしょうか。そもそも動作対象外の環境なのでこれ以上は詳しく調べることはしませんでした。

このPCはここまでの設定をしたのちに、電源ケーブルだけ接続された状態で部屋の隅に押し込まれたのでした…

*1:前のSnapdragon DevKitって言ってたやつは北米だけだったはず

*2:Ryzen 9 4950XみたいなハイエンドCPUと比較するともちろん遅いです。

*3:ちなみに、2022年11月現在ChromeもArm64版が提供されていません。EdgeはArm64ネイティブなのでChromeを使うよりはEdgeを使ったほうが速いですね

*4:もちろん、WSAで動作している自分自身にもadb接続できます。

*5:https://www.amazon.co.jp/dp/B0936Q2G5G/

*6:今思えば何も考えずに接続したけど普通に使えてました。ドライバ大丈夫かな…とか何も考えてなかった