VMware ESXi で GPU パススルー
前提条件
PC での作業
- PEG スロットに ESXi コンソール用 GPU を設置します。
- その他 の PCI-E スロットにパススルーする GPU を設置します。
パススルーする GPU は ESXi のメイン GPU
とならないようにする必要があります。
このため、あえて PCI-E x16 のスロット(PEG)に ESXi 用 GPU を設置し、
パススルーする GPU を その他の PCI-E x8
などのスロットに設置するなどします。
Asrock X99 では PCI-E x16 スロットの設定を BIOS で変えられるので、
当方の環境では PCI-E2(PEG) を x1 に、
PCI-E4 に GTX 1080 を設置し x16 にしています。
- BIOS で Intel VT-d を有効にします。
- 複数の GPU を使うときは BIOS で Above 4G Decoding を有効にします。
ESXi の設定変更
- 構成の詳細設定で GPU の VGA compatible controller
をパススルーにします。
- ESXi をリブートします。
仮想マシンの設定
- 仮想マシンバージョン8(vmx-8)以上でWindows 10の仮想マシンを作ります。
- リソースタブのメモリから割り当てたメモリをすべて予約します。
当方の環境では 8GB 割り当てました。
- ESXi に CommunitySupport の NIC ドライバを組み込んでいる場合は、
UEFI ブート中に vmxnet3 でエラーにならないように
ネットワークインターフェースを E1000 にします。
- ハードウエアタブの追加からPCI デバイスの追加でパススルーしたい
GPU を選択します。
- ブートを UEFI にします。
- オプションタブの詳細→全般→
構成パラメータに以下のパラメータを追加します。
- GeForce の 仮想環境チェックを回避するようにします。
- VRAM の開始アドレスを指定します。
- ESXi 5.5 以下では MSI/MSI-X (Message Signal Interupt) を無効にして
INTx を使うようにします。
パラメータ | 値 | 備考 |
hypervisor.cpuid.v0 | FALSE | 仮想環境チェック回避 |
pciHole.start | 1200 | VRAM開始アドレス |
pciHole.end | 2200 | VRAM容量1GB |
pciPassthru0.msiEnabled | FALSE |
GPU VGA (ESXi 5.5 以下) |
pciPassthru1.msiEnabled | FALSE |
GPU Audio (ESXi 5.5 以下) |
Windows 10 での作業
NVIDIA から
ドライバ
をダウンロードしてインストールします。
デバイス マネージャーでの表示

参考