ESXi 6.0u1 Haswell + Windows10でGPUパススルー(基本編)

 2015-09-12
前回書いた通り、
ESXi 6.0u1でのヘッドレスGPUパススルー用に AMD RADEON R9 380 を買った。
PowerColor PCS+ R9 380 4GB GDDR5ね。
(しつこいがnVidia GeForceはESXiで動かないようになってる。nVidiaの方針と思われる)

#2016/09/04追記:
 ESXi にて Geforce でパススルー出来る方法が判明(こちらのリンク




今回はESXi 6.0u1 + Windows10 という最新環境でGPUパススルーしちゃう。
で、まず基本的な設定方法。


【環境】
サーバー機は去年作ったPC
CPU : Core i7-4790S Haswell
MB : ASUS Z97-A
MEM : 16GB
VGA : AMD RADEON R9 380 4GB
USB : NEC μPD720200
HBA : LSI 9211-8i

【PCのBIOS (UEFI)基礎設定】
・CPU内蔵の iGPU (HD4600) を 切る。
・切り方はマザーによる。
・Z97-Aなら「マルチモニタ禁止」「優先VGAをPEGにセット」で切れる。
・同じくCPU内蔵の HD4600 HDMIオーディオ も切る。

・切れているなら、 Vsphere Client のパススルーデバイス選択そのものに、出てこなくなる
・出てきちゃったらNG、マザー変えるかiGPU非搭載のXeon E3買ってくる
・ESXi6.0では、切れなくても動くかもしれない(ちゃんと調べてない)

・あんまりPCIデバイス周りのパワーマネジメントをやりすぎない。音が途切れたりすることがある

・RADEONにちゃんとHDMIダミープラグ刺す。実モニタ繋いでもいい
・またはHDMIセレクターでも繋いでおけば、RADEONは騙されてくれるとかなんとか


【vsphereの設定】
まずVM Directpath IO。
RADEONのGPU自体と、それにくっつくHDMIオーディオを両方選ぶこと。
さっくり再起動してください。
20150912_ESXi_DirectPath_IO.png


【vm(仮想マシン)の作成】
まだRADEONは繋がない。
普通にVM作って、普通にWindows10をセットアップ。
ただし、UEFI起動するようにVMをセットすること
この段階で、USBカードやオンボードサウンドはPCIパススルーしてもOK


【GPUパススルーの設定】
仮想マシンエディタで、RADEON GPUとHDMIオーディオの両方をPCIデバイスとして登録する。
外人さんのページで1人だけ「HDMIは登録しないでね」とかいう人がいたけど、
この人たぶんどっか設定がおかしい。
https://calebcoffie.com/amd-r-x-gpu-passthrough-on-vmware-esxi/
20150912_ESXi_VM_Device.png


次に、pciholeの設定。
これまたドイツ人が1人だけ「ESXi 6.0だと自動でやってくれる」とか言ってるんですが
こっちは1度試したら動いたような気がする。
まぁ不安なのでちゃんと設定しましょう

#2015/10/27追記:どうやら ESXi 5.5 u2 以降では本当にpcihole設定が不要らしい。
実際、私の ESXi 6.0 u1 でも、設定を外してみたらちゃんと動いた。
参考:vmware communityの当該書き込み(no.783)


仮想マシンエディタの「オプション」-「構成パラメータ」で

pciHole.start = 1200
pciHole.end = 2200


を登録する。
もちろん、直接vmxファイルに書き込んでもいい
(削除するときは直接編集するしかない!)
20150912_ESXi_VM_DeviceOption.png


【起動確認】
・おもむろに起動すると、Windows10なので勝手にAMD Catarystドライバが入る
・下記の状態になる。
・ディスプレイ1:VMWARE SVGA
・ディスプレイ2:RADEON R9 380

・でも、vsphereコンソールからRADEON画面は拾えない
このまま”決して”再起動せずに splashtop か mirror-DTCを導入する
・そのあとで優先ディスプレイを切り替えて、splashtopでアクセスすればOK。


【問題なく動くの?】
VM再起動をすると、なんとVMが立ち上がらないという問題がある。
いろいろ調べたら、
要するに「VMを終了するとき、正しくGPUを解放してない」そうな。
ESXiのバグなのかWindowsがダメなのか・・・
vmware community "ESXi 5.5, Passthrough Video Card, Haswell Build"のNo.11の書き込み参照。

ちなみに、力技でなんとかするなら
毎回ESXiごと再起動すればいいのだけど
それは無茶すぎるので
対策を探してきましたよと。
対策は長いので次回


#2015/10/27追記:もう少し調べてみたところ、AMD RADEONの比較的新しいコアでは
PCI Bus Reset では初期化できない仕様になったため
単純な再起動時に、PCI Bus Resetしても無駄無駄!、ということの様子。
該当コアは Hawaii / Bonaire / Tonga 、あと Fiji も治りきってない、、、ってRADEON全部やん!
というわけで、KVMではlinux kernel / QEMU 側でどうにかしようとしてるみたいですが
ESXi は本来Nvidia GRID / Quadroカード以外をすべて非対応としてるので、正式な対応は望めません。
参考:VFIO tips and tricks : Progress on the AMD front

スポンサーサイト
タグ :
コメント












管理者にだけ表示を許可する
トラックバック
トラックバックURL:

https://silver0480.blog.fc2.com/tb.php/409-7c561300

≪ トップページへこのページの先頭へ  ≫