LINUX.ORG.RU

QEMU, проброс GTX 1060 в гостевую Windows 7. Нет видеосигнала.

 , ,


0

1

День добрый.

Отсутствует вывод изображения на проброшенной видеокарте.

lspci

02:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:1b84] (rev a1) (prog-if 00 [VGA controller])
        Subsystem: NVIDIA Corporation Device [10de:1b84]
        Flags: fast devsel, IRQ 25
        Memory at f8000000 (32-bit, non-prefetchable) [size=16M]
        Memory at 90000000 (64-bit, prefetchable) [size=256M]
        Memory at a0000000 (64-bit, prefetchable) [size=32M]
        I/O ports at d000 [size=128]
        Expansion ROM at f9000000 [disabled] [size=512K]
        Capabilities: <access denied>
        Kernel driver in use: vfio-pci
        Kernel modules: nouveau, nvidia_drm, nvidia

02:00.1 Audio device [0403]: NVIDIA Corporation GP104 High Definition Audio Controller [10de:10f0] (rev a1)
        Subsystem: NVIDIA Corporation Device [10de:1b84]
        Flags: fast devsel, IRQ 32
        Memory at f9080000 (32-bit, non-prefetchable) [size=16K]
        Capabilities: <access denied>
        Kernel driver in use: vfio-pci
        Kernel modules: snd_hda_intel

Скрипт запуска QEMU

#!/bin/bash
qemu-system-x86_64 \
	-boot menu=on \
	-drive file=mustdie.raw,format=raw,if=ide \
	-bios /usr/share/qemu/bios.bin \
	-m 4G \
	-enable-kvm \
	-machine q35,accel=kvm \
	-cpu host,kvm=off \
	-net nic \
	-usbdevice tablet \
	-device ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=1,chassis=1,id=root \
	-device ahci,bus=pcie.0,id=ahci \
	-device vfio-pci,host=02:00.0,bus=root,addr=00.0,multifunction=on,romfile=Palit.GTX1060.3072.160722.rom,x-vga=on \
	-device vfio-pci,host=02:00.1,bus=pcie.0 \
	-vga none 

Если запустить виртуалку без vga none, то в виндовом диспетчере устройств видяха в состоянии:

Не найдены свободные ресурсы, нужные для этого устройства. (Код 12)

В чем может быть причина подобного поведения?

Немудрено. Судя по выводу lspci, Нвидия используется самим Linux для вывода графики.

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

У хоста другая карта.

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK107 [GeForce GT 640] [10de:0fc1] (rev a1) (prog-if 00 [VGA controller])
        Subsystem: Palit Microsystems Inc. Device [1569:0fc1]
        Flags: bus master, fast devsel, latency 0, IRQ 31
        Memory at fa000000 (32-bit, non-prefetchable) [size=16M]
        Memory at b0000000 (64-bit, prefetchable) [size=256M]
        Memory at c0000000 (64-bit, prefetchable) [size=32M]
        I/O ports at e000 [size=128]
        [virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
        Capabilities: <access denied>
        Kernel driver in use: nvidia
        Kernel modules: nouveau, nvidia_drm, nvidia

01:00.1 Audio device [0403]: NVIDIA Corporation GK107 HDMI Audio Controller [10de:0e1b] (rev a1)
        Subsystem: Palit Microsystems Inc. Device [1569:0fc1]
        Flags: bus master, fast devsel, latency 0, IRQ 29
        Memory at fb080000 (32-bit, non-prefetchable) [size=16K]
        Capabilities: <access denied>
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel

Vovanano ()

Попробуй поменять чипсет с q35 на i440fx. В последних версиях qemu на моём железе перестал работать проброс видео на q35. Поменял q35 на i440fx и, заодно, поставил загрузку через efi. В результате всё заработало.

Семёрка сама по себе часто не работает одновременно с эмулируемой и проброшенной карточками. У меня, например, в таком режиме семёрка даже не ставилась - картинка на экране просто замирала и всё, хотя восьмёрка поставилась без проблем.

ЗЫ Пользуюсь virt-manager. Все параметры, не выведенные в гуй, настраивал через virsh, благо такая возможность предусмотрена.

anonymous ()

Убрал romfile=Palit.GTX1060.3072.160722.rom с видяхи и все взлетело.

Vovanano ()

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

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

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

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

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

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

Дуалбут в помощь, удобство на том же уровне.

Лично мне хочется иметь возможность по удаленке винду для КАДов запускать.

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

Хотел узнать, реально ли играть в современные игры в виртуалке с пробросом такой видеокарты, при достаточно мощном процессоре?

Реально.

King_Carlo ★★★★★ ()

Правильно ли я понимаю?
Для возможности проброса видеокарты pcie необходимо, чтобы
1. она не использовалась хостом, т.е. хост должен быть загружен с указанием в грабе использовать видяху процессора.
2. материнка должна поддерживать vt-d - это только чипсеты Q-серий.

?

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

И поддержку виртуализации процессором не забудь.

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

отдать видяху

А как отдать видео перед запуском виртуалки и забрать ее обратно после? (в системе одна видеокарта)

Shaman2 ()
Ответ на: отдать видяху от Shaman2

Скорее всего отведаешь феерических багов/костылей. Проще перезагрузиться.

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