最後の数週間は、Ubuntu 12.10で遊んでいました。これは、Windows 7でホストされているVirtualboxでゲストとして実行されています。Unity3Dにはいくつかの課題があります。特に、ごく最近までX11リリース1.13をサポートしていないためです。本日以降、Virtualboxバージョン4.2.2をダウンロードできます。これは、ゲストの追加によりX11リリース1.13もサポートします。 SO皆さん、すばらしい仕事をしました。
Unityは3Dモードでのみ動作するようになったため、Virtualboxから直接グラフィックカードにアクセスできれば便利です。 lshw -c display
の表示:VGA compatible controller; product: VirtualBox Graphics Adapter
。
質問:ハードウェア、つまりNvidia GeForce M310で直接サポートされている3Dおよびその他のグラフィックスを取得する方法
PCIパススルーは、実験的に最近サポートされています Virtual Boxclosed source(PUEL) バージョン。ただし、いくつかの制限があります。つまり、グラフィックカードについては、 Virtual Box User Manual から読み取ることができます。
AGPおよび特定のPCI Expressカードは、GARTに依存している場合、現在サポートされていません
これがNvidia M310に当てはまるかどうかはわかりませんが、試す前にまずこれを把握する必要があります。
PCIパススルーを機能させるには、BIOS設定から IOMMU が有効になっているマザーボードも必要です(Intelの場合はVT-d、AMDの場合はAMD-Vi)。
満たすべき追加の前提条件がいくつかあります(詳細については Virtual Box Manual を参照してください):
- マザーボードにはIOMMUユニットがあります。
- CPUはIOMMUをサポートしています。
- IOMMUはBIOSで有効になっています。
- VMは、VT-x/AMD-Vおよびネストされたページングを有効にして実行する必要があります。
- Linuxカーネルは、IOMMUサポート、DMA再マッピング、およびPCIスタブドライバーでコンパイルされました。
- LinuxカーネルはIOMMUユニットを認識して使用します。
次に、lspci
から読み取ったbus:device.function
プロパティを使用してPCIデバイスを仮想マシンに接続します。
VBoxManage modifyvm "VM name" --pciattach <Host-bus>:<Host-device>.<Host-function>@<guest-bus>:<guest-device>.<guest-function>.
このデバイス用のドライバーをインストールする前に、デバイスが正しく接続されている場合は、lspci
でゲストを確認してください。
さらなる制限については、 Virtual Box Manual も参照してください。
2016年現在、完全に実装されていますが、Linuxゲストの場合は実験的です。
PCIパススルーモジュールはVirtualBox拡張パッケージとして出荷されます。これは個別にインストールする必要があります。詳細については、セクション1.5「VirtualBoxおよび拡張パックのインストール」を参照してください。
基本的に、この機能により、ホストが特定のデバイス用のドライバーを持っていなくても、ゲストがホスト上の物理PCIデバイスを直接使用できます。通常のPCIカードと一部のPCI Expressカードの両方がサポートされています。 AGPおよび特定のPCI Expressカードは、GOM(Graphics Address Remapping Table)ユニットプログラミングに依存している場合、現時点ではサポートされていません。この制限は、将来のリリースで解除される可能性があります。
ソース: VirtualBoxマニュアル