LINUX.ORG.RU

xen pci passthrough

 ,


0

1

Пытаюсь пробросить видюху в виртуалку.

xen 4.1 fedora 17 video geforce 9400GT

поддержка в ядре как я понял модулем

CONFIG_PCI_XEN=y
CONFIG_XEN_PCIDEV_FRONTEND=m
CONFIG_XEN_BLKDEV_FRONTEND=m
CONFIG_XEN_BLKDEV_BACKEND=m
в grub добавил
max_loop=64 iommu=pt iommu=1 xen-pciback.passthrough=1 xen-pciback.hide="(01:00.0)"
в dmesg ошибка: что-то там «0)»

модуль xen-pciback не загружен

вычитал, что если xen-pciback модулем то xen-pciback.hide надо убрать из grub

убрал xen-pciback.hide создал в modprobe.d/zzz.conf

install nouveau /sbin/modprobe pciback ; /sbin/modprobe --first-time --ignore-install nouveau
options xen-pciback hide=(0000:01:00.0)
смысл первой строчки не понял

собрал initramfs

ошибки в dmesg нет, но xen-pciback не загружен , nouveau - загружен

выгрузил nouveau, загрузил xen-pciback

rmmod nouveau
modprobe xen-pciback

видюха появилась в списке

xm pci-list-assignable-devices

запускаю винду видна видеокарта в списке устройств, поставил для нее драйвера, перезапустил видеокарта помечена желтым, подключил монитор к видюхе - изображения нет

screenshot

Вопрос, что все это означает? Или она не пробросилась толком или она не годна для проброса.

Что должно произойти в случае успешного проброса? Мышка и клавиатура должны работать?


dm-command: hot insert pass-through pci dev
register_real_device: Assigning real physical device 01:00.0 ...
pt_iomul_init: Error: pt_iomul_init can't open file /dev/xen/pci_iomul: No such file or directory: 0x1:0x0.0x0
pt_register_regions: IO region registered (size=0x01000000 base_addr=0xfa000000)
pt_register_regions: IO region registered (size=0x20000000 base_addr=0xa000000c)
pt_register_regions: IO region registered (size=0x02000000 base_addr=0xf8000004)
pt_register_regions: IO region registered (size=0x00000080 base_addr=0x0000e001)
pt_register_regions: Expansion ROM registered (size=0x00080000 base_addr=0xfb000000)
pt_msi_setup: msi mapped with pirq 37
pci_intx: intx=1
register_real_device: Real physical device 01:00.0 registered successfuly!

такое в логах нашел

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

обычный из репозитория fedora

меня еще смущает следующее

Когда проброс в ядре как модуль, я так понял это хлопотное очень дело.

А у меня же видюха увиделась сразу после

rmmod nouveau
modprobe xen-pciback
т.е. не на этапе загрузки

Для того что бы это произошло на этапе загрузки нужна это чудесная строчка

install nouveau /sbin/modprobe pciback ; /sbin/modprobe --first-time --ignore-install nouveau

но у меня она не работает

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

Спасибо за ссылку.

Еще такой вопрос.

pciback как модуль, исправили например modprobe.d/... и собрали initramfs. Модуль в initramfs автоматически попадет если есть упоминание в modprobe.d/...?

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

на этот вопрос ответ не знаю)), update-initramsfs вроде и автоматом должен подключаться

dmesg ошибка: что-то там «0)»

но знаю, что добавлять в грaб нужно вручную в grub.cfg так:
xen-pciback.passthrough=1 xen-pciback.hide="(01:00.0)(01:00.1)(02:00.0)" quiet

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

ошибка типа такой

