Problem z uprawnieniami VFIO z przejściem dGPU

1

Próbuję podążać to przewodnik, ale nie mogę tego zrobić.

Próbuję przejść przez mój dGPU, ale:

1) Głównym problemem jest to, że nie mam uprawnień do VFIO. Naprawiłem to, postępując zgodnie z tym przewodnikiem: https://www.evonide.com/non-root-gpu-passthrough-setup/#Permissions_for_non-root_GPU_passthrough

2) kontynuacja polega na tym, że otrzymuję: nie mogę przydzielić pamięci

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

Jeśli zostanie uruchomiony jako root, narzeka, że ​​nie może znaleźć urządzenia SDL.

3) Nie mogę zmusić OVMF do działania, ale myślę, że jest to drugie.

Mój system to Dell XPS 15 9560, z ubuntu 17.10. Mój obecny skrypt qemu to

qemu-system-x86_64 \
  -enable-kvm \
  -machine q35,accel=kvm,mem-merge=off \
  -cpu host,kvm=off,hv_vendor_id=vgaptrocks,hv_relaxed,hv_spinlocks=0x1fff,hv_vapic,hv_time \
  -smp 2,cores=2,sockets=1,threads=1 \
  -m 8192 \
  -rtc base=localtime \
  -serial none -parallel none \
  -usb \
  -device usb-host,vendorid=0x413c,productid=0x2110 \
  -device usb-host,vendorid=0x046d,productid=0xc52b \
  -drive file=win10.iso,index=0,media=cdrom \
  -drive file=virtio-win.iso,index=1,media=cdrom \
  -drive file=test.img,format=raw \
  -net nic,model=virtio \
  -net user,smb=/home/mamluk/Projects \
  -device vfio-pci,host=01:00.0,multifunction=on \
  -drive if=pflash,format=raw,readonly=on,file=/usr/share/OVMF/OVMF_CODE.fd \
  -drive if=pflash,format=raw,file=WIN_VARS.fd

jakaś pomoc?

Muad'Dib
źródło

Odpowiedzi:

-1

nigdy nie widziałem, że cpuid na wolności zakładając, że jest to win10 (bios ovmf / uefi)

i dlaczego słuchasz identyfikatorów dostawców - nieudokumentowanych.

-device vfio-pci, host = 01: 00.0, multifunction = on

zapomniałeś audio hdmi. Nie pracuję tylko w jednym wpisie.

spróbuj tego zamiast tego (możesz go umieścić w jednym wierszu, jeśli musisz, ale używaj identyfikatorów pci, a nie mojego):

(ati r9-290X lub 7850 (zapasowy) na gigabajcie UNDER w 4300 AMD cpu)

-usb

-us host urządzenia: 1002: 6819

-usb host urządzenia: 1002: aab0

-device vfio-pci, host = 03: 00.0, multifunction = on

-device vfio-pci, host = 03: 00.1

reszta zależy od Linuksa i współpracującego kontrolera iommu.

jazzmaster5950
źródło