LINUX.ORG.RU
ФорумTalks

Проброс видеокарты в xen

 , , , vga passthough,


3

8

Я уже долго пытался запихнуть в ксен свою GTX 560 Ti, но нвидия с ксеном просто отвратительно (не)работает, как на dom0 так и вообще. В итоге вчера была куплена обычная дешевая Sapphire Radeon 7750. Запихнул ее в комп, отдал ксену и все отлично. Пока успел сыграть в CoD MW2 и Shogun 2 Total war, в целом все достаточно стабильно работает. Dom0 вместе с DomU/win7 грохнулись всего один раз - при установке каталиста.

конфиг ксена вполне обычный. Как и советуют на вики, нужно поставить gfx_passthrough=0 и приклеить видеокарту и ее HDA к pci-stub или xen-pciback. При этом не работает текстовый режим, т.е. до того, как ОС в DomU загрузит драйвер видеокарта работать не будет.

Помимо видеокарты в ксен был отдан юсб контроллер с мышкой и клавой, а так же звуковая карта, т.к. для тех звуковух, что может эмулировать ксен нет драйверов на x64 win7.

Железо которое было использовано:

GA-990FXA-D3 /w bios f5i
Phenom X6 1090T
Nvidia 560Ti /w nouveau для хоста
Radeon 7750 
ведро 3.3 xen 4.1.2
На днях, пожалуй, верну 7750 и возьму 7850.

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

Скриншот «Индекса производительности шиндошс»



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

Ответ на: комментарий от Lindows

На хосте гента

у тебя на генте завёлся Xen? обалдеть, я сколько его ни тыкал - всё что-то не срасталось

fragment
()

а как насчет SLI/CrossFire в виртуалке (встроенное видео в хосте, или там дешевая видяшка)

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

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

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

Нет, не пробовал т.к. радеон я купил неделю назад +), в гугле тоже ничего не находилось..

Возможность успеха тут похоже будет зависить от того, нужно ли драйверам для работы в CF лезть в какую то часть чипсета/биоса/еще куда нибудь.

Lindows
() автор топика
12 мая 2012 г.
Ответ на: комментарий от vinnni

Годная криокамера =)

Я на следующий день уже запустил в kvm. Да и с недавнего времени только квмом и пользуюсь, из за нормального проброса юсб и эмуляции звуковой карты.

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

протестированных мамок с версиями BIOS, в которых точно нормальный IOMMU.

Там же Asus Crosshair V Formula есть. Я её и собирался брать.

ekzotech ★★★★
()

Только что попробовал проброс видеокарты. Я разочарован в Xen. И это ещё называют энтепрайс?

Рассказываю по-порядку. У меня процессор AMD Athlon 64 X2 7850+, и две видеокарты, встроенная ATi Radeon HD 3200, и внешняя ATi Radeon HD 5850. К внутренней подключен монитор, к внешней - телевизор. Установил openSUSE 12.1, там Xen 4.1.2, и ведро 3.4-rc6-xen. Сначала утилита «Менеджер виртуальных машин» категорически отказывалась работать, заявляя, что либо специальное ядро -xen не загружено, либо не загружен xend. Хотя оба условия соблюдены. Пришлось открывать меню приложений, узнавать, что программа называется virt-manager, и запускать её от root. Тогда заработало.

Запустил. И долго ничего не мог понять в этом питоно-интерфейсе. Оказалось, надо нажать на кнопку «localhost (xen)» правой кнопкой мыши и выбрать «Соединиться». А без правой кнопки никак: в видном месте кнопки «Соединиться» нет. Тогда можно создавать виртуальные машины и управлять созданными. Ну что, создал HDD 11 Гб, и собрался подключать образ ISO с Шindows 8. А какой тип устройства ему задать? Там вооот такенный список. Сделал на удачу «file», как для виртуального HDD. И - ошибка при попытке запуска. Поиск в Google подсказал, что тип устройства «file» больше не работает, и надо поменять на «tao:aio». Не работает, новая ошибка. Поиск подсказал, что какое-то из выбранных устройств не поддерживается: заменил эмулируемую видеокарту Intel на SVGA и отключил сетевую карту. Запустилось! Появилась надпись «Сейчас будет установлена система» и пропала.

И вот написано, что виртуальная машина работает. Ну и где? Отключил её. Включил снова. Потом нашёл кнопку «Открыть» - и открылось окно виртуальной машины! Наконец-то! Вывод монитора дико лагал и артефачил, и я решил включить Intel обратно: вдруг не запускалось только из-за неподдерживаемой звуковой или сетевой карты. Но где - настройки виртуальной машины очень скудны, и не меняются ни с выключенной, ни с включенной машиной! Создал заново, и с Intel всё стало отзывчивее. Успешно установил систему.

Когда виртуальная машина заработала первый раз, я отключил её, чтобы вручную отредактировать config-файл, чтобы пробросить видеокарту. Перед этим я почитал шаманские мануалки, и взял оттуда скрипт:

#!/bin/bash

modprobe pciback

BDF=0000:02:00.1
[ ! -e /sys/bus/pci/devices/$BDF/driver/unbind ] || \
echo -n $BDF > /sys/bus/pci/devices/$BDF/driver/unbind
echo -n $BDF > /sys/bus/pci/drivers/pciback/new_slot
echo -n $BDF > /sys/bus/pci/drivers/pciback/bind

BDF=0000:02:00.0
[ ! -e /sys/bus/pci/devices/$BDF/driver/unbind ] || \
echo -n $BDF > /sys/bus/pci/devices/$BDF/driver/unbind
echo -n $BDF > /sys/bus/pci/drivers/pciback/new_slot
echo -n $BDF > /sys/bus/pci/drivers/pciback/bind