# dmesg | tail -n 1 
[ 3687.470124] xen_pciback: Unknown parameter `1)' 

тут пишут, что если pciback как модуль, то в grun писать не надо - иначе ошибка такая будет

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

что-то файла xen-pciback.ko не видно в initramfs, я его собрал dracut

[root@DeltaS boot]# lsinitrd initramfs-3.8.4-102.fc17.x86_64.img |grep pci
-rwxr-xr-x   1 root     root        51544 Jan 16  2012 usr/lib64/libpci.so.3.1.9
lrwxrwxrwx   1 root     root           15 Apr  3 20:22 usr/lib64/libpci.so.3 -> libpci.so.3.1.9
lrwxrwxrwx   1 root     root           22 Apr  3 20:22 usr/lib64/libpciaccess.so.0 -> libpciaccess.so.0.11.1
-rwxr-xr-x   1 root     root        37552 Apr 10  2012 usr/lib64/libpciaccess.so.0.11.1
-rwxr--r--   1 root     root        25632 Mar 24 17:15 usr/lib/modules/3.8.4-102.fc17.x86_64/kernel/drivers/mmc/host/sdhci-pci.ko

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

модуля xen-pciback действительно не было в initramfs

после того как прописал в dracut, что бы его включить, сработала чудесная строчка

install nouveau /sbin/modprobe pciback ; /sbin/modprobe --first-time --ignore-install nouveau

сразу после загрузки модуль загружен, у видюхи драйвер pciback, и она видна в списке xm pci-list-assignable-devices, при это в grub нет строчки xen-pciback.hide="(01:00.0)

но видюха так и не заработала

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

но видюха так и не заработала

Нвидиашные видюхи и не будут работать без патчей Xen-a. Вот ссылки на инструкцию по пробросу.

http://wiki.xen.org/wiki/Xen_VGA_Passthrough_to_Windows_8_with_Xen_4.2-unstable

http://www.davidgis.fr/blog/index.php?2011/12/07/860-xen-42unstable-patches-for-vga-pass-through

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

а почему в дистрибутив не включают патченый xen?

патчить я не умею, и не охота ставить софт не из репозитория...

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

а почему в дистрибутив не включают патченый xen?

Потому, что это никому не нужно, а кому нужно, пропатчат.

патчить я не умею, и не охота ставить софт не из репозитория...

Покупай ATI-шную видяху.

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

radeon

купил radeon 7750 - заработало, но конечно через пень-колоду

в grub-е только

max_loop=64 iommu=pt iommu=1 xen-pciback.passthrough=1

из-за hdmi audio пришлось добавить в blacklist snd_hda_intel

сразу при загрузке драйвер pciback у устройств только при строчке

install radeon /sbin/modprobe xen-pciback ; /sbin/modprobe --first-time --ignore-install radeon
options xen-pciback hide=(0000:01:00.0)(0000:01:00.1)

лучше конечно пересобрать ядро с pciback встроенным

Осталась проблема, что при переключении на русскую раскладку не печатается ничего (соединение по vnc через remina и еще какой-то из федоры)

Еще интересно как с этим народ работает, надо всегда соединяться по vnc? Мышка при этом как-то непонятно бегает, особенно когда у края.

Можно ли подключить обе видюхи к монитору одну по dvi другую по dp? Что бы не перетыкать. Не опасно для монитора это?

sanets ()
Ответ на: radeon от sanets

с пересобранным ядром xen работает нормально, не надо никакие модули отключать...

попробовал еще пробросить с kvm (вроде как он роднее для линукса).

Пробросилось, но проблемая такая:

После перезагруски(или после выключения и повторной загрузке) windows guest наступает crash хоста.

Говорят это встречается для radeon 7 серии(7750 у меня).

sanets ()

Когда-то пробовал - не пробросилось. В списке проброшенных устройств есть, но гостевой Windows её не видит. Выяснилось что если чипсет материнской платы и процессор не поддерживают технологию IOMMU, это невозможно. Точнее возможно, но только для гостевого Linux, и только для одного устройства.

ZenitharChampion ★★★★★ ()
9 июня 2014 г.
Ответ на: комментарий от asdaf

Скажите, патчить обязательно, насколько я понимаю...
И к этим патчам, нужно еще править адреса для мапинга и прикладывать кастомный биос?

Что это за биос? У меня NVidia Tesla k40 и я не нашел на неё этого биоса... %(

Да памяти у неё 12G... и адреса выходят 64 битные.

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