LINUX.ORG.RU
ФорумTalks

В qemu-1.5.0 vga passthrought работает без потери производительности.

 


2

1

Сначала отдаем карточку vfio.

modprobe kvm
modprobe kvm-amd
modprobe vfio-pci
echo "0000:03:00.0" > /sys/bus/pci/devices/0000\:03\:00.0/driver/unbind
echo "0000:03:00.1" > /sys/bus/pci/devices/0000\:03\:00.1/driver/unbind
echo "1002 6849" > /sys/bus/pci/drivers/vfio-pci/new_id
echo "1002 1256" > /sys/bus/pci/drivers/vfio-pci/new_id

Запускать с опцииями:

-M q35 -device vfio-pci,host=03:00.0,x-vga=on

Поддержка видеокарт теперь официальная, также появилась экспериментальная поддержка нвидиа карт.

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

Может фотошоп запускать, а то на cirrus скучновато оно работает.

steemandlinux ★★★★★ ()

поддержка видеокарт

поддержка нвидия карт.

Тонко.

no-steam ★★ ()

Есть еще баг неприятный, видеокарта не входит в режим 3D и частоты остаются пониженными. Не помню как боролся с ним.

steemandlinux ★★★★★ ()

Отличная новость! Как раз поставил себе триальный фотошоп в Win7/QEMU. Надо обновить QEMU до свежей версии ...

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

AMD 890FX, 970, 990. Intel Q series, intel x79

Есть вероятность что может заработать и на других чипсетах. В настройках некоторых мат. плат, сделанных на «младших» вариантах чипсетов, например, H61 или FM2/A55, есть возможность включения vt-d/iommu.

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

Это VT-d процессора, но здесь надо на сайте интела смотреть поддерживает процессор или нет.

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

Графику некуда вывести.

в каком смысле? Разве нельзя заставить nvidia рендерить в буфер и потом это уже забирать?

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

ОС запускается все равно на интеле, даже не факт что её ОС сможет оптимус запустить как нормальную видеокарту.

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

Должно быть что-то типа такого:

DMAR:DRHD base: 0x000000feb03000 flags: 0x0

IOMMU feb03000: ver 1:0 cap c9008020e30260 ecap 1000

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

Сайт Intel противоречив, например, здесь - http://ark.intel.com/ru/products/52806/Intel-BD82H61-PCH написано что H61 не поддерживает vt-d, а здесь - http://www.intel.com/support/motherboards/desktop/sb/CS-030922.htm мат. плата DH61AGL есть в списке поддерживающих vt-d.

inoremap ★★ ()
Ответ на: комментарий от steemandlinux
ux32vd@~$ dmesg | grep IOMMU
[    0.038803] dmar: IOMMU 0: reg_base_addr fed90000 ver 1:0 cap c0000020e60262 ecap f0101a
[    0.038812] dmar: IOMMU 1: reg_base_addr fed91000 ver 1:0 cap c9008020660262 ecap f0105a
[    0.038889] IOAPIC id 2 under DRHD base  0xfed91000 IOMMU 1

Мне, правда, тут подсказывают что HM76 не держит vt-d... Но раз IOMMU есть значит таки поддерживает? Проц i7-3517U.

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

Есть поддержка чипсета, есть поддержка процессора.

Если твоя девайсина подключена к шине pciex16 (которая на самом деле pciex8), тогда проброс будет доступен, потому что эта шина процессорная. Но если воткнуть в pci или pciex1, тогда будет облом.

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

Есть у тебя всё. Да еще и активировано. Ты не сможешь звуковую или сетевую пробросить, зато видеокарту вполне, если конечно оптимус выеживаться не будет.

1. Собрать qemu из git.

2. убедиться в наличии модуля в ядре vfio-pci, загрузить его

3. Найти командой lspci -nn шину и id оптимуса.

4. поправить скрипт:

modprobe kvm
modprobe kvm-intel
modprobe vfio-pci
echo "0000:03:00.0" > /sys/bus/pci/devices/0000\:03\:00.0/driver/unbind
echo "1002 6465" > /sys/bus/pci/drivers/vfio-pci/new_id

