macOS 13 VenturaではVirtualizationフレームワークのアップデートにより、MetalやEFIブートローダー、MacのTrackpad、ディレクトリ共有などがmacOS/Linux VMで可能になるそうです。詳細は以下から。
Appleは2020年にリリースしたmacOS 11 Big Surで、IntelおよびApple Silicon搭載のMacでLinuxベースの仮想マシン(VM)の作成を簡単に行えるよう「Virtualizationフレームワーク」を導入し、2021年にリリースしたmacOS 12 Montereyでは、Apple Silicon MacでmacOSの仮想化[1, 2]も可能になりましたが、
現在開催されているWWDC22のセッション「Create macOS or Linux virtual machines」によると、今年リリース予定のmacOS 13 Venturaでは、このVirtualizationフレームワークが大幅にアップデートされるそうです。
macOS 13 Venturaでの仮想化
AppleでVirtualzaiotnエンジニアを務めるBenjamin Poulainさんによると、macOS 13 Venturaでは、AppleがmacOS 11 Big Surで導入した仮想マシンの作成や管理を行うことができるハイレベルAPI「Virtualizationフレームワーク」がアップデートされ、
The Virtualization framework provides high-level APIs for creating and managing virtual machines (VM) on Apple silicon and Intel-based Mac computers.[…]The framework supports the Virtual I/O Device (VIRTIO) specification, which defines standard interfaces for many device types, including network, socket, serial port, storage, entropy, and memory-balloon devices.
Virtualization – Apple Developer Documentation
まず、Apple Silicon Mac上でのmacOS VMではmacOS 12 MontereyでサポートされたMetalによるGPUアクセラレイションに加え、Macユーザーに人気のトラックパッドがmacOS VMでサポートされ、VZMacTrackpadConfigurationを利用することで、ユーザーはmacOS VM内でもトラックパッドを利用した回転やピンチなどのMulti-Touchジェスチャーを行うことが可能になります。
また、macOS 12 Montereyでは、ホストとゲストOS間でのディレクトリ共有が可能なVirtioファイルシステムをサポートしたことで、Linux VMとファイルを共有することが可能でしたが、macOS 13 VenturaではmacOS VMでもディレクトリ共有がサポートされ、macOS VM/ホストOSで行った変更変更が即座にホスト/macOS VMに反映されるようになります。
Linux
次に、Linux VMですが、macOS 13 Venturaでは業界標準のEFIブートローダがサポートされ、これにより、USBドライブにあるインストーラーを検出できるようになる他、Virtio GPU 2Dがサポートされ、Linuxがホスト(macOS)にディスプレイ・サーフェイスを提供することが可能になっています。
そして、最後にLinux VMではAppleが開発するバイナリトランスレータ「Rosetta 2」がサポートされ、macOS 13 Venturaを搭載したApple Silicon Mac上のARM Linux VMで、Linux x86-64バイナリが動作できるようになります。
ARM Linux VMで、Rosetta2を利用しx86-64バイナリを動作させるには、Rosetta共有ディレクトリをマウントし、update-binfmtsコマンドでx86-64バイナリをarm64バイナリへ変換する必要があるそうですが、Dockerも昨年からVirtualizationフレームワークのサポートを実験的に行っているため、今後*様々な開発環境で応用が期待できそうです。
- Virtualization – Apple Developer Documentation
- Create macOS or Linux virtual machines – Apple Developer
- Running Intel Binaries in Linux VMs with Rosetta – Apple Developer Documentation
コメント