LINUX.ORG.RU

Выбор материнки, чтоб без проблем работал Intel Vt-d

 ,


1

2

Процессор Intel® Core™ i7-4790, нужен безгеморойный проброс VGA в KVM. Какую мать лучше взять? Помню на asus sabertooth 990fx r2.0 пилили bios больше года, пока оно нормально стало работать.

Присмотрел вот такую http://www.dns-shop.ru/catalog/i192753/plata-asus-lga1150-z97-a-z97-4xddr3-30...

Может кто пробовал?

★★★★★

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

ааа, наверно ты нажал кнопку на корпусе, и сразу семёрочка такая вся проброшенная запускается.

Я тебя опять не понимаю. Возможно лично ты столкнулся с какими то проблемами и теперь везде пропагандируешь их неразрешимость. У меня проблемы кончились, как только asus родил правильный bios под sabertooth 990fx r2.0. Прекрасно прокидывается видео через pci-stub и не менее прекрасно через vfio по известному мануалу https://bbs.archlinux.org/viewtopic.php?id=162768.

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

квадры

Емнип и обычные невидии работают в виртуалке, если qemu запускать с -kvm=off.

А радеоны Просто Работают©®™.

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

Емнип и обычные невидии работают в виртуалке, если qemu запускать с -kvm=off.

Жаль у меня уже не осталось pci-e видеокарт. При случае попробую.

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

они были в одной группе iommu, поэтому их отдать гостю можно оба или ни одного.

можно iommu драйвер подхачить немного и не всей пачкой отдавать.

dimon555 ★★★★★
()
Ответ на: комментарий от reagentoo
-[0000:00]-+-00.0
           +-01.0-[01]--+-00.0
           |            \-00.1
           +-16.0
           +-1a.0
           +-1b.0
           +-1c.0-[02]--
           +-1c.2-[03]----00.0
           +-1c.3-[04-05]----00.0-[05]----01.0
           +-1c.4-[06]----00.0
           +-1d.0
           +-1f.0
           +-1f.2
           \-1f.3

00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d4)
00:1c.2 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 (rev d4)
00:1c.3 PCI bridge: Intel Corporation 82801 PCI Bridge (rev d4)
00:1c.4 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #5 (rev d4)

суть в том, что драйвер iommu разные pci функции одного девайса пихает в одну iommu группу

поэтому pcie порты 1c.* попадут в одну группу и все устройства за ними тоже попадут в эту одну группу, если конечно нет того самого ACS на бридже.

вообще странно, что pcie порты считаются частью одного мультифункционального девайса.

в самом простейшем случае можешь попробовать изменить поведение драйвера для multifunction pci устройчтв, чтобы он каждую функцию пихал в отдельную группу, вроде как ничего сломаться не должно.

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

Забавно, на Q-чипсетах делали бюджетные m-atx материнки для компьюетров секретарш, интересно зачем там VT-d...?

Для банального овладевания и довления над комьютерной инфраструктурой. Там еще AMT/vPro присутствует с аппаратной удаленной консолью. Хороший аргумент на «Ой у меня компьютер не работает».

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

Так что именно проделывать нужно?

Ничего не нужно. Просто Xeonы позволяют у 8-портовой сетевухи отдать по порту виртуалке. Аппаратно и безопасно. А дескотопные процессоры и чипсеты — нет.

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

Мне это объяснять не нужно. Жду рецепта, как это сделать на обычном проце от товарища.

reagentoo
()

Почитал, ужаснулся, подумал, что для тех, кому нужна винда, проще отдельный комп купить, чем во всю эту хрень вникать. А KVM пусть на хостингах крутится :)

Тем не менее - TC, напиши потом, пожалуйста, что именно купил, и чем дело закончилось. Вообще, в теме знатоков оказалось много, но почти никто не написал «историю успеха». Неужели действительно всё очень плохо?

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

Вообще, в теме знатоков оказалось много, но почти никто не написал «историю успеха». Неужели действительно всё очень плохо?

Запись в блоге с инструкцией нужна? Что имеется ввиду? Если кратко - на новом железе всё отлично :)

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

Запись в блоге с инструкцией нужна?

Требовать не могу, но если напишешь - почитаю с удовольствием.

Если кратко - на новом железе всё отлично

Хотелось бы знать, какое именно железо, какой дистрибутив хоста, каков был объём плясок с бубном.

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

Так что именно проделывать нужно?

сам я так и не попробовал, но суть такая, что можно либо не обращать внимание на multifunction(думаю не сработает) либо подхачить pci_acs_enable

http://lxr.free-electrons.com/source/drivers/iommu/iommu.c#L637

640         /*
641          * Non-multifunction devices or multifunction devices supporting
642          * ACS get their own group.
643          */
644         if (!pdev->multifunction || pci_acs_enabled(pdev, REQ_ACS_FLAGS))
645                 return iommu_group_alloc();
646 
647         /*
648          * Multifunction devices not supporting ACS share a group with other
649          * similar devices in the same slot.
650          */

можешь попробовать

644         if (pdev->multifunction || pci_acs_enabled(pdev, REQ_ACS_FLAGS))
645                 return iommu_group_alloc();

