GTX 1050 GPU を搭載した Surface Book 2 を持っていますが、macOS 仮想マシンの実行中にそのグラフィック カードを使用したいと考えています。いろいろ検索しましたが、満足のいく答えは見つかりませんでした。GPU の制御を VM に渡すのではなく、Intel GPU が使用されているのと同じように使用したいだけです。Nvidia コントロール パネルで VirtualBox を設定しようとしましたが、表示されないのはこれだけです。API が必要かどうか疑問に思いました。
ご協力いただきありがとうございます!
答え1
これにより、API が必要かどうか疑問に思いました。
VirtualBox のエンドユーザーとして、API は必要ありません。
macOS 仮想マシンの実行中にグラフィック カードを使用したい。
実行したい操作に必要な VirtualBox PCI パススルー サポートは非常に限られており、特定のハードウェア要件が伴います。
PCIパススルーモジュールはVirtualBox拡張パッケージとして出荷されており、別途インストールする必要があります。セクション 1.5「VirtualBox と拡張パックのインストール」詳細については。
基本的に、この機能により、ホストにこの特定のデバイス用のドライバーがない場合でも、ゲストがホスト上の物理 PCI デバイスを直接使用できるようになります。通常の PCI カードと一部の PCI Express カードの両方がサポートされています。AGP および一部の PCI Express カードは、テクスチャ管理に GART (Graphics Address Remapping Table) ユニット プログラミングに依存している場合、IOMMU に干渉するページ再マッピングを伴うかなり重要な操作を実行するため、現時点ではサポートされていません。この制限は、将来のリリースで解除される可能性があります。
VirtualBox の PCI パススルー サポートが完全に機能するには、まだ広く利用可能ではない IOMMU ハードウェア ユニットが必要です。デバイスがバス マスタリングを使用する場合 (つまり、デバイス自体が OS メモリへの DMA を実行する場合)、IOMMU が必要です。そうでない場合、デバイスの DMA エンジンはメモリ トランザクションを実行するためにデバイス固有のプロトコルを使用してプログラムされるため、このような DMA トランザクションは間違った物理メモリ アドレスに書き込む可能性があります。IOMMU は、ゲスト物理アドレスからホスト物理アドレスへの変換ルールに関する知識を使用して、デバイスからの物理メモリ アクセス要求をマッピングする変換ユニットとして機能します。
Intel の IOMMU ソリューションは「Intel Virtualization Technology for Directed I/O」(VT-d) として販売されており、AMD のソリューションは AMD-Vi と呼ばれています。したがって、マザーボードのデータシートに適切なテクノロジが記載されているかどうかを確認してください。ハードウェアに IOMMU がない場合でも、特定の PCI カード (シリアル PCI アダプタなど) は動作する可能性がありますが、ゲスト ドライバがカード バス マスタリングを有効にしようとすると、ゲストは起動時に警告を表示し、VM の実行は終了します。
GPU の制御を VM に渡すのではなく、Intel GPU が使用されているのと同じように使用したいだけです。
望むことを達成するためには、コントロールを放棄する必要がある、それは事実です。