🤔

Windows 11(Arm) on UTM(v3 beta) on M1 Mac

2022/01/17に公開

背景

Windowsマシンを全部手放して、MacBook Pro(M1 Pro)を投入した。
「これからはParallels買切版でWindows環境補完するぞー」って思って見切り発車したら、Parallels買切版は「CPUは4つまで」という酷い制約がついていた。
困ったところUTMがv3 betaを出していて、Windows 11(Arm版)への対応がそれなりに良くなっている感じだったので、動作確認がてら試したことのメモ。

準備

  • M1 Mac
    • 私はUS配列です。
  • UTM v3 beta
    • 公式サイトはまだv2のため GitHubのリポジトリ からv3 betaを落とす。
    • v2 でも動かないことはないが、いろいろ対応ができてない。
    • 執筆時点ではたしか3.0.4beta
  • SPICE Guest Tools and QEMU Drivers (Windows)
    • UTM のサポートツール。VM側にインストールする。
    • 正式リリースのバージョンで問題ない。
  • Windows 11 Insider Preview
    • 知っての通り、Arm版 Windows 11 は正式リリースされていないので。
    • VDHX形式で落ちてくる。他の記事ではqcow2形式に変換するなどの手順があるが、特に変換しなくても問題なかった。

手順

まずは、UTMを起動する。

VMの準備

UTMの画面から、以下の手順でWindows11のVMイメージを作成する。

  1. Welcome to UTM
    • "Create a New Virual Machine"
  2. I want to...
    • Virtualize
  3. Operating System
    • Windows
  4. Windows
    • Browse
      • 事前に落としたVDHXを指定
  5. Hardware
    • Memory
      • 8192 (MB) : ご自由に
    • CPU Cores
      • 4 : ご自由に
  6. Shared Directory
    • 何も押さずに Next
  7. Summry
    • Name : ご自由に
    • Open VM Settings : チェック入れる
    • Next
  8. VM Settings
    • Display
      • Emulated Display Card
        • virtio-ramfb-gl (GPU Supported)
      • Retina Mode : チェック
    • Save
  9. 起動前に、CD/DVDの欄を選択して、Browse
    • SPICE Guest Tools のイメージをセット

VMの立ち上げ〜インストール

  1. 起動
    • しばらく待つ
  2. 初期セットアップ
    • Windows 11 自体の設定はとりあえず、デフォルトのUS系の設定のまま進める。
      • 日本語化設定は一通り終わった後に変更可能。XPとかではできなかった機能...
      • もしJISキーボードのMacなら、レイアウトは変更しないとダメかも。
  3. デスクトップが立ち上がる
  4. SPICE Guest Tools のインストーラを起動
    • まず先にこれをやる。
    • デスクトップが立ち上がった時点では、まだネットワーク通信が無効のままだったりするが、Toolsを入れると改善する(はず)。
  5. インストールに成功したら「シャットダウン」を実施する。
    • 「再起動」だとエラーになる。

再起動後

  • この時点で日本語化はまだだけど、一通り動くようになる。

以上.


STEAM入れて、Helltakerが動いた。

例の文芸部ゲームはDirectXのインストールを要求された。

インストールしたら起動した。

1/22 追記

スクロールの挙動がMacと一致しない

私はタブレットネイティブじゃないので、タブレット以外のタッチ操作 and マウススクロールも従来仕様の挙動じゃないと気持ち悪いと感じる人間のため、Windows上でのスクロール挙動がMacの設定と逆転してしまう状態にあるので変更したかったが、どうやらUTM側のバグらしい。

大人しく修正されるのを待つ。

MEMO:以下のよく見るレジストリ変更の方法は効かない

1. マウスのデバイス情報(HID\VID_xxx\PID_xxx\xxx)を調べる
2. 「regidit」から探す
	- HKEY_LOCAL_MACHINE
	- SYSTEM
	- CurrentControlSet
	- Enum
	- HID
	- VID_XXX
	- XXXXXX
	- Device Parameters
3. 「FlipFlopWheel」を開く
	- 0 なら 1, 1 なら 0, に変更する
4. 一度シャットダウン -> 起動

2/24 追記

最新が、3.11 beta になってた。
アップデートしたら、スクロールの挙動は改善されたようで何より。
その上、retina対応が進んだのか、なんなのか全体的に描画もより綺麗になったような。

共有フォルダがWebDAV形式でデータ通信される関係か、50MBを超えたZipとかがコピペできなくて不便被った。(実際にゲームをMac側で落として遊ぼうとした)

https://www.mighty-soft.com/2019/02/15/webdav50mb/

ここを参考に値を 50MBから約4GBにした

あと、英語圏設定のままで使っているせいなのか、zipの日本語が全部容赦なく文字化けする。
ファイルシステムが文字化けするのはさすがにめんどくさいから、日本語化設定に切り替えた。
ついでに、システムロケールでUTF-8固定にしたが、やはりZip解凍と従来仕様のアプリで文字が壊れるのでそれは戻した。

3/5 追記

さらに、3.13beta になっていた。

このバージョンで、新規ウィザードに一部リデザインが入ってたのと、間にいくつかの仕様変更があったようなので、同じ手順で出来るか、新規ウィザードを試したが、仮想マシンの起動でエラーを吐くことがわかった。

