Привет всем! Кто-нибудь успешно запускал RTX 3060 через VM на чипсете H170? Особенно интересно узнать:
1. Есть ли какие-то обходные пути для ошибки RmInitAdapter 0x25:0xffff:1601?
2. Будет ли работать более старая GPU (GTX 1060/1070) лучше с ограничениями H170?
3. Это фундаментальная аппаратная несовместимость, требующая обновления материнской платы?
Для справки:
Оборудование:
* Материнская плата: Gigabyte H170-HD3-CF
* CPU: Intel 6/7 поколение (LGA 1151)
* GPU: MSI GeForce RTX 3060 GA104 (PCI ID: 10de:2487)
* Хост: Proxmox VE (ядро 6.8.12-9-pve)
* Гость: Ubuntu 22.04 LTS
Передача RTX 3060 в VM на Ubuntu завершается сбоем с ошибкой инициализации драйвера NVIDIA. GPU обнаруживается гостевой ОС, и драйвера NVIDIA загружаются успешно, но nvidia-smi возвращает "Устройств не найдено" из-за сбоя аппаратной инициализации.
Конфигурация хоста (подтверждено, что работает):
* IOMMU включен: `$ dmesg | grep DMAR [ 0.091101] DMAR: IOMMU enabled [ 0.235548] DMAR-IR: Enabled IRQ remapping in xapic mode`
* GPU изолирован в отдельной группе IOMMU: `$ pvesh get /nodes/pve/hardware/pci --pci-class-blacklist "" │ 0x030000 │ 0x2487 │ 0000:01:00.0 │ 12 │ 0x10de │ GA104 [GeForce RTX 3060] │`
* Драйвера NVIDIA зачернены: `$ cat /etc/modprobe.d/blacklist.conf blacklist nouveau blacklist nvidia blacklist nvidiafb`
* Модули VFIO загружены: `$ lsmod | grep vfio vfio_pci, vfio_iommu_type1, vfio, vfio_virqfd`
* GPU привязан к vfio-pci на хосте: `$ lspci -nnk -d 10de:2487 Kernel driver in use: vfio-pci`
Конфигурация VM:
* BIOS: ovmf
* Ядра: 8
* CPU: host
* Машина: pc-q35-6.2
* Память: 24000
* hostpci0: 0000:01:00.0,pcie=1
* vga: virtio
Статус гостя:
* GPU обнаружен в госте: `$ lspci | grep -i nvidia 01:00.0 VGA compatible controller: NVIDIA Corporation GA104 [GeForce RTX 3060] (rev a1)`
* Драйвер NVIDIA загружен: `$ lspci -nnk -d 10de:2487 Kernel driver in use: nvidia`
* Модули драйвера присутствуют: `$ lsmod | grep nvidia nvidia_uvm, nvidia_drm, nvidia_modeset, nvidia (all loaded)`
* Файлы устройств созданы: `$ ls /dev/nvidia* /dev/nvidia0, /dev/nvidiactl, /dev/nvidia-uvm (all present)`
Критическая ошибка: `$ dmesg | grep nvidia [ 3.141913] NVRM: GPU 0000:01:00.0: RmInitAdapter failed! (0x25:0xffff:1601) [ 3.142309] NVRM: GPU 0000:01:00.0: rm_init_adapter failed, device minor number 0 [ 3.142720] [drm:nv_drm_load [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to allocate NvKmsKapiDevice [ 3.143017] [drm:nv_drm_register_drm_device [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to register device
Я пробовал следующее:
* Проверил все основные требования для передачи (IOMMU, зачернение, привязка VFIO)
* Тестировал разные версии драйверов NVIDIA (535, 570)
* Тестировал разные типы машин (pc-q35-6.2, pc-q35-4.0)
* Тестировал режимы PCIe и legacy PCI (pcie=1, pcie=0)
* Попробовал передачу ROM-файла (romfile=rtx3060.rom)
* Применял разные параметры ядра (pci=realloc, pcie_aspm=off)
* Установил модуль сброса для RTX 3060 для исправления ошибки сброса
* Отключил Secure Boot в госте
* Тестировал разные конфигурации памяти и настройки CPU VM
Я также выявил следующие ограничения оборудования:
* Чипсет Intel H170 (2015) не хватает современных функций передачи GPU:
* Нет поддержки Above 4G Decoding
* Нет поддержки SR-IOV
* Нет поддержки Resizable BAR
* RTX 3060 (архитектура Ampere) ожидает этих функций для правильной виртуализации.
Кроме того, код ошибки изменился с 0x25:0xffff:1480 на 0x25:0xffff:1601 при переключении типов машин, что указывает на то, что изменения конфигурации влияют на способ отказа.
Все стандартные шаги передачи были пройдены, но инициализация GPU аппаратно постоянно сбоит, несмотря на успешную загрузку драйвера. Буду благодарен за любые подсказки или опыт похожих конфигураций!
1. Есть ли какие-то обходные пути для ошибки RmInitAdapter 0x25:0xffff:1601?
2. Будет ли работать более старая GPU (GTX 1060/1070) лучше с ограничениями H170?
3. Это фундаментальная аппаратная несовместимость, требующая обновления материнской платы?
Для справки:
Оборудование:
* Материнская плата: Gigabyte H170-HD3-CF
* CPU: Intel 6/7 поколение (LGA 1151)
* GPU: MSI GeForce RTX 3060 GA104 (PCI ID: 10de:2487)
* Хост: Proxmox VE (ядро 6.8.12-9-pve)
* Гость: Ubuntu 22.04 LTS
Передача RTX 3060 в VM на Ubuntu завершается сбоем с ошибкой инициализации драйвера NVIDIA. GPU обнаруживается гостевой ОС, и драйвера NVIDIA загружаются успешно, но nvidia-smi возвращает "Устройств не найдено" из-за сбоя аппаратной инициализации.
Конфигурация хоста (подтверждено, что работает):
* IOMMU включен: `$ dmesg | grep DMAR [ 0.091101] DMAR: IOMMU enabled [ 0.235548] DMAR-IR: Enabled IRQ remapping in xapic mode`
* GPU изолирован в отдельной группе IOMMU: `$ pvesh get /nodes/pve/hardware/pci --pci-class-blacklist "" │ 0x030000 │ 0x2487 │ 0000:01:00.0 │ 12 │ 0x10de │ GA104 [GeForce RTX 3060] │`
* Драйвера NVIDIA зачернены: `$ cat /etc/modprobe.d/blacklist.conf blacklist nouveau blacklist nvidia blacklist nvidiafb`
* Модули VFIO загружены: `$ lsmod | grep vfio vfio_pci, vfio_iommu_type1, vfio, vfio_virqfd`
* GPU привязан к vfio-pci на хосте: `$ lspci -nnk -d 10de:2487 Kernel driver in use: vfio-pci`
Конфигурация VM:
* BIOS: ovmf
* Ядра: 8
* CPU: host
* Машина: pc-q35-6.2
* Память: 24000
* hostpci0: 0000:01:00.0,pcie=1
* vga: virtio
Статус гостя:
* GPU обнаружен в госте: `$ lspci | grep -i nvidia 01:00.0 VGA compatible controller: NVIDIA Corporation GA104 [GeForce RTX 3060] (rev a1)`
* Драйвер NVIDIA загружен: `$ lspci -nnk -d 10de:2487 Kernel driver in use: nvidia`
* Модули драйвера присутствуют: `$ lsmod | grep nvidia nvidia_uvm, nvidia_drm, nvidia_modeset, nvidia (all loaded)`
* Файлы устройств созданы: `$ ls /dev/nvidia* /dev/nvidia0, /dev/nvidiactl, /dev/nvidia-uvm (all present)`
Критическая ошибка: `$ dmesg | grep nvidia [ 3.141913] NVRM: GPU 0000:01:00.0: RmInitAdapter failed! (0x25:0xffff:1601) [ 3.142309] NVRM: GPU 0000:01:00.0: rm_init_adapter failed, device minor number 0 [ 3.142720] [drm:nv_drm_load [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to allocate NvKmsKapiDevice [ 3.143017] [drm:nv_drm_register_drm_device [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to register device
Я пробовал следующее:
* Проверил все основные требования для передачи (IOMMU, зачернение, привязка VFIO)
* Тестировал разные версии драйверов NVIDIA (535, 570)
* Тестировал разные типы машин (pc-q35-6.2, pc-q35-4.0)
* Тестировал режимы PCIe и legacy PCI (pcie=1, pcie=0)
* Попробовал передачу ROM-файла (romfile=rtx3060.rom)
* Применял разные параметры ядра (pci=realloc, pcie_aspm=off)
* Установил модуль сброса для RTX 3060 для исправления ошибки сброса
* Отключил Secure Boot в госте
* Тестировал разные конфигурации памяти и настройки CPU VM
Я также выявил следующие ограничения оборудования:
* Чипсет Intel H170 (2015) не хватает современных функций передачи GPU:
* Нет поддержки Above 4G Decoding
* Нет поддержки SR-IOV
* Нет поддержки Resizable BAR
* RTX 3060 (архитектура Ampere) ожидает этих функций для правильной виртуализации.
Кроме того, код ошибки изменился с 0x25:0xffff:1480 на 0x25:0xffff:1601 при переключении типов машин, что указывает на то, что изменения конфигурации влияют на способ отказа.
Все стандартные шаги передачи были пройдены, но инициализация GPU аппаратно постоянно сбоит, несмотря на успешную загрузку драйвера. Буду благодарен за любые подсказки или опыт похожих конфигураций!
