dGPU 直通的 VFIO 权限问题

dGPU 直通的 VFIO 权限问题

我正在尝试跟随指南,但我无法使其工作。

我正在尝试通过我的 dGPU 但是:

1) 主要问题是我没有 VFIO 权限。我按照本指南修复了这个问题:https://www.evonide.com/non-root-gpu-passthrough-setup/#Permissions_for_non-root_GPU_passthrough

2)接下来我得到了:无法分配内存

mamluk@mamluk-xps:~/Projects/kvm$ ./test.sh
qemu-system-x86_64: -device vfio-pci,host=01:00.0,multifunction=on: VFIO_MAP_DMA: -12
qemu-system-x86_64: -device vfio-pci,host=01:00.0,multifunction=on: 
vfio_dma_map(0x55fed7e2ab40, 0x0, 0xa0000, 0x7f1f1fe00000) = -12 (Cannot allocate memory)
qemu-system-x86_64: -device vfio-pci,host=01:00.0,multifunction=on: VFIO_MAP_DMA: -12
qemu-system-x86_64: -device vfio-pci,host=01:00.0,multifunction=on: vfio_dma_map(0x55fed7e2ab40, 0xc0000, 0x7ff40000, 0x7f1f1fec0000) = -12 (Cannot allocate memory)
qemu-system-x86_64: -device vfio-pci,host=01:00.0,multifunction=on: VFIO_MAP_DMA: -12
qemu-system-x86_64: -device vfio-pci,host=01:00.0,multifunction=on: vfio_dma_map(0x55fed7e2ab40, 0x100000000, 0x180000000, 0x7f1f9fe00000) = -12 (Cannot allocate memory)
qemu-system-x86_64: -device vfio-pci,host=01:00.0,multifunction=on: vfio error: 0000:01:00.0: failed to setup container for group 1: memory listener initialization failed for container: Cannot allocate memory

如果以 root 身份运行,它会抱怨找不到 SDL 设备。

3) 我无法让 OVMF 工作,但我猜这是其次。

我的系统是 Dell XPS 15 9560,装有 ubuntu 17.10。我当前的 qemu 脚本是

qemu-系统-x86_64 \
  启用-kvm \
  -machine q35,加速度=kvm,内存合并=关闭\
  -cpu 主机,kvm=off,hv_vendor_id=vgaptrocks,hv_relaxed,hv_spinlocks=0x1fff,hv_vapic,hv_time \
  -smp 2,核心=2,插槽=1,线程=1 \
  -m 8192 \
  -rtc 基础=本地时间 \
  -串行无 -并行无 \
  -USB \
  -设备 usb 主机,vendorid=0x413c,productid=0x2110 \
  -设备 usb 主机,vendorid=0x046d,productid=0xc52b \
  -drive 文件=win10.iso,index=0,media=cdrom \
  -drive 文件=virtio-win.iso,index=1,media=cdrom \
  -drive 文件=test.img,格式=raw \
  -net nic,型号=virtio \
  -net 用户,smb=/home/mamluk/Projects \
  -设备vfio-pci,主机=01:00.0,多功能=开\
  -drive if=pflash,format=raw,readonly=on,文件=/usr/share/OVMF/OVMF_CODE.fd \
  -drive if=pflash,格式=raw,文件=WIN_VARS.fd

有什么帮助吗?

答案1

从未在现实中见过该 cpuid-假设这是 win10 (ovmf/uefi bios)

为什么你要列出供应商 ID?这是没有记录的。

-设备vfio-pci,主机=01:00.0,多功能=开\

你忘了 HDMI 音频。只用一个条目无法工作。

尝试这个(如果必须的话,你可以把它放在一行,但要使用你的 pci id,而不是我的):

(ati r9-290X 或 7850(备用)在 gigabyte UDER w 4300AMD cpu 上)

-USB \

-usb设备主机:1002:6819 \

-usb设备主机:1002:aab0 \

-设备vfio-pci,主机=03:00.0,多功能=开\

-设备vfio-pci,主机=03:00.1 \

其余部分取决于 Linux 和您的 iommu 控制器的协作。

相关内容