3 ポイント 投稿者 GN⁺ 2023-09-02 | 1件のコメント | WhatsAppで共有
  • UTMはiOSとmacOSで動作するシステムエミュレーター兼仮想マシンホストで、QEMUベースでWindows、LinuxなどをMac、iPhone、iPad上で実行可能
  • QEMUを使用したフルシステムエミュレーションによりMMUやデバイスなどを扱い、x86_64、ARM64、RISC-Vを含む30種類以上のプロセッサをサポート
  • VGAグラフィックモードはSPICEとQXLを使用し、テキストターミナルモード、USBデバイス、QEMU TCGベースのJITアクセラレーションをサポート
  • macOS 11およびiOS 11+向けフロントエンドとして、デバイス上でVMの作成、管理、実行が可能
  • macOSではHypervisor.frameworkとQEMUを使用したハードウェアアクセラレーション仮想化をサポートし、macOS 12+ではVirtualization.frameworkでmacOSゲストの起動が可能
  • UTM SEは、脱獄やJIT回避なしでiOS上に通常のアプリのようにサイドロードできる“slow edition”で、threaded interpreterを使用することで従来のインタープリターより高速だが、JITよりは低速な方式
    • UTM/QEMUは最大性能のために動的コード生成(JIT)が必要で、iOSデバイスでJITを使うには脱獄、または特定のiOSバージョン向け回避方法が必要
    • UTM SEはサイズとビルド時間の最適化のため、ARM、PPC、RISC-V、x86アーキテクチャのみを含み、それぞれ32ビット版と64ビット版を提供
  • iOS向けUTMおよびUTM SEのインストール案内は https://getutm.app/install/ で提供され、macOS向けUTMは https://mac.getutm.app/ で提供
  • Apache 2.0ライセンスで配布されるが、複数の(L)GPLコンポーネントを使用しており、gstreamerプラグインは静的リンクされ、コードの一部はqemuから取り込まれている点を再配布時に考慮する必要がある