echo 'now free for pciack devices:'
xm pci-list-assignable-devices

#xm create /etc/xen/vm/my_virtual_system

Где я поменял устройства из примера на свои, и поменял название файла new_slot1 на new_slot, потому что такого файла не существовало. Это второй из 3 рецептов проброса видеокарт, которые советовались, а первый у меня не заработал. Проверка того, что Xen может пользоваться этим устройством:

# xm pci-list-assignable-device
0000:02:00.0
0000:02:00.1
#

Прописываем в конец файла конфигурации виртуальной машины:

pci=['02:00.0']

pci=['02:00.1']

gfx_passthru=1

Это уже когда не заработало, я поменял 1 на 0, как в твоём конфиге, и устройства pci в одну строчку сделал, и дополнитекльный параметр добавил - безрезультатно.

xen_platform_pci=1

pci=['02:00.0', '02:00.1']

gfx_passthru=0

Я даже в Шindows 8 установил специальные драйверы ATi/AMD для Шindows 8 - всё равно не увидел!

Я даже не знаю, поддерживает ли мой процессор эту IOMMU, и включена ли вообще аппаратная виртуализация в Xen! Потому что все поля информации о процессоре пусты. А любое необычное действие выводит окно ошибки с непонятными питонологами.

А я надеялся запустить, установить и поиграть, не разбираясь в Xen. Полный конфиг-файл, сгенерирован графической оболочкой:

name="windowsvista-1"
description="None"
uuid="12f82359-9c04-5350-29bb-e77b9d532d22"
memory=1024
maxmem=1024
vcpus=2
on_poweroff="destroy"
on_reboot="restart"
on_crash="destroy"
localtime=1
keymap="ar"

builder="hvm"
device_model="/usr/lib/xen/bin/qemu-dm"
kernel="/usr/lib/xen/boot/hvmloader"
boot="c"
disk=[ 'tap:aio:/2/xen/shindows,hda,w', ]
vif=[ ]


stdvga=0
vnc=1
vncunused=1

viridian=0
usb=1
acpi=1
pae=1

xen_platform_pci=1

usbdevice='tablet'

serial="pty"

pci=['02:00.0', '02:00.1']

gfx_passthru=0
ZenitharChampion ★★★★★
()
Ответ на: комментарий от ZenitharChampion

Я разобрался. Нашёл в выводе команды «xm dmesg» строчку "(XEN) AMD-Vi: IOMMU not found". Наверное, или процессор, или чипсет не поддерживают эту технологию. Потом попробую на другом компьютере.

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

Во первых, я бы рекомендовал не загружать драйвер для видеокарты на хосте, ибо процедура отвязки видеокарты от драйвера и последующая привязка к pci-stub или pci-back может криво сработать. В твоем случае тут один драйвер на две видеокарты, поэтому лучше пропиши pci-back в строку загрузки ядра.

типо этого :

module       /boot/vmlinuz-2.7.98.13 root=/dev/sda1 xen-pciback.hide=(02:00.0)(02:00.1)

И после загрузки убедись в lspci -v, что pciback загружены для видеокарты и ее хда.

Во вторых, опцию gfx_passthru=0 можно не указывать, ибо она ничего не делает +)

В третьих, видеокарта в госте заработает только после установки туда драйверов амд( не забудь перезагрузить винду +)

проверить, работает ли иомму можно взяглянув на

xm dmesg
, вроде )

Ну и сосбтвенно вместо беты восьмой винды взял бы чтонибудь проверенное.

По поводу virt-manager: а что, собственно ты хотел? его редхат пилит. Интересно, для какой системы виртуализации они это делают?) Уж точно не для kvm, правда?)

Ну и если настройка ксена так проблематична, то можно воспользоваться kvm, с точки зрения гуя тут все попроще конечно.

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

А на ноутбуках с двумя видеокартами при условии, что процессор поддерживает IOMMU проброс возможен? Если да, то нужен ли внешний монитор, и какие вообще условия для успешной реализации?

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

Мне кажется врядли, наверняка возникнут проблемы. Сейчас возможно активировать сразу две видеокарты на каком нибудь ноутбуке и выводить изображение с одной на дисплей, а с другой на монитор? Что то мне подсказывает, что там один контроллер дисплея подключен сразу к двум видеокартам. Так что, даже если железо будет поддерживать иомму, то переключаться между хостом и гостем не получится. В такой ситуации уж проще дуалбут... но я понятия не имею как на самом деле в ноутбуках устроена сдвоенная графика, так что это все лишь домыслы... )

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

Проверил на другом компьютере, IOMMU всё равно нет. Очень странно, процессор одной из последних архитектур AMD, K10. Наверное, нужен специальный чипсет. В самом начале не проверил потому что думал, что Xen мне сообщит о том, что поддерживается, а что нет, ка сообщает VirtualBox. Спасибо за подробный ответ!

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

IOMMU поддерживает Asus Crosshair V Formula. Ещё там какие-то были.

ekzotech ★★★★
()
31 октября 2012 г.

Обзавелся железом
DQ77MK
i7-3770
----
попытался пробросить gtx 460 что в xen 4.2 что в kvm она зашла, установились драйвера но винда пишет «Windows has stoped device because it has reported problem». Буду пробовать radeon на днях

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

P.S: кстати NVIDIA hda в Xen показывает что нормально подхаватилось, а в kvm пишет тоже самое сообщение что и на видеокарту

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