Где 0000:03:00.0 - шина оптимуса, «1002 6465» - id.

Запустить qemu без vfio и поставить туда маздайку.

Я так запускаю:

qemu-system-x86_64 -nodefaults -m 4096 -smp 8,cores=8,threads=1,sockets=1 -cpu 'host' -device usb-mouse -M q35 -vga qxl -no-hpet -boot once=c,menu=on \
-enable-kvm -monitor stdio -chardev socket,id=serial_id,path=/tmp/serial-qemu,server,nowait -device isa-serial,chardev=serial_id -net nic,vlan=0,model=e1000 -net tap,ifname=tap0,script=/etc/guest-ifup -usb -device intel-hda -device hda-duplex \
-drive file='/home/blabla/win7',if=none,id=drive-ide0-0-0,media=disk,cache=none,aio=native,format=raw -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-drive file='/home/blabla/ru_windows_7_professional_with_sp1_vl_build_x86_dvd_623503.iso',if=none,id=drive-ide1-0-0,media=cdrom,snapshot=off,format=raw -device ide-drive,bus=ide.1,unit=0,drive=drive-ide1-0-0,id=ide1-0-0 \
-spice port=5930,disable-ticketing
steemandlinux ★★★★★ ()
Ответ на: комментарий от steemandlinux

Потом в опции запуска добавить "-device vfio-pci,host=03:00.0,x-vga=on" и поставить дрова. Ну и думать как ты будешь выводить изображение. SPGT гомнища. radmin можно попробовать как вариант.

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

Если будет ругаться на отсутствие iommu, добавить в опции запуска ядра линукса intel_iommu=on

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

Кстати, сам по себе включённый IOMMU на 970-м чипсете сам по себе вызывал внезапные проблемы с сетью на ровном месте (судя по гуглу эта проблема мучает многих). Пришлось вообще отключить. Мамка, по-моему, GA-970A-UD3.

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

Оно еще очень любит марвелловский сата контроллер. Система не грузится.

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

Сайт Intel противоречив

Ну тогда совсем нехорошо, т.к я на него обычно ориентируюсь если беру их железо. :(

Вообще под проброс видеокарт лучше использовать только проверенное железо.

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

true_admin> Объясни ламеру, можно ли прокинуть внутрь nvidia

С большими костылями. Это у радеонов проблем нет, а у невидии с этим всё плохо.

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

хотя звуковуху удалось прокинуть, а при пробросе видео паника

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

Она на процессоре висит. PCI Express 3.0 Graphics.

Т.е. из-за того что она на проце и проц держит vt-d её можно прокидывать, верно? А всё остальное нельзя потому что оно подключено через чипсет и чипсет vt-d не держит?

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

R2

Первая ревизия вроде получше.
Кстати, с M5A97 Pro завелось.

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

У вас два радеона и один модуль ядра. Надо перед загрузкой модуля radeon.ko или fglrx.ko загрузить vfio-pci и отдать ему видеокарту. По этой причине у меня gt610.

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

вот как, надо будет затестить, только пробовал я на сусе, там как мне показалось виртуализация лучше допилена, а щас убунта стоит.

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

Для таких дел qemu все-равно надо собирать руками. А вообще нравится скорость развития, вперед всех убежал. Еще qdev и qom допилят и будет монстр.

steemandlinux ★★★★★ ()

стенания нищеброда

Вот здесь прочитал:

If your hardware doesn't have an IOMMU... you'll not be able to assign devices in KVM. Some work towards allowing this were done, but the code never made it into KVM, due to various issues with the code.

Интересно, где можно найти результаты этой работы? Или это про Xen? И еще интересно, можно ли сделать на основе AMD GART IOMMU проброс VGA? Википедия говорит, что GART это разновидность IOMMU.

# dmesg |grep PCI-DMA [ 1.535512] PCI-DMA: Disabling AGP. [ 1.535688] PCI-DMA: aperture base @ bc000000 size 65536 KB [ 1.535828] PCI-DMA: using GART IOMMU. [ 1.535960] PCI-DMA: Reserving 64MB of IOMMU area in the

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

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