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 ★★★★★
()
Вы не можете добавлять комментарии в эту тему: топик перемещен в архив.