過去に作った仮想マシンの起動は問題なかった。

4/29(30) 追記

いつのまにかv3.2.0 (Beta)まできていた。

リリースノートには、

Checkbox for "Import VHDX Image" in the wizard now works correctly again

と修正内容が入っていたので、多分ウィザードの件が直されてると思われる。まだ試してない

ウィザード自体はとりあえず動くけど、VMが起動しなかった。以前作ったVMイメージや、正式リリース版のも同様に起動しなかった。

「Error」の一点張り。正式リリース版ならエラーログを報告するなりすべきだろうが、betaを動かしているので、ここでは様子見。

現時点ではv3.2.0 beta では動かなかったが、正式リリース版のv3.1.5だとウィザードが普通に動いたので、今はそっちを使えば問題ない。

あと、相変わらず再起動をかけるとクラッシュする。 (v3.1.5において)

5/4 追記

いつのまにかv3.2.1 (Beta)がリリースされていた。

手元に、この記事を最初に書いた時点のVMイメージと、前回新規で作ったv3.1.5時のVMイメージの2種類があり、前者はブートできたが、後者はブートできずエラーが出た。

qemu-aarch64-softmmu: -netdev vmnet-bridged,id=net0: Parameter 'ifname' is missing

というエラーログ。
とりあえず、このissueに書いてる通り、ネットワーク設定を「Shared Network」に変えたら動いた。ガチャガチャ触っているうちに、Bridge(Advanced)に変えていたみたい。いずれは直ってくれるだろう。

v3.1.5VMイメージ(6 Core / 8GB) をQEMU 7.x で動かした印象としては、以前よりも操作の反応性が高まっているな、というところ。
これだけ快適に感じられるなら、ベンチマークもそれなりのスコアが出るのでは?と思い、そのままCINEBENCH R23 を立ち上げて、計測した。

かの Intel Core i7-2600 のよりやや低い結果。6Coreしか振ってないし、妥当?かも。
(他のサイトを見ると、ノーマルのM1 Macからネイティブ実行した場合のマルチが7000台、シングルが1500台くらいらしい。)

しかし、ベンチマーク動かしてもファンがブン回らず静かなの、改めて良いねって思う。仕事で貸与されているDELLノート、性能だけ見たらマシマシの最高だけど、M1Macのこの静かさには永遠に勝てない気がする。

ベンチマークの参考 があったので置いておく。

wine-crossover-21 との比較

所感で書いた

もっと言えば、ゲームするならCrossOverなりの方がさらにいいと思う(レイヤーが1つ減るだけで体感速度はダンチ)

について、厳密には事情が異なるので、追記しておく。

  • wine-crossover-21
    • メリット
      • 書いたとおり、体感速度はダンチ。UTMの比じゃない。
    • デメリット
      • ちょっとした機能を有効にするために知識がないと四苦八苦する
        • 例えば「レミュオールの錬金術師」のBGMとボイスはデフォルトでは一切鳴らない。ゲーム自体はできる。ボイスが鳴らないのは個人的に致命的。
        • 例えば「RPGツクールMVのゲーム」は数分遊ぶと、スクリプトロードでエラーを頻発して事実上、ゲーム続行不可能になる。そのたびにアプリを再起動する羽目に。
      • ちょっとした機能の不具合を修正するために何をすれば良いのか、について調べるにも結構古いWineの情報がノイズになって答えにたどり着かない。
  • UTM
    • メリット
      • 互換性。とにかく完全に動く。
    • デメリット
      • いくらCPUとMEMを盛ろうが、結局は仮想マシンなので多少なり遅延があるため、アクションゲームは厳しい。
      • サウンド系に、若干ノイズが乗るようになる。耳がいい人はヘッドフォンとかでゲームするにはストレスかもしれない。

wine-crossover / 製品版CrossOver で相性問題など全部解決して動いてくれれば良かったのだが、遊ぶゲームタイトルによっては結構しんどい。特にフリーゲーム勢。ちょっと遊ぼうとおもったのに、調べるだけで休日が飛んだ。悲しい。

ちなみに、winetricksで必要なライブラリ全部いれた環境を1個作っておけば、ほとんどのWindowsAppが動くはず。はずなんだけどね。ゲームになると、とりわけ要求ライブラリが細かいので、しんどいね。環境が完成するまでは。

所感

  • Parallels の買切版を買うくらいなら、UTMで良さそう。

    • 一方、サブスクに課金できるならParallelsの方が絶対いいと思う
    • もっと言えば、ゲームするならCrossOverなりの方がさらにいいと思う(レイヤーが1つ減るだけで体感速度はダンチ)。
  • UTM v2 で動かした時よりは幾分改善されている。

  • 一時的にWindowsが必要になった時に使う分には、十分許容範囲ではあると思う。

    • Arm版だから困るようなシチュエーションは今の所なさそう?
      • そこまでピンポイントで重い作業をWin上で走らせるシチュエーションとは?
      • 【1/22 追記】paint.net を使うのに良さげ。ぶっちゃけ、Pixelmater Proが半額セールしたら乗り換えても良いかも。自分のジョブにデジタルアート/デザイン系のそれがない以上、Adobeである必要性が皆無なので。
  • 思いついたら、追記。

Discussion