1件のコメント

 
GN⁺ 2023-09-02
Hacker News の意見
  • 数週間前、macOS Ventura を入れた新しい M2 で Fusion の代替にしようと、Windows 11 ARM を UTM でインストールしてみたが、期待外れだった
    仮想マシンとホスト間のコピー/ペーストやファイル共有のような統合ツールが動作せず、グラフィックは頻繁に崩れてはグレー画面に移行していた
    復旧方法がなさそうで、仮想マシンを強制再起動するしかなく、ドライバー/補助ツールの日付も 2012 年になっていた
    無料製品なので期待する権利はないし、実際に Fusion に戻ったが、オープンソースで商用の仮想マシンソリューションを置き換えてほしいと考えていた立場としては、まだ難しいと思う

    • コピー/ペーストは間違いなく動作する。一日中行ったり来たりしながら使っている。SPICE ツールをインストールしたか確認してみる必要がある
      https://docs.getutm.app/guest-support/windows/#windows-xp-an...
      グラフィックの不具合も見たことはないが、ゲームをしようとしているわけではなく、基本的なデスクトップアプリだけを使っている
    • UTM をかなり優秀な QEMU ラッパーとして使っていて、そう扱えば素晴らしい
    • Fusion で Windows ARM 仮想マシンへのコピー/ペーストと共有フォルダーが動作するのか気になる。最後に確認したとき、VMware Tools はまだそれらの機能をサポートしていなかった
      追記: Fusion 2023 Tech Preview [1] は完全な VMware Tools をインストールし、コピー/ペーストをサポートしている
      1. https://customerconnect.vmware.com/downloads/get-download?do...
    • 驚きではない。OpenGL が動作しないからだ。最近の多くのアプリが OpenGL を使っていることを考えると、かなり使い物になりにくい
    • MS RDP ツールで接続すれば、より良い使用感になるかもしれない
  • UTM は素晴らしく、スナップショット機能が追加されれば [1] 定番のおすすめにすると思う。それまでは Parallels を使い続けるつもりだ
    ちなみに非公式のスナップショットマネージャーがある [2]
    1: https://github.com/utmapp/UTM/issues/5484
    2: https://github.com/Metamogul/UTM-Snapshot-Manager

    • 実システムではなく仮想マシン内で開発する習慣を続けてきて、M1 MacBook Pro で ARM64 Linux 仮想マシンを動かそうと UTM を長く使ってみたが、ファイル共有の問題にずっと悩まされた
      最もよくあった問題は、共有フォルダーがゲスト仮想マシンから突然消え、それを復活させるために回避策を頻繁に使わなければならなかったことだ
      その後 VMWare Fusion でも同じ問題があり、Parallels は高すぎるように見えたので Lima に移行した
      Lima を知ることができてよかった。これも QEMU ベースで、Linux 仮想マシンを簡単に立ち上げられ、ネットワーク共有を標準で提供している
      今はすべての開発を Lima 仮想マシン内で行っており、問題はない。必要なら画面転送もできるだろうが、今は VSCode のおかげでヘッドレスインスタンスで十分だ
    • APFS はすでに、すべてのファイル形式についてコピーオンライトのスナップショットをサポートしている。UTM のスナップショット機能はそれをラップする形になるのだと思う
      cp -c のように簡単かもしれない
      ただ、本当にそうならすでに実装されていそうでもある
    • clonefile で限定的な形のスナップショットをうまく真似できたと言おうとしたが、進行中の実装がまさにその方式を使っていた
    • TPM エミュレーションと ansible/vagrabt をサポートしているのか気になる
  • UTM の最大の問題は、ある人には非常によく動作し、別の人にはひどく動作するという点だ
    このページのスレッドを上下に見ると、「UTM を使いたいのに動作しない、または使い物にならないほど遅い」という発言と、「変だな、自分のところではうまくいっているのに」という返答が同時に多い
    私の場合、UTM は文字どおり一度もまともに動作したことがない。M1 2021 Mac で標準的な Ubuntu ARM のインストールを https://docs.getutm.app/guides/ubuntu/ のガイドどおりに試したが失敗し、今は黒い画面に点滅するカーソルだけを見ている
    残念ながら、うまくいっている人たちは、うまくいかない人たちに実質的な技術サポートをほとんど提供できない
    Mac App Store で UTM に 10 ドルまで払ったが、技術サポートチャネルは Discord だけで、そこには「笑、自分は動いてるけど。腕の問題でしょ」のような反応が多かった
    おすすめとしては、UTM は一度試してみる価値がある。気に入れば大きく節約できるし、私のようにまったく動かなければ、結局 Parallels に年 100 ドルを払うことになる。Parallels はおそらく普通に動く可能性が高い
    Parallels が動かなければ、ライセンスを更新してもらうインセンティブのある会社と直接話せるし、成功するよう手助けする動機がある

    • 最新の Debian をウェブサイトから入手して使ってみたが、奇妙な問題が 1 つあった以外は問題なかった
      起動用の仮想マシンディスクを一定以上のサイズに設定すると、それも非常に大きいサイズではなく 30GB〜100GB くらいだったと思うが、仮想マシンの起動が非常に遅くなる
      十分大きくすると、まったく起動しない。どんなサイズでも 2 台目のドライブを追加することは、このバグを引き起こさない
    • VirtualBox もある
  • 会社から M1 MacBook Pro を支給されたが、開発はすべて Linux で行っている。90年代後半から Linux が好みの環境だった
    MacBook Pro のハードウェアは良いが、macOS は鈍くて窮屈なので生産性が大きく落ちる
    そこで UTM 上で Fedora aarch64 をフルスクリーンで実行している。かなり快適に動き、Mac の上にいることをしばしば忘れる
    ただ、macOS が邪魔をせず、たまにフルスクリーンモードから弾き出さなければいいのにと思う

    • Fedora Asahi Linux は必ず注目していくと思う
    • Linux から macOS に移る体験は、結局 macOS の問題を我慢して適応するか、サードパーティ製ソリューションで耐えられる程度に直すかのどちらかになる。両方を少しずつやることにもなる
      安定したバッテリー駆動時間を手放すのが惜しくて適応するようになった
      どこかにはフルスクリーンモードを維持してくれる解決策があるのかもしれない
    • 具体的に何のせいで生産性が落ちるのか気になる。Mac で bash ターミナルを開いて使うと、Linux とほとんど同じだと感じる
      たまに慣れたコマンドライン引数をユーティリティがサポートしていないことはあるが、それは Mac/Linux の問題というよりバージョン差に近く、社内の別のマシンに移ったときにも何度も経験した
      最大の悩みは大きくはないが、ARM と x86 の違いだ。たまに ARM でサポートされていないパッケージに出会うが、だんだん珍しくなっている
    • そうやって使うときの性能低下をどの程度と見ているのか気になる。大きくないなら良い解決策に見える
    • Asahi Fedora が数日以内に出ることになっている。希望はある
  • UTM はこの2年間、自分にとって安定した ハイパーバイザーで、その間にいくつもの素晴らしい機能改善も受けてきた
    それでも UTM でいちばん気に入っている点は、Universal Turing Machine の略だということだ。仮想化製品の名前としてはほぼ最高だと思う

  • Parallels と VMWare で嫌いな点は、OS 間の統合を押し出しすぎることだ。たとえば macOS で Windows のウィンドウを開いたり、macOS の書類をそのまま Windows で開いたりするようなものだ
    私は仮想マシンがメインの macOS から 隔離されているほうを好む。だから毎回設定を掘って、何をオフにすべきか探さなければならない

    • Parallels にはセキュリティ設定タブに「Isolate VM from macOS」という単一のオプションがある。すべての相互統合を無効化する
    • Parallels をインストールしたときのことを思い出す。ファイルをダブルクリックするたびに Windows の Notepad で開こうとし続けた
  • GitHub プロジェクト説明に「for iOS」とあるのは分かるが、かなり誤解を招く表現だと思う
    iOS のインストール方法は基本的に脱獄か、最新の CPU/iOS バージョンでは不可能な方式、そうでなければ半テザリング状態で数日ごとにアプリを再読み込み/署名し直す必要がある
    https://docs.getutm.app/installation/ios/#summary

    • Apple 開発者アカウントがあれば、1年間維持されるアプリを サイドロードできる。私はそうして使っている
    • 以前 reprosion というアプリを使ってみたが、iOS デバイス上で署名を処理し、自動化までできる。半テザー脱獄を入れるときに使っていて、制限は7日だ
      アプリ自体を再インストールする必要はなく、署名証明書だけ更新すればよい
      EEA でサイドロードが実装されればずっと簡単になるはずなので期待している
    • 「脱獄は最新環境では不可能」という点を考えるとすごい
      Apple は10億人以上に配布できるハードウェアをうまく作り上げ、そのうち多くの人が脱獄で得るものがあるにもかかわらず、誰も成し遂げられていない
    • 目的がアプリのサイドロードだけなら、半テザー方式は脱獄よりむしろ怪しさが少ないとも言える
      その方式なしでも動作はするが、3つの実行方法のうち最も遅い
    • EU のサイドロードがどう動作するのか早く見たい。きちんと実装されることを願っている
  • Mac で開発環境用の仮想マシンを動かすなら、欲しいのは OrbStack だ: https://orbstack.dev/

    • ベータが終わると、商用利用では開発者1人あたり月額8ドルになる予定だ
    • ほとんどのユースケースには Lima と Colima で十分だと思う
      https://lima-vm.io/
      https://github.com/abiosoft/colima
    • 次のような文言で自分の強みを打ち出すツールにしては、vagrant サポートの不在が目立つ

      どんなユースケースでも、OrbStack はワークフローを簡素化し、より速く動けるようにする機能を提供します

    • これで複雑なネットワーク構成を作れるのか気になる。UTM で最大の不満は、仮想マシンに ネットワークインターフェースを1つしか持たせられない点だ
  • Lima を勧められたが、macOS 用の WSL2 に少し似ている: https://lima-vm.io
    内部で何を使っているのかはよく分からないが、自分には非常によく動作した

    • 仮想マシン作成時に QEMU か Virtualization.framework のどちらかを選べる
      colima は Lima の上に載ったレイヤーで、docker-machine/boot2docker 風に仮想マシンを簡単に設定してくれる
  • UTM は基本的な用途には素晴らしいが、性能があまりに悪く、日常作業の主力としてはあまり現実的ではなかった
    Mac では Parallels に勝るものはなく、十分に価格に見合っている

    • Apple Silicon で x86 仮想マシンを動かすなら性能が悲惨だという点には同意する。これは UTM のせいというより QEMU の問題に近いと確信している
      仮想マシンが aarch64 なら性能は驚くほど良く、UTM を強く勧められる