LINUX.ORG.RU

Видеокарта для проброса в QEMU/KVM

 , , ,


0

5

Порекомендуйте,

Попробовал
* ATI Sapphire 11196-19-20G HD 7950
* ATI Gigabyte GV-R787OC-2GD HD 7870
* ATI Gigabyte GV-R785OC-1GD HD 7850
* ATI (какая-то древняя)

На них ошибки еще на этапе vfio:
vfio-pci 0000:05:00.1: Refused to change power state, currently in D3

Но заработала сходу:
* NVidia EVGA GTX 480
но она у меня с вотерблоком, поэтому ее пользовать вообще не хочу.

У кого какая карта работает?

UPD: С такой картой кто-нибудь пробовал?
GIGABYTE GV-N960G1 GAMING-2GD, GTX 960

★★★★

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

У кого какая карта работает?

ATI Gigabyte GV-R787OC-2GD HD 7870

На них ошибки еще на этапе vfio:

пробрасывай не через vfio, а через pci-assign, у меня тоже не получалось, но через pci-assign просидел год на проброшенной в про 8.1, идеально работала, на 1-3% работала по бенчмаркам быстрее, чем на нативе (винде).

kep
()
Ответ на: комментарий от Novell-ch

Хмм.

ganymede ~ # dmesg | grep -i amd-v
[    0.841000] AMD-Vi: Found IOMMU at 0000:00:00.2 cap 0x40
[    0.841000] AMD-Vi: Interrupt remapping enabled
[    0.841000] AMD-Vi: IO/TLB flush on unmap enabled
ganymede ~ # cat /proc/cpuinfo | grep svm
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 popcnt aes xsave avx f16c lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 tce nodeid_msr tbm topoext perfctr_core perfctr_nb arat cpb hw_pstate npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold vmmcall bmi1

В bios
* svm для процессора включено
* iommu device включено

Но имею:

qemu-system-x86_64: -device pci-assign,host=05:00.0: No IOMMU found.  Unable to assign device "(null)"

PS:
* Motherboard GA-990FXA-UD5 (rev. 3.0) AMD 990FX + SB950 Chipset
* Processor AMD FX-8320

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

Ага, проблема в развитии ядра, pci-assign уходит в небытие...

... This happens when kvm calls iommu_attach_device(), which was changed in v4.2 to fail with -EINVAL (-22) when the device is part of a non-singleton iommu group. Legacy kvm device assignment is not iommu group aware and has been deprecated for some time. Have you considered using vfio for device assignment instead? ...

http://www.serverphorums.com/read.php?12,1343414

soomrack ★★★★
() автор топика

PowerColor AX5450 512MK3-SH Radeon HD 5450 512Mb 64bit

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

У тебя в этой же группе ещё и hdmi-audio (05:00.1). Его тоже надо биндить к vfio, даже если не собираешься пробрасывать.

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

Конечно, делал. Эффект был тот же. Проблема именно в видяхе. Обычный звук прекрасно пробросился.

PS: но то сообщение было уже не про vfio, а про pci-assign

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

GA-990FXA-UD5

Ууу. Там биос очень самописный и не поддерживается самой амуде.

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

чушь. я эти карты ставил и настраивал в продакшене с kvm, под openstack и для vdi

dyasny ★★★★★
()

Пробросил эту: GIGABYTE GV-N960G1 GAMING-2GD, GTX 960

В процессе проброски выяснилось:

* pci-assign с версии ядра 4.2 стал deprecated, и попытка пробросить через pci-assign приводит к -EINVAL (-22). Теперь пользоваться только VFIO
* из rules udev убрали OPTIONS=«ignore_device», теперь, чтобы двум одинаковым видяхам дать разные дрова требуется «костыль»

Коротко:

Есть две идентичные видяхи, одна для host, вторая для guest, первой нужно дать драйвер nvidia, второй vfio-pci.

a) vfio-pci собираем как модуль ядра.

b) добавляем модули в blacklist, чтобы самим управлять их загрузкой:

cat /etc/modprobe.d/qemu.conf
# Following modules are manualy loaded in /etc/local.d/qemu.start
blacklist nvidia
blacklist snd_hda_intel
blacklist vfio_pci

c) Делаем скрипт, который отработает при запуске и загрузит правильные модули для видях:

cat /etc/local.d/qemu.start
#!/bin/sh
# Reserve videocard and soundcard for guest
echo 'vfio-pci' > '/sys/bus/pci/devices/0000:05:00.0/driver_override'
echo 'vfio-pci' > '/sys/bus/pci/devices/0000:05:00.1/driver_override'
modprobe vfio_pci
# All other videocards and soundcards are free for host
modprobe nvidia
modprobe snd_hda_intel

d) Не забываем дать права на vfio (у меня пробрасываемая видяха в группе IOMMU №20):

3. /etc/udev/rules.d/99-qemu.rules
GROUP=«kvm», MODE=«0660», ACTION==«add», DEVPATH==«/devices/virtual/misc/vhost-net»
GROUP=«kvm», MODE=«0660», ACTION==«add», DEVPATH==«/devices/virtual/vfio/20»

e) Не забыть повысить лимиты для пользователей:

grep rc_ulimit /etc/rc.conf
rc_ulimit="-l unlimited"

f) Ну и параметры запуска:

qemu-system-x86_64 -vga none -nographic \
    -device vfio-pci,host=05:00.0,addr=12.0,multifunction=on,x-vga=on \
    -device vfio-pci,host=05:00.1,addr=12.1

soomrack ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.