Kubuntu 18.04/20.04 上的 VFIO Passthrough NVIDIA。错误:更改了 VGA 解码:olddecodes=io+mem,decodes=none:owns=io+mem

Kubuntu 18.04/20.04 上的 VFIO Passthrough NVIDIA。错误:更改了 VGA 解码:olddecodes=io+mem,decodes=none:owns=io+mem

我正在尝试在 Kubuntu 18.04/20.04 上直通 NVIDIA(安装了两个操作系统)。我已按照本文中的所有步骤操作”https://blog.zerosector.io/2018/07/28/kvm-qemu-windows-10-gpu-passthrough/根据“dmesg | grep -E "DMAR|IOMMU" 和 “dmesg | grep -i vfio” 可以启用 IOMMU & VFIO。但是正在使用的内核驱动并没有变为 VFIO。

“lspci -vnn”返回以下内容

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM204 [GeForce GTX 980] [10de:13c0] (rev a1) (prog-if 00 [VGA controller])
        Subsystem: NVIDIA Corporation GM204 [GeForce GTX 980] [10de:1116]
        Flags: bus master, fast devsel, latency 0, IRQ 34
        Memory at f6000000 (32-bit, non-prefetchable) [size=16M]
        Memory at e0000000 (64-bit, prefetchable) [size=256M]
        Memory at f0000000 (64-bit, prefetchable) [size=32M]
        I/O ports at e000 [size=128]
        Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
        Capabilities: <access denied>
        Kernel driver in use: nvidia
        Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia

01:00.1 Audio device [0403]: NVIDIA Corporation GM204 High Definition Audio Controller [10de:0fbb] (rev a1)
        Subsystem: NVIDIA Corporation GM204 High Definition Audio Controller [10de:1116]
        Flags: bus master, fast devsel, latency 0, IRQ 17
        Memory at f7080000 (32-bit, non-prefetchable) [size=16K]
        Capabilities: <access denied>
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel

经过一番研究,我发现“https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF/“并在 GRUB 中尝试了以下代码(GRUB_CMDLINE_LINUX_DEFAULT="text intel_iommu=on vfio-pci.ids=10de:0fbb,10de:13c0)。但这会导致计算机冻结并出现以下错误https://i.stack.imgur.com/HgTxp.jpg

vfio-pci 0000:01:00.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=io+mem

当更改 GRUB 仅在 nvidia 音频上启用 VFIO(“GRUB_CMDLINE_LINUX_DEFAULT="text intel_iommu=on vfio-pci.ids=10de:0fbb”)时,它会起作用,并且“lspci -vnn”会返回下面的代码。唯一不起作用的是直通显卡,这会导致计算机在启动时冻结。

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM204 [GeForce GTX 980] [10de:13c0] (rev a1) (prog-if 00 [VGA controller])
        Subsystem: NVIDIA Corporation GM204 [GeForce GTX 980] [10de:1116]
        Flags: bus master, fast devsel, latency 0, IRQ 34
        Memory at f6000000 (32-bit, non-prefetchable) [size=16M]
        Memory at e0000000 (64-bit, prefetchable) [size=256M]
        Memory at f0000000 (64-bit, prefetchable) [size=32M]
        I/O ports at e000 [size=128]
        Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
        Capabilities: <access denied>
        Kernel driver in use: nvidia
        Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia

01:00.1 Audio device [0403]: NVIDIA Corporation GM204 High Definition Audio Controller [10de:0fbb] (rev a1)
        Subsystem: NVIDIA Corporation GM204 High Definition Audio Controller [10de:1116]
        Flags: bus master, fast devsel, latency 0, IRQ 10
        Memory at f7080000 (32-bit, non-prefetchable) [size=16K]
        Capabilities: <access denied>
        Kernel driver in use: vfio-pci
        Kernel modules: snd_hda_intel

非常感谢您的帮助。

编辑:我已放弃,请查看https://www.reddit.com/r/VFIO/comments/g58ppr/giving_20_usd_10191_dogecoins_to_anyone_who_can/。您也许会在那里找到一些很好的答案。

相关内容