GTX 1080(ドライバー)とPCIパススルーのバグの可能性があると思います。
私のホストはUbuntu 14.04システムです。私のゲストはUbuntu 14.04/16.04システムです(どちらも同じことをします)。
ゲストVM内のデバイスを確認できます。
lspci -vnn | grep VGA
00:05.0 VGA互換コントローラー:NVIDIA Corporation Device 1b80(rev a1)
ドライバー(370.2、最新ドライバー)を正常にインストールできました。インストールしますが、nvidia-smiでは認識されません。
nvidia-smi
GPU 0000:00:05.0のデバイスハンドルを判別できません:不明なエラー
Dmesgを見ると、次のエラーメッセージが表示されます。
[29.535583] nvidia 0000:00:05.0:MSI/MSI-Xのirq 45 [
29.577727] NVRM:RmInitAdapterが失敗しました! (0x23:0x56:458)[29.577807] NVRM:rm_init_adapterがデバイスのマイナー番号0で失敗しました
GTX 1080を別のカード(M4000、パススルーを実行し、ゲストにドライバーをインストールする)に切り替えると、機能します。明日、別のGeforceカードを使ってみます。
NVidiaフォーラムの別の人も私と同じ問題を抱えていました(回答はありません)。
これをさらにデバッグする方法はありますか?
私も同じ問題を抱えていました https://www.evonide.com/non-root-gpu-passthrough-setup/ で答えを見つけました。 qemuコマンドラインに-cpu Host,kvm=off
を追加する必要があります。私はganetiを使用しているので、次のようにして問題を修正しました。
gnt-instance modify -H cpu_type="Host\,kvm=off"
私が正しく理解している場合、このフラグはオフに切り替わりませんKVMゲストのアクセラレーション、それは-machine pc,accel=kvm
でオンに切り替わります。しかし、ネストされたKVM=ゲストのアクセラレーション(KVMゲスト内の仮想マシンを実行できません)。
貢献することがたくさんあるかどうかはわかりませんが、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
引数に-device vfio-pci,
を追加して、pciデバイスIDを偽装してみてください。これにより、Quadro K5000のふりをします。
私はしばらくこれと戦いました、あなたのシステムでgpuが唯一のものである場合、それをそのままにしておくにはgrubとlinuxを入手する必要があります。マシンをシリアルコンソールで起動しますが、重要な部分はvideo = efifb:offです。
GRUB_CMDLINE_LINUX = "console = tty1 console = ttyS0,115200" GRUB_TERMINAL = "console serial" GRUB_SERIAL_COMMAND = "serial --speed = 115200 --unit = 0 --Word = 8 --parity = no --stop = 1" GRUB_CMDLINE_LINUX = 「静かなスプラッシュビデオ= efifb:off 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