KVM PCIパススルーを使用すると、GTX 1080用のドライバはゲストコンピュータで実行されません。

KVM PCIパススルーを使用すると、GTX 1080用のドライバはゲストコンピュータで実行されません。

GTX 1080(ドライバ)とPCIパススルーにバグがあると思います。

私のホストはUbuntu 14.04システムです。私のゲストはUbuntu 14.04/16.04システムです(両方とも同じことをします)。

ゲスト VM 内でデバイスを表示できます。

$ lspci -vnn | grep VGA
00:05.0 VGA compatible controller: NVIDIA Corporation Device 1b80 (rev a1)

ドライバー(370.2、最新のドライバー)を正常にインストールできました。インストールされていますが認識されませんnvidia-smi

$ nvidia-smi 
Unable to determine the device handle for GPU 0000:00:05.0: Unknown Error

表示すると、dmesg次のエラーメッセージが表示されます。

[29.535583] nvidia 0000:00:05.0: irq 45 for MSI/MSI-X
[29.577727] NVRM: RmInitAdapter failed! (0x23:0x56:458)
[29.577807] NVRM: rm_init_adapter failed for device bearing minor number 0

GTX 1080を別のカード(M4000、パススルーを実行してゲストコンピュータにドライバをインストールする)と交換すると機能します。明日別のGeforceカードを試してみましょう。

NVidiaフォーラムの他の人私も同じ質問があります(答えはありません)。

これをさらにデバッグする方法はありますか?

答え1

私は同じ問題があり、答えを見つけました。https://www.evonide.com/non-root-gpu-passthrough-setup/-cpu host,kvm=offqemuコマンドラインに追加する必要があります。私はganetiを使用しているので、次の問題を解決しました。

gnt-instance modify -H cpu_type="host\,kvm=off"

私が正しく理解した場合、このフラグはゲストのKVMアクセラレーションをオフにしませんが、ゲスト-machine pc,accel=kvmのネストされたKVMアクセラレーションをオフにします(したがって、ゲストでKVM仮想マシンを実行することはできません)。

答え2

私はたくさん貢献できるかもしれません。 nvidiaがpciパススルーの試みを積極的に弱めているようです(Quadroカードを購入するだけです)。

x-pci-vendor-id=0x10DE,x-pci-device-id=0x11BA,x-pci-sub-vendor-id=0x10DE,x-pci-sub-device-id=0x0965パラメータを追加してpciデバイスIDを偽造してみてください-device vfio-pci,。これにより、Quadro K5000のふりをすることができます。

答え3

私はしばらくこの問題で苦労しました。 GPUがシステムに唯一のGPUである場合は、独立して作成するにはgrubとlinuxをインストールする必要があります。シリアルコンソールでコンピュータを起動しましたが、重要なのはvideo = efifb:offです。

GRUB_CMDLINE_LINUX="console=tty1 console=ttyS0,115200" GRUB_TERMINAL="コンソールシリアル" GRUB_SERIAL_COMMAND="シリアル --speed=115200 --unit=0 --word=8 --parity=no --stop=1 "GRUB_CMD 「静かなブートビデオ= eifb:intel_iommu = on-console = ttyS0,115200オフ」

https://unix.stackexchange.com/questions/328534/driver-for-gtx-1080-doesnt-work-on-guest-when-using-kvm-pci-passthrough

関連情報