LINUX.ORG.RU
Ответ на: комментарий от dyasny

спасибо за ссылку, это полное и законченное руководство на русском языкею там есть и проброс видео и прочие ништяки

darkenshvein ★★★★★
() автор топика

https://bbs.archlinux.org/viewtopic.php?id=162768
It works! (комментарий)
Итоговый конфиг:

#!/bin/bash
MISC="
-name games
-machine q35,accel=kvm
-cpu host
-m 6050
-realtime mlock=off
-smp 8,sockets=1,cores=8,threads=1
-no-user-config
-nodefaults
-rtc base=localtime
-boot menu=on,strict=on
"
MONITOR="
-monitor stdio
-vga std
"
STORAGE="
-device virtio-serial-pci,id=virtio-serial0 
-drive file=/home/neverloved/qemu_windows/windows7amd64.img,if=none,id=drive-virtio-disk0,format=qcow2,cache=none,aio=native 
-device virtio-blk-pci,scsi=off,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1
-drive file=/home/neverloved/qemu_windows/windows_games.img,if=none,id=drive-virtio-disk1,format=qcow2,cache=none,aio=native
-device virtio-blk-pci,scsi=off,drive=drive-virtio-disk1,id=virtio-disk1
"
DEVICES="
-device intel-hda,id=sound0
-device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0
-device vfio-pci,host=03:00.1,id=hostdev0
-device vfio-pci,host=03:00.0,id=hostdev1
-device vfio-pci,host=00:12.0,id=hostdev2
-device vfio-pci,host=00:12.2,id=hostdev3
-device virtio-balloon-pci,id=balloon0
"
NET="
-netdev tap,helper=/usr/libexec/qemu-bridge-helper,id=hostnet0
-device virtio-net-pci,netdev=hostnet0,id=nic1
"
echo "$MISC $MONITOR $STORAGE $DEVICES $NET"
/usr/bin/qemu-system-x86_64 $MISC $MONITOR $STORAGE $DEVICES $NET

-device vfio-pci — железки, отвязанные недоинитом для openrc.
Недоинит для openrc:

#!/sbin/runscript

start() {
  ebegin "Assigning pci devices to vfio-pci"
  modprobe vfio-pci

  for dev in ${DEVICES//" "/ }; 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 "Binding $dev"
        echo $vendor $device > /sys/bus/pci/drivers/vfio-pci/new_id
  done

}

Список устройств в /etc/conf.d/vfio-assign:

DEVICES="0000:03:00.0 0000:03:00.1 0000:00:12.0 0000:00:12.2"

Пользуюсь год, брат жив, игорь плывёт.

У меня в cmdline ещё дописан iommu=1, но я его туда добавил когда бодался с виртуализацией на прошлой материнке.

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

работает только зен 4.1.
на 4.4 memory barrier: c 3 Гб ОЗУ карта пробрасывается, с 4 уже нет.

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

echo «blacklist radeon» >> /etc/modprobe.d/blacklist.conf

а если у меня обе видеокарты радеон? Можно указать ядру скрыть вторую видеокарту от домена0 ?
а вот, прочитал
pci-stub.ids=1002:6719,1002:aa80
оно?

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

это официальное руководство по настройке проброса GPU с VFIO, на родном, для подобных руководств, языке.

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

да, нужно скомандовать ядру привязать нужную видяху к pci-stub. оно.

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

Засада будет, если у тебя две одинаковые карточки. Тогда одну придётся отвязывать от pci-stub'а скриптом.

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

пожалуйста уточните. две одинаковые это два радеона иди две нвидии? или одинаковые модели?
у меня
радеон 2600про
и
радеон 7850
или имеется в виду, что у одинаковых карточек может обнаружиться одинаковый код в lspci ?

darkenshvein ★★★★★
() автор топика

https://bbs.archlinux.org/viewtopic.php?id=162768 весьма толковое описание настройки. Только учти, что для игрушек процессор должен всегда работать на максимальной частоте, иначе в играх фпс будет здорово скакать. Xen у меня не требовал таких игр с частотой, ибо всё и так работало зашибись. Кстати, есть стойкое ощущение, что под xen фпс в играх был выше, чем под kvm. По крайней мере ВоВ под xen выдавал чуть меньше 50 фпс, а kvm чуть больше 30 в одном и том же месте.

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

Два одинаковых id, типа 1002:6718. У тебя таких проблем не будет, вот если бы у тебя были одинаковые модели, то пришлось бы делать лишние телодвижения.

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

pci-stub.ids=1002:6719,1002:aa80

Если у тебя дебьян, то это не прокатит, так как pci-stub там собран модулем.

root@capitol:/etc/modprobe.d# cat pci-stub.conf 
options pci-stub ids=1002:6718,1002:aa80
root@capitol:/etc/initramfs-tools# cat modules 
# List of modules that you want to include in your initramfs.
# They will be loaded at boot time in the order below.
#
# Syntax:  module_name [args ...]
#
# You must run update-initramfs(8) to effect this change.
#
# Examples:
#
# raid1
# sd_mod
pci-stub
root@capitol:/etc/initramfs-tools# update-initramfs -k all -u
anonymous
()
Ответ на: комментарий от NeverLoved

xen плохо работает дисковой системой, по крайне мере, если судить по тому, что я замечал на аппаратном рейде. Может для АД и самбы не сильно будет заметно, но например в wow или ещё где при загрузке локации или анимации боса, это песец.

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

Ясно. Ну, у меня винты виртуальные, как видно из конфига. Так что не думаю, что это играет большую роль. Да и ОП выше ответил - новый зен выделывается на четырехгиговую видяху.

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

xen выделывается не на видяху, а на оперативку для гостя: если гостю выделили >~3.5ГБ оперативки, то проброшенная видеокарточка работать не будет. Причём, это происходит, когда используется апстримовская qemu. Поэтому надо либо использовать xen-4.5, либо xen'овский форк qemu. А так как в дебиане упоротый совпровождающий, который постоянно выпиливает xen'овский форк, то выбора не остаётся. Этот мантейнер однажды выпилил qemu-dm, когда xen ещё не умел работать с апстримовской версией qemu. Тогда пришлось ставить qemu-dm из lenny.

PS Можно пересобрать xen из убунты, там qemu-dm собирается. Если в убунте и дебьяне сопровождающий один и тот же, то он явно с головой не дружит.

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