GPU Passthrough Ubuntu 24.04 ошибка “Прошивка запросила, чтобы это устройство имело отображение IOMMU !:1”

Вопрос или проблема

Я пытаюсь настроить GPU Passthrough с Ubuntu 24.04 LTS, используя KVM на HP Proliant DL360 Gen 9. Видеокарта, которую я использую, это NVIDIA GeForce 730. Ubuntu распознает видеокарту, когда я использую “lspci | grep NVIDIA”.

Я попробовал 20 или 25 учебников в интернете, и ни один из них, похоже, не работает. Все эти учебники приводят к этой ошибке:

vfio 0000:11:00.0: не удалось настроить контейнер для группы 32: Не удалось установить контейнер группы: Неправильный аргумент

и также в dmesg:
vfio-pci 0000:11:00.1: прошивка запросила, чтобы это устройство имело 1:1 сопоставление IOMMU, отклоняя конфигурацию устройства без сопоставления 1:1. Свяжитесь с вашим поставщиком платформы

Что я попробовал:

  • Проверил, включена ли виртуализация, и она включена
  • Включил IOMMU в /etc/default/grub
  • Настроил grub, чтобы исключить драйвер и устройство из хоста, чтобы оно могло использоваться виртуальной машиной
  • Видеокарта была добавлена в группу IOMMU 32 с ID 0000:11:00.1

lsmod | grep vfio:

vfio_pci               16384  0
vfio_pci_core          94208  1 vfio_pci
vfio_iommu_type1       49152  0
vfio                   73728  3 vfio_pci_core,vfio_iommu_type1,vfio_pci
iommufd                98304  1 vfio
irqbypass              12288  2 vfio_pci_core,kvm

lspci -nnk:

11:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK208B [GeForce GT 730] [10de:1287] (rev a1)
        Подсистема: ASUSTeK Computer Inc. GK208B [GeForce GT 730] [1043:881a]
        Используемый драйвер ядра: vfio-pci
        Модули ядра: nvidiafb, nouveau
11:00.1 Аудиоустройство [0403]: NVIDIA Corporation GK208 HDMI/DP Audio Controller [10de:0e0f] (rev a1)
        Подсистема: ASUSTeK Computer Inc. GK208 HDMI/DP Audio Controller [1043:881a]
        Используемый драйвер ядра: vfio-pci
        Модули ядра: snd_hda_intel

dmesg | grep -i -e DMAR -e IOMMU

[1.590590] DMAR: Intel(R) Virtualization Technology for Directed I/O
[64028.365834] vfio-pci 0000:11:00.1: прошивка запросила, чтобы это устройство имело 1:1 сопоставление IOMMU, отклоняя конфигурацию устройства без сопоставления 1:1. Свяжитесь с вашим поставщиком платформы.

/etc/default/grub:

GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`( . /etc/os-release; echo ${NAME:-Ubuntu} ) 2>/dev/null || echo Ubuntu`
GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on iommu=pt kvm.ignore_msrs=1"
GRUB_CMDLINE_LINUX=""

Учебники, которые я использовал, все заканчиваются одной и той же ошибкой (некоторые из них были на AlmaLinux):

Когда я ищу эту ошибку прошивки в dmesg, она показывает только темы Proxmox, и они предлагают новый ядро Proxmox в качестве решения, но я не использую Proxmox, так что решения для меня нет. Что я делаю не так? Я действительно на грани нервного срыва. Заранее спасибо.

Р.S. Я не очень знаком с GPU/PCI Passthrough, поэтому, если я забыл предоставить какую-либо полезную информацию, дайте знать.

Мне удалось самостоятельно решить эту проблему. Я использовал оборудование другой марки, и теперь все работает как часы.

Ответ или решение

Проблема с GPU Pass-through в Ubuntu 24.04: Ошибка "Firmware has requested this device have a 1:1 IOMMU mapping"

Постановка проблемы:
Недавно я столкнулся с проблемой при настройке GPU Pass-through на Ubuntu 24.04 LTS с использованием KVM на сервере HP Proliant DL360 Gen 9 и видеокарте NVIDIA GeForce 730. После ряда попыток и следования множеству руководств, я столкнулся с ошибками, связанными с конфигурацией IOMMU.

Ошибки и диагностические сообщения:

  1. Ошибка vfio:
    vfio 0000:11:00.0: failed to setup container for group 32: Failed to set group container: Invalid argument
  2. Сообщение dmesg:
    vfio-pci 0000:11:00.1: Firmware has requested this device have a 1:1 IOMMU mapping, rejecting configuring the device without a 1:1 mapping. Contact your platform vendor.

Следующие команды предоставили полезную информацию:

  • lsmod | grep vfio — показывало правильно загруженные модули vfio.
  • lspci -nnk — подтверждало, что видеокарта распознаётся, но используется драйвер vfio-pci.
  • dmesg | grep -i -e DMAR -e IOMMU — указывало на проблемы с IOMMU.

Проверенные шаги:

  1. Убедился, что виртуализация включена в BIOS.
  2. Активировал IOMMU в файле /etc/default/grub:
    GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on iommu=pt kvm.ignore_msrs=1"
  3. Убедился, что видеокарта добавлена в группу IOMMU 32 с ID 0000:11:00.1.

Возможные решения:

  1. Проверка конфигурации системы:

    • Убедитесь, что ваше оборудование поддерживает IOMMU и что оно включено в настройках BIOS.
    • Для некоторых платформ может потребоваться изменение параметров BIOS, таких как VT-d для процессоров Intel.
  2. Использование другого оборудования:

    • Как показала практика, использование другого аппаратного обеспечения (например, видеокарт другой марки или модели) помогло решить проблему. Это может быть связано с особенностями прошивки или несовместимостью конкретных устройств с IOMMU.
  3. Обновление прошивки/ядра:

    • Если у вас есть возможность, обновите прошивку BIOS и ядро вашей системы до последней стабильной версии. Это может устранить известные проблемы с совместимостью.
  4. Пересмотр конфигурации grub:

    • Попробуйте изменить параметры grub для исключения других драйверов, которые могут конфликтовать с vfio-pci. Это можно сделать, добавив modprobe.blacklist=nvidia,nouveau.
  5. Отладка IOMMU групп:

    • Используйте команды find /sys/kernel/iommu_groups/ -type l для анализа групп IOMMU и их конфигурации. Убедитесь, что все необходимые устройства находятся в одной группе.

Заключение:

В вашем случае проблема была решена путем использования оборудования другой марки, что указывает на возможные несовместимости существующих конфигураций. Важно помнить, что GPU Passthrough может потребовать значительных усилий и экспериментов для достижения правильной конфигурации. Не теряйте надежду и продолжайте исследовать различные варианты конфигурации, а также проверяйте обновления и документацию производителей для получения актуальной информации о поддержке.

Оцените материал
Добавить комментарий

Капча загружается...