ESXi 6.0u2 + Geforce GTX1070 GPU passthrough
2016-09-03
ESXi の GPUパススルーは、基本的にAMD RADEONしかダメだったため1年ほど前にR9 380を買ってパススルーしていたが
nvidia Geforceで動かせる方法が分かったのでメモ
【ESXi で Geforce はなぜ動かなかったか】
・nvidiaのコンシューマ向けGPU(=Geforce)は、仮想環境で動かないように作ってある
・ロック1 : 仮想マシン自体の初期化ができない(PCI Bus Resetを無視する)
・ロック2 : Windowsのドライバで「仮想環境CPUを検知すると、ドライバを停止させる (Code 43エラー)」
・AMD RADEONにはそういうロックはない
・が、実はUEFI環境でソフトリセットできない馬鹿バグがある(さすがAMD!開発リソースが足りてないね!)
・AMDのバグ回避方法は以前書いた通り。
【対処方法の概要】
・PCI Bus Resetについては、UEFIだとちゃんと動く。Quadroと作り分けが面倒になった?
・ドライバのロックは、「仮想環境じゃないし」という嘘をつけばOK
・実は、仮想環境ネスト(ESXi on ESXiとか、Hyper-V on ESXiとか)で騙すときと同じ方法。
・linux kvmでは "kvm=off" オプションが該当する。
・じゃあESXiでは・・・"hypervisor.cpuid.v0 = FALSE"オプションが該当するんだな
考え出したのはこの人。
いわれてみれば「そうだよね」、でも自分では発想できないわ・・・
https://ianmcdowell.net/blog/esxi-nvidia/
・redditにも転載されてますが、まだほとんど有名になってない
・ロシア人も転載してる
・あとどっかドイツ人も発見してたはずだけどURL失念
【確かめてみる】
というわけで買っちゃいましたよ、EVGA Geforce GTX 1070 SC ACX 3.0を!
もちろんアメリカから個人輸入。
リファレンス基板+ボールベアリング長寿命が欲しいとか
変態的なことを言わない限り
今は国内製品も安いので、輸入の旨みは少ない。
2週間ほどで届いたので、去年買った Powercolor PCS+ R9 380と比較。
でけぇわ・・・・207mmのR9 380に対して、280mmのGTX 1070って感じ。
でも消費電力は190Wから150Wに下がる(しかも、能力はほぼ2倍になる)けどね!
【設定の実際】
環境は以前と同じ。
Core i7-4790s(Haswell) / ASUS Z97-A / 32GiB Memory / ESXi 6.0u2
設定においてGeforce特有なのは1点だけだが、
一応一般的なESXi GPUパススルーのお約束を再列挙
・intel VT-d が使えるCPU & マザーが必須。
・iGPUを明示的にOFFにできるマザーが必須。(iGPUをセカンダリにできるだけでも動くかも?)
・仮想マシンはUEFIで作成する
・仮想マシンのメモリを「すべて予約」にする
・仮想マシンのメモリ容量は、4GB以上でも問題なし(5.5u3以降)
・GPUを接続する前に、OSのインストールを終えておく。
・ESXi 5.5 u3以降、 "pcihole.start = 1200" の指定は不要。自動化されています
・ESXi 6.0u2時点で、VMware Host Client(webで設定できるアレ)は超致命的バグがあるので、使用NG
・バグの中身:仮想PCの編集すると、強制的にBIOS起動にセットされる(おい!ふざけるな!)
・直してるみたいなんで、6.0u3では直ってるかも
・仕方ないので、旧来のvshpere clientで設定してください
・で、まぁ普通にGeforceをパススルーする。RADEONと違って、VGAと認識されてるのがすごいね
・仮想マシンで登録したあと、下記のオプションを追加する。
hypervisor.cpuid.v0 = FALSE
・仮想マシンエディタの「オプション」-「構成パラメータ」で設定すればOK
・直接vmxファイルいじってもOKよ!(削除は直接いじるしかないしね)
・こんだけでGeforce GTX 1070 動く
・RADEONにある、「仮想マシン再起動できないよ問題」もなし
・vmware SVGAアダプタは削除できないので、普通にWindows10上でマルチモニタOFFにする。
【動作の状況】
実際に仮想マシンから見えているところ。ばっちりドライバ読み込めてる。
2016/09/06追加:
みんな大好きFF14ベンチ。
DX11最高品質 / 1920 x 1080 でスコア14,431
同レベルのCPU(i7-4770や4771)でのスコアは15,000前後なので
GPUパススルーによるオーバーヘッドは5%程度かな。
いやあ最高だわ!
最初動作が不安定で、電源の経年劣化かと疑うあまり
電源買い直したりしたけれど
結局は電源もESXiも関係なかった
(特定のUSBデバイスを繋いでいると起動不安定になるとか、
そういう類のもの。私はXbox One Wireless Controllerだった)
というわけで、vm再起動に問題があるAMD RADEONは
さっさと売り払いました
(Geforceは勿論問題なくvm再起動できる)
RADEONは、Steamのホームストリーミングにも
致命的バグを放置されてるので
ちょっとかわいそうな気もするが。
スポンサーサイト
タグ :