Рейтинг:1

Ubuntu 20.04 Unable to Login after PCI Passthrough

флаг jp

Fresh install of Ubuntu 20.04 with Ryzen 5 5600x on a x570 + 2080 Super (passthrough) + HD 5670 (guest). My intent is to run 2 monitors for Ubuntu (native) through the Radeon HD 5670, and 1 monitor on Windows (vm) with the 2080 Super. IOMMU and virtualization IS set up (I've been runing emulators in Windows for a while). The problem I'm running into is, after I set the grub command line to "quiet amd_iommu=on iommu=pt kvm.ignore_msrs=1 vfio-pci.ids=<2080:graphics>,<2080:audio>" some text data still appears on the 2080 monitors, and the login on the 5670 freezes for roughly 5 seconds before flashing black, and returning to the login screen. Sometimes, CTRL+ALT+F3 causes it to freeze entirely, requiring hard reset. When I HAVE gotten into the terminal, I get spammed a message from the nvidia driver stating "Tried to insert a GPIO with zero lines". Uninstalling the nvidia drivers solved that, but still had issues logging in.

My best guess, is that Ubuntu is still trying to use the NVIDIA gpu, but gets an error, and crashes back to login.

  • Enable IOMMU in BIOS
  • Ensure at least 1 monitor is connected to each GPU
  • run "update && upgrade"
  • run "apt install qemu-kvm qemu-utils libvirt-daemon-system libvirt-clients bridge-utils virt-manager ovmf"
  • Edit Grub and add "amd_iommu=on iommu=pt" *iommu=1 is also recommended by a few guides
  • run "update-grub" and reboot
  • confirm IOMMU by running "dmesg |grep AMD-Vi"
  • confirm devices by running "lspci -nn" and target specific GPU and associated hardware
  • also note USB bus in the event of a GPU that supports USB-C
  • Edit Grub and add "vfio-pci.ids=0000:0000,0000:0001" where 0000:0000 is your graphics pci id, and 0000:00001 is your audio pci id
  • run "update-grub" and reboot
  • Confirm only GUEST gpu is rendering at the login screen
  • Attempt to log in (fails)

I've also tried software solutions found on mathiashueber.com which yielded the same results, but also prevented me from using the debugger mode to undo the results. I was forced to eject the GPU, or reformat. The Radeon HD5670 DOES work if it's the only GPU in the system. The problem ONLY arises when the NVIDIA is plugged in, and passed through. I'm vaguely curious is the problem could also be related to the fact that I want to run a display port between the 2080 Super and the 144hz monitor. It shouldn't, but it might could.

флаг jp
Интересно отметить, что при прохождении через Radeon HD 5670 вообще не возникает проблем со входом в систему, хотя он блокирует виртуальную машину при попытке запуска после прохождения устройств PCI.
Рейтинг:0
флаг jp

Добавление вашего идентификатора PCI в список Grub приведет к установке драйверов vfio-pci для каждого устройства. По-видимому, с картами серии RTX 20 или большинством карт, которые поставляются с USB-C, графический процессор также поддерживает HDMI через USB-C (для целей виртуальной реальности), который указан как дополнительное устройство и мешает процессу входа в систему. Добавление ВСЕХ связанных идентификаторов PCI в GRUB предотвратит их загрузку и обеспечит плавный переход в ОС. Хотя вам не требуется передавать их на виртуальную машину, для них ДОЛЖЕН быть загружен модуль VFIO.

Дополнительное примечание: большинство графических процессоров Radeon, которые мне удалось протестировать, не смогли правильно установить AMDGPU-PRO, что предотвращает отображение экрана входа в систему после того, как другие графические процессоры проходят через GRUB.Похоже, есть некоторые проблемы, связанные с прошивкой (ами), которые я должен изучить. Использование драйверов Ubuntu работает нормально.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.