или вот где-то тут

http://lxr.free-electrons.com/source/drivers/pci/pci.c#L2316

2353         case PCI_EXP_TYPE_DOWNSTREAM:
2354         case PCI_EXP_TYPE_ROOT_PORT:
2355                 return pci_acs_flags_enabled(pdev, acs_flags);

на вот что-то такое

         case PCI_EXP_TYPE_DOWNSTREAM:
                 return pci_acs_flags_enabled(pdev, acs_flags);
         case PCI_EXP_TYPE_ROOT_PORT:
                 return true;

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

Ты путаешь vfio и vfio-stub. Ты строку запуска qemu покажи, 95% у тебя там pci-assign, а не vfio.

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

Не понимаю о чём ты. Что такое q35 и зачем мне его запускать? У меня сейчас на fx8350 под ubuntu 14.04 проброшена в winows 7 видеокарта radeon 7870. Работает прекрасно.

Строку запуска qemu покажи, с pci-assign radeon работает благодаря поддержке в драйверах.

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

qemu-system-x86_64 \
-boot menu=on \
-enable-kvm \
-M q35 \
-m 2048 \
-cpu host \
-rtc base=localtime \
-smp 1,sockets=1,cores=1,threads=1 \
-bios /usr/share/qemu/bios.bin \
-acpitable file=/usr/share/seabios/q35-acpi-dsdt.aml \
-device ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=1,chassis=1,id=root \
-device ahci,bus=pcie.0,id=ahci \
-device virtio-balloon-pci,id=balloon0,bus=pcie.0,addr=0x6 \
-drive file='/zstorage/vm/windows7/windows7.img',if=none,id=drive-ide0-1-0,format=raw -device virtio-blk-pci,scsi=off,bus=pcie.0,addr=0x5,drive=drive-virtio-disk0,id
#-drive file='windows7.iso',if=none,id=drive-ide0-1-0,readonly=on,format=raw -device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 \
-drive file='virtio-win-0.1-74.iso',if=none,id=drive-ide0-2-0,readonly=on,format=raw -device ide-cd,bus=ide.2,unit=0,drive=drive-ide0-2-0,id=ide0-2-0 \
-netdev tap,ifname=tap0,id=hostnet0,script=no,downscript=no -device virtio-net-pci,netdev=hostnet0,mac=52:54:00:26:7F:96,id=net0 \
-device vfio-pci,host=06:00.0,bus=root,addr=00.0,multifunction=on,x-vga=on \
-device vfio-pci,host=06:00.1,bus=root,addr=00.1 \
-vga none \
-nographic
King_Carlo ★★★★★
() автор топика
Ответ на: комментарий от darkenshvein

Выше... Правда dsdt таблицу можно не просовывать, если ты не на гите.

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

У меня нет желания ловить ваши баги в потоке вашего сознания. В чём проблема с q35? Ещё немного и это станет мемом, я гарантирую это.

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

Тем не менее - TC, напиши потом, пожалуйста, что именно купил, и чем дело закончилось.

Мать ASUS Z97-K, проц Intel 4790K, видео radeon 7870. Пробросил видео в windows 8.1 без проблем. Linux выводит картинку через встроенное в проц видео, прокидываю radeon. Что делал:
1. В GRUB_CMDLINE_LINUX добавил pci-stub.ids=1002:6818,1002:aab0 intel_iommu=on
2. Известный скрипт vfio-bind


#!/bin/bash
modprobe vfio-pci
for dev in «$@»; do
vendor=$(cat /sys/bus/pci/devices/$dev/vendor)
device=$(cat /sys/bus/pci/devices/$dev/device)
if [ -e /sys/bus/pci/devices/$dev/driver ]; then
echo $dev > /sys/bus/pci/devices/$dev/driver/unbind
fi
echo $vendor $device > /sys/bus/pci/drivers/vfio-pci/new_id
done

Выполняем скрипт с параметрами железки:
vfio-bind 0000:01:00.0 0000:01:00.1 (добавить в автозагрузку)

3. Не надо городить вручную скрипты запуска ВМ, создаёте ВМ в virt-manager и в нём же добавляете видеокарту (PCI Host Device).
4. По желанию тут же, в virt-manager прокидываете usb.
5. Стартуете ВМ, всё работает.
6. Перед выключением ВМ извлекаем видеокарту.

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

H87

Ага, чипсет не поддерживает, а мать на нем внезапно да. Отдельным чипом припаяли чтоль поддержку?
И на 9-series ничего нет.

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

И на 9-series ничего нет.

Табличку на сайте интел давно не обновляли. Двумя постами выше я писал о пробросе видео на матери ASUS Z97-K.

H87. Ага, чипсет не поддерживает, а мать на нем внезапно да.

Поддержка чипсетом не нужна, должна быть поддержка vt-d процессором и правилно написанный bios.

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

Спасибо за рассказ.

Хм... тоже, что ли, для разнообразия видеокарту от AMD взять при ближайшем апгрейде...

// Неизменный пользователь трёх видеокарт от Nvidia и её блоба с 2001 года

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