LINUX.ORG.RU

проброс amd gpu в виртуалку

 , ,


1

1

У меня что-то лапки и я не могу нагуглить нужное. Есть настольник с Ryzen 7700x и rx580, можно ли нынче сделать схему вида на встройке запускать вывод на экран из линукса, а dGPU пробросить в виртуалку для непотребств?

Раньше было нужно, чтобы i- и dGPU были разных вендоров иначе не получалось выборочно отвязать дискретную видюху. А сейчас что-то начал гуглить и ничего толкового не нагуглилось(но вероятно я просто туплю).

С какого TFM начать читать?

Libvirt умеет автоматически подгружать vfio-pci и отцеплять дискретку от amdgpu налету. В теории, оно работает.

А на практике ядро через некоторое время вешается с null pointer dereference или прочей хренью от amdgpu, я даже не представляю, будут ли это чинить. Без vendor-reset всё ещё хуже.

Так что из вариантов во время загрузки забиндить видеокарту сразу в vfio-pci, чтобы не было проблем с amdgpu. Правда, на хосте видеокарту использовать не выйдет.
В параметрах ядра/initrd зафорсить загрузку vfio-pci до amdgpu и добавить vfio-pci.ids=%id_видеокарты%,%id_прочих_устройств_в_группе%. id достаются из lspci -nn.

$ lspci -nn
...
10:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] [1002:67df] (rev e7)
...

id здесь - 1002:67df

whbex
()