LINUX.ORG.RU

3d проброшенной видеокартой, а вывод qxl

 , ,


1

1

Есть ноут в нём есть интегрированная интеловская графика и дискретная нвидия.

Хочется следующего: чтобы запуская qemu-kvm с проброшенной(vfio) видяхой получать собственно производительность видюхи: игры, фильмы, 3d-моделирование(cad). Гость - вин7.

Проброс осуществляеться(успешно ставятся дрова на карту в винде), однако при включенном -vga none вывода графики в окно эмулятора(разумеется?) не происходит, подробности попыток тут.

Пробовал при включенной опции -vga none подключаться с помощью spice - это попросту не получилось, опции запуска qemu-kvm для spice могу написать.

Ну и вопрос: это вообще возможно, или как?



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

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

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

вот моя инструкция
http://www.gearsongallium.com/?p=1020

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

https://www.youtube.com/watch?v=f9ny4NMizoU

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

Здорово.

Только у меня нет кнопок, чтобы переключать монитор с карты на карту. И винда только 7. Но есть лишний монитор.

Как тут быть?

Опции запуска:

qemu-system-x86_64 \
-boot menu=on \
-enable-kvm \
-M q35 \
-m 1024 \
-cpu host \
-rtc base=localtime \
-smp 1,sockets=1,cores=6,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='/root/win7',if=none,id=drive-virtio-disk0,format=raw -device virtio-blk-pci,scsi=off,bus=pcie.0,addr=0x5,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=2 \
-drive file='/dev/sda5',if=none,id=drive-virtio-disk1,format=raw -device virtio-blk-pci,scsi=off,bus=pcie.0,addr=0x8,drive=drive-virtio-disk1,id=virtio-disk1,bootindex=3 \
-drive file='/mnt/data/Downloads/Complete/7600/ru_windows_7_ultimate_x64_dvd_x15-65952.iso',if=none,id=drive-ide0-1-0,readonly=on,format=raw -device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-$
-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=01:00.0,bus=root,addr=00.0,multifunction=on,x-vga=on \
-device vfio-pci,host=01:00.1,bus=root,addr=00.1 \
-vga qxl \
-name 'windows7'

Mihahail
() автор топика
Ответ на: комментарий от Novell-ch

Но разве метод тут важен? К тому же без vfio карточки нвидии вроде как не пробрасываются.

sdl добавил, ничего не поменялось, а что именно должно было быть?

Mihahail
() автор топика
Ответ на: комментарий от Novell-ch

класс!

скажи а можно как-то расшарить винт/раздел с виртуальной виндой (такая замена дуалбуту)?

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

При включении вируалки я вижу окно qemu, в зависимости от того включена или отключена дискретка в винде я вижу или главный раб стол или расширеный в этом окне, и потом на основном раб столе при включенной дискретке включаю игру или программу, перетасвиваю ее на расширенный и в итоге имею 3д на отличной скорости в окне qemu. Я пробовал сделать qemu главным экраном, но тогда нет возможность запускать игры на дикретке, винде я не нашел ничего типа DRI_PRIME линукса, и способа как указать какую карту использовать для 3д я тоже не нашел.

Novell-ch ★★★★★
()
Ответ на: комментарий от Stil

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

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

у нвидии способ есть - в контекстном меню появляется пункт «запустить с графическим процессором nvidia»

Но: для этого нужно поставить галочку в апплете nvidia в панели управления - при запуске апплета он ругается: «Используемый дисплей не подключен к ГП nvidia.»

у меня всегда активен в окне qemu только основной рабочий стол, qxl. Дискретку я просто не знаю как включить. Она проброшена, определяется, но... как на неё переключиться - я хз.

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

так наверно к дискретке нужно подключить что то, и сделать ее глаыным столом, хотя в ноуте мож дикретка и не имеет выхода, я тут не спец.

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

Я пробовал подключить к hdmi выходу ноута отдельный монитор, только не понял как отдать его виртуалке).

И странно, что виртуалбокс(вроде как) умеет давать виртуалке по несколько виртуальных мониторов, а qemu(вроде как) нет. Наверно я плохо искал, прошу знающих меня направить.

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

Так не монитор нужно отдавать, а карту целиком на которой монитор висит, к какой карте относится тот hdmi ?
по моему вписать -vga qxl пару раз и будет куча виртуальных карт, только какой от них толк.

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

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

Ну тогда ответ на вопрос первого поста - нет, не реально.

Потому что по-видимому дискретка пишет в память штеуду.

Хотя ещё один вопрос: всякие spice/vnc тут не помогут?

Mihahail
() автор топика
Ответ на: комментарий от Novell-ch

Попробовал провернуть такое на десктопе: не вышло.

У десктопа есть два монитора: один к материнке(графика intel) другой к видеокарте.

При запуске с -vga qxl -sdl повторяется ситуация, описанная выше: запускается гость, в окне qxl, при этом в списке устройств есть видеокарта, но второго монитора не появляется. Переключиться на видеокарту не понятно как.

Однако завелось с -vga none, но не понятно, как туда отдавать движения мышки и нажатия кнопок.

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

короче как по мне нужно пробрасывать pci-stub методом, насколько я знаю vfio требует -vga none, multifunction=on,x-vga=on, там и хаки в биосе т.д. При пробросе оно заменяет монитор qemu, а если не отключать монитор то и карта нормально не прорбросится как я понял, с pci-stub таких заморочек нет.

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

Если честно, у меня при проброшенной видюхе и отключенной qxl даже драйвер нвидии встал, но как-то криво, при попытке вызвать его через панель управления он крашится.. Думаю надо или xen пробовать, или вашим методом делать.

Ввод клавиатуры отдаю с помощью spice, ибо подключена она к PS/2; а ввод мыши - пробросив юсб.

Mihahail
() автор топика

А можешь трезво написать, ты реальную видюху отдаешь или таки используешь как-то qxl? Если второе, то при чем тут игры и 3D?

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

Для непонятливых, трезво пишу: я пробую варианты: давать гостю, в который проброшена реальная `железная` видеокарта какие-то девайсы, типа qxl, или не давать.

Основная цель: получить в госте два монитора, содержимое одного из которых вижу в qxl-окне qemu(которое, как и хост система, рисуется в первом реальном мониторе), содержимое второго - на втором реальном мониторе, подключенном к реальной вышеупомянутой проброшенной видеокарте.

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