LINUX.ORG.RU
решено ФорумAdmin

Не получается пробросить одну из двух GPU NVIDIA в KVM.

 , , ,


0

1

Всем добрый вечер/утро/день!

Система:
OS: Ubuntu 18.04 (ядро linux 4.15.0)
intel i7-6700K
GPU1: geforce 980ti (host)
GPU2: geforce 1080ti (guest)
MB: asus rog maximus 8 hero
RAM: 16GB

Проблема собственно в пробросе 1080ti в мою вм.

Саму вм с Windows 10 уже поставил.
Драйвер nouveau спустя 2 дней мучений отключил
Но чтобы хоть как то был виден экран поставил драйвер nvidia-390.
Потом весь день пытался через xorg поменять драйвер у одной карты на pci-stub или vfio что оказалось безуспешным занятием.
Поэтому в полном отчаянии пришел к вам на форум в поисках помощи.

P.S.:так как не знаю какие файлы нужно прикладывать просите по мере надобности буду как можно скорее выкладывать.

Заранее спасибо)



Последнее исправление: telikey (всего исправлений: 2)

GPU1: geforce 980ti (host)
GPU2: geforce 1080ti (guest)

Скорее всего обе карты в одной iommu-группе, пробросить можно либо обе, либо ни одной.
Пересобери ядро с ACS override patch, тогда сможешь прокинуть одно видео в виртуалку.

King_Carlo ★★★★★
()
Последнее исправление: King_Carlo (всего исправлений: 1)
Ответ на: комментарий от King_Carlo

Раньше было такое и я рассматривал пересобирать ядро
Но потом прост пересунул карту в другой PCI слот и он нормально сгрупировался)

Прикладываю вывод:

find /sys/kernel/iommu_groups/*/devices/*
/sys/kernel/iommu_groups/0/devices/0000:00:00.0
/sys/kernel/iommu_groups/10/devices/0000:00:1f.0
/sys/kernel/iommu_groups/10/devices/0000:00:1f.2
/sys/kernel/iommu_groups/10/devices/0000:00:1f.3
/sys/kernel/iommu_groups/10/devices/0000:00:1f.4
/sys/kernel/iommu_groups/11/devices/0000:00:1f.6
/sys/kernel/iommu_groups/12/devices/0000:03:00.0
/sys/kernel/iommu_groups/13/devices/0000:04:00.0
/sys/kernel/iommu_groups/14/devices/0000:05:00.0
/sys/kernel/iommu_groups/14/devices/0000:05:00.1
/sys/kernel/iommu_groups/1/devices/0000:00:01.0
/sys/kernel/iommu_groups/1/devices/0000:01:00.0
/sys/kernel/iommu_groups/1/devices/0000:01:00.1
/sys/kernel/iommu_groups/2/devices/0000:00:14.0
/sys/kernel/iommu_groups/3/devices/0000:00:16.0
/sys/kernel/iommu_groups/4/devices/0000:00:17.0
/sys/kernel/iommu_groups/5/devices/0000:00:1b.0
/sys/kernel/iommu_groups/6/devices/0000:00:1b.3
/sys/kernel/iommu_groups/7/devices/0000:00:1c.0
/sys/kernel/iommu_groups/8/devices/0000:00:1c.4
/sys/kernel/iommu_groups/9/devices/0000:00:1d.0

lspci -nnk
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM200 [GeForce GTX 980 Ti] [10de:17c8] (rev a1)
Subsystem: NVIDIA Corporation GM200 [GeForce GTX 980 Ti] [10de:17c8]
Kernel driver in use: nvidia
Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia
01:00.1 Audio device [0403]: NVIDIA Corporation GM200 High Definition Audio [10de:0fb0] (rev a1)
Subsystem: NVIDIA Corporation GM200 High Definition Audio [10de:17c8]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
05:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] [10de:1b06] (rev a1)
Subsystem: Gigabyte Technology Co., Ltd GP102 [GeForce GTX 1080 Ti] [1458:3752]
Kernel driver in use: nvidia
Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia
05:00.1 Audio device [0403]: NVIDIA Corporation GP102 HDMI Audio Controller [10de:10ef] (rev a1)
Subsystem: Gigabyte Technology Co., Ltd GP102 HDMI Audio Controller [1458:3752]
Kernel driver in use: pci-stub
Kernel modules: snd_hda_intel

telikey
() автор топика

у меня прокинута nvidia (одна) - так там в хост системе не стоит дров невидии.

FIY, какнить потом погляжу как там настроено.

tazhate ★★★★★
()
Ответ на: комментарий от tazhate

Тоже пробовал)

Проблема в том что не получается заменить драйвер nvidia на vfio-pci
Где только не писал
в грабе
В файле настройки vfio
в xorg.conf
все равно берет и ставит драйвер nvidia либо nouveau
если нет драйвера nvidia и отключен nouveau то вообще черный экран...

telikey
() автор топика
Ответ на: комментарий от tazhate

Ок)
Я попробую еще раз как в хаве
Отпишусь как что

telikey
() автор топика
Ответ на: комментарий от telikan

Так вроде же патч нужен только чтобы карты были в разных IOMMU
группах что уже есть)

Единственное что нужно это изменить драйвер у нужной карты не
меняя драйвер второй что не очень выходит

Кстати всем)
Если пробросить карту через kvm-manager то драйвер у 1080 пропадает в выводе lspci -nnk но manager выдает ошибку(

telikey
() автор топика
Ответ на: комментарий от tazhate

По хаву не получиться они blacklistят radeon что у меня не выйдет
так как в мануале две карты ati и nvidia а у меня две
карты nvidia так что если заблочу заблочатся обе карты(

telikey
() автор топика

Нашел интересную вещь в логах xorg

[ 6.153] (II) LoadModule: «vfio-pci»
[ 6.153] (WW) Warning, couldn't open module vfio-pci
[ 6.153] (II) UnloadModule: «vfio-pci»
[ 6.153] (II) Unloading vfio-pci
[ 6.153] (EE) Failed to load module «vfio-pci» (module does not exist, 0)
[ 6.153] (II) Applying OutputClass «nvidia» to /dev/dri/card0
[ 6.153] loading driver: nvidia
[ 6.153] (II) Applying OutputClass «nvidia» to /dev/dri/card1
[ 6.153] loading driver: nvidia

интересно потому что в modulas я прописал прогрузку vfio-pci

telikey
() автор топика

Хех я уже подумываю поставить arch и сделать эмуляцию ubuntu и windows отдельно)
а в арче оставить интеловскую встроенную карту 512 мб оперативки и 1 ядро ахах

telikey
() автор топика

Вообщем у твоей проблемы кроме испробованных есть еще несколько возможных решений. Во первых модуль vfio-pci должен быть в загрузочном диске initramfs или что там в твоем текущем дистрибутиве.

Во вторых если это не так тебе надо прописать «vfio-pci» soft-dep для модуля «nvidia» если карты вешаются на него. Тогда в любом случае vfio-pci загрузится до «nvidia» и скушает указанные тобой карты.

В третьих даже если ты ничего из этого не сделаешь ты все равно можешь просто убедиться чтобы карта вообще не использовалась иксами, а потом сделать:

virsh nodedev-detach pci_0000_05_00_0

И libvirt просто насильно заберет карту у драйвера Nvidia.

Список девайсов если что можно посмотреть через:

virsh nodedev-list
o-
()
Последнее исправление: o- (всего исправлений: 1)
Ответ на: комментарий от o-

Первое тоже попробовал еще вчера) не помогло(
Третье почему то виснет на detach

Второе прописал в /etc/modprobe.conf ничего не изменилось как подгружается
nvidia так и прогружается а в логах xorg пишет что модуля vfio-pci не
существует...

telikey
() автор топика

Короче ладно)
Я поставлю ubuntu mini чтобы была только командная строка сделаю там обе карточки vfio-pci и
проброшу потом сделаю две эмуляцйии
Буду надеятся что все получиться)

Спасибо всем) Кто помогал)
Будут проблемы буду просить помощи тут

telikey
() автор топика
Ответ на: комментарий от telikey

Первое тоже попробовал еще вчера) не помогло(

Ты хотя бы зашел в саму консоль initramfs и проверил что это модуль там есть? Может быть ты образ перегенерировать забыл?

Второе прописал в /etc/modprobe.conf ничего не изменилось как подгружается

Тоже самое, ты образ перегенерировал?

Третье почему то виснет на detach

Выключи иксы, сделай detach, включи иксы.

И вообще можно даже выгрузить модуль nvidia, ручками приатачить карту к VFIO и потом загрузить модуль обратно.

а в логах xorg пишет что модуля vfio-pci не существует...

Потому и пишет, что его не существует.

o-
()
Последнее исправление: o- (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.