Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    info@proxmox.su
    +7 (495) 320-70-49
    Заказать звонок
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Телефоны
    +7 (495) 320-70-49
    Заказать звонок
    0
    0
    0
    Аспро: ЛайтШоп
    • +7 (495) 320-70-49
      • Назад
      • Телефоны
      • +7 (495) 320-70-49
      • Заказать звонок
    • info@proxmox.su
    • Москва, Бакунинская улица, 69с1
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Proxmox Виртуальная Среда
    GPU passthrough учебник/справочник

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    GPU passthrough учебник/справочник, Proxmox Виртуальная Среда
     
    sshaikh
    Guest
    #1
    0
    23.04.2017 16:11:00
    Цель: Запустить безголовую виртуальную машину с полным доступом к современному графическому процессору для стриминга игр. Предпосылки: Недавний процессор и материнская плата, поддерживающие VT-d, привязку прерываний. Новейшая видеокарта с UEFI BIOS. Инструкции: 1) Включите в BIOS: UEFI, VT-d, режим многомониторности. Это делается через BIOS. Это можно подтвердить с помощью dmesg (поиск по строкам efi) или наличием /sys/firmware/efi в файловой системе и "vmx" в /proc/cpuinfo. Режим многомониторности пришлось активировать в моем BIOS, иначе карта вообще не обнаруживалась (даже хостом с помощью lspci). 2) Включите IOMMU через grub (повторите после обновления!) отредактируйте /etc/default/grub и измените GRUB_CMDLINE_LINUX_DEFAULT="quiet" на GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on video=efifb ff", затем выполните update-grub. Подтвердите с помощью dmesg | grep -e DMAR -e IOMMU - это должно дать вывод. Начиная с PVE 5, мне также пришлось отключить efifb. 3) Заблокируйте nvidia/nouveau, чтобы Proxmox не загружал карту (повторите после обновления!) echo "blacklist radeon" >> /etc/modprobe.d/blacklist.conf echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf echo "blacklist nvidia" >> /etc/modprobe.d/blacklist.conf Выполните update-initramfs -u для применения изменений. Убедитесь с помощью lspci -v - это покажет, загружен ли драйвер для адаптера VGA. 4) Загрузите модули ядра для виртуального ввода-вывода. Добавьте в /etc/modules следующее: vfio vfio_iommu_type1 vfio_pci vfio_virqfd. Я не уверен, как подтвердить above. 5) Получите идентификаторы и адреса GPU. Выполните lspci -v, чтобы перечислить все устройства в вашем ПК. Найдите нужный VGA-контроллер. Например: 01:00.0 VGA совместимый контроллер: NVIDIA Corporation GP104 [GeForce GTX 1070] (rev a1) (prog-if 00 [VGA controller]). У вас также может быть аудиоустройство (вероятно, для HDMI звука): 01:00.1 Аудиоустройство: NVIDIA Corporation GP104 High Definition Audio Controller (rev a1). Обратите внимание на номера в начале, в данном случае 01:00.0 и 01:00.1. Используя этот номер, выполните lspci -n -s 01:00. Это даст вам идентификаторы вендоров. Например: 01:00.0 0000: 10de:1b81 (rev a1) 01:00.1 0000: 10de:10f0 (rev a1). Запомните эти идентификаторы вендоров, в данном случае 10de:1b81 и 10de:10f0. 6) Назначьте GPU на vfio. Используйте это для создания файла, который назначает аппаратное обеспечение для vfio: echo "options vfio-pci ids=10de:1b81,10de:10f0" > /etc/modprobe.d/vfio.conf. После перезагрузки выполнение lspci -v подтвердит, что GPU и Аудиоустройство используют драйвер vfio: Драйвер ядра в использовании: vfio-pci. 7) Создайте виртуальную машину (но не запускайте её!). Сделайте это как обычно, используя SCSI VirtIO, VirtIO net и виртуальное оборудование баллона. Также добавьте следующее в конфигурационный файл виртуальной машины (/etc/pve/qemu-server/<vmid>.conf): bios: ovmf machine: q35. 8) Установите Windows 10 в виртуальную машину. Теперь вы можете установить Win10, при этом он будет осознавать UEFI BIOS. Вам может потребоваться предоставить драйверы VirtIO во время установки. После запуска обязательно ВКЛЮЧИТЕ УДАЛЕННЫЙ СТОЛ. Передача GPU отключит виртуальный дисплей, поэтому вы не сможете получить к нему доступ через Proxmox/VNC. Удаленный рабочий стол будет полезен, если у вас нет подключенного монитора или переданной клавиатуры. 9) Передайте GPU! Это фактическая установка GPU в виртуальную машину. Добавьте следующее в конфигурационный файл виртуальной машины: hostpci0: <адрес устройства>,x-vga=on,pcie=1. В приведенных выше примерах использование 01:00 в качестве адреса передаст как 01:00.0, так и 01:00.1, что, вероятно, именно то, что вам нужно. x-vga выполнит некоторую магию совместимости и отключит основной адаптер VGA. Вы можете проверить передачу, запустив виртуальную машину и введя info pci в соответствующей вкладке монитора виртуальной машины в веб-интерфейсе Proxmox. Это должно перечислить VGA и аудиоустройство с идентификатором hostpci0.0 и hostpci0.1. Windows автоматически установит драйвер. Вы можете это разрешить и подтвердить в диспетчере устройств, что карта загружена корректно (то есть без ошибок "код 43"). После этого продолжайте настраивать карту (драйверы и т.д.).
     
     
     
    sshaikh
    Guest
    #2
    0
    13.05.2017 11:10:00
    Рад это слышать, мне приятно, что это оказалось полезным. Что именно помогло?
     
     
     
    websterxsd
    Guest
    #3
    0
    16.05.2017 09:37:00
    Привет, твой гид очень помог мне заставить GPU работать на моей виртуальной машине, мы используем его для терминальных служб, так что это должно быть отличное решение. Только один вопрос. Когда я пытаюсь использовать AMD GPU, система полностью зависает, а nVIDIA работает без проблем. Ты сам сталкивался с этим? Также, когда я пытаюсь запустить PerformanceTest от PassMark Software, система полностью зависает, есть идеи, в чем может быть дело? И еще, я не вижу никакого отображения, когда кабели подключены. В любом случае, спасибо за помощь с этой проблемой! С уважением, Уэбстер
     
     
     
    sshaikh
    Guest
    #4
    0
    17.05.2017 13:10:00
    Я сам не пробовал AMD, и хотя мои инструкции упоминают AMD (например, при добавлении в черный список), они отнюдь не универсальные. С этим сказано, я не вижу причины, почему они не должны работать с небольшими корректировками. Попробуйте поэкспериментировать с BIOS хоста/гостя и проверьте, что ваша видеокарта поддерживает UEFI? Я воспользовался Unigine Heaven для тестирования производительности, и это было с локальным монитором и мышью и т.д. - через RDP это не сработало бы очень хорошо. Так что да, у меня был дисплей (гостя) с подключенным монитором.
     
     
     
    Dorin
    Guest
    #5
    0
    12.09.2017 20:57:00
    Я следовал вашим инструкциям, но не могу сказать, действительно ли это работает, так как у меня нет монитора, подключённого к видеокарте (GTX 1050 Ti, 4ГБ), но я могу подключиться к гостьевой системе (Win7 x64) удалённо. -Информация из "info pci" кажется нормальной. -Статус видеадаптера, похоже, не в порядке. У меня два вопроса: -Пробовал ли кто-то из вас добавить "romfile" в конфигурационный файл виртуальной машины (если требуется)? "hostpci[n]: [host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]", https://pve.proxmox.com/wiki/Manual:_qm.conf -Требует ли эта процедура скрыть виртуализацию от гостевой системы Windows? Что-то вроде: "<features> <hyperv> ... <vendor_id state='on' value='whatever'/> ... </hyperv> ... <kvm> <hidden state='on'/> </kvm> </features>", взято из конфигурационного файла QEMU XML. Как я могу сделать это в Proxmox?
     
     
     
    drdownload
    Guest
    #6
    0
    13.09.2017 08:50:00
    Привет, я тоже следовал этому руководству, и Passthrough сработал безупречно. Через два дня я пытаюсь запустить виртуальную машину, и тут — ничего, только черный экран, роутер не выдает IP. Если убрать строку hostpci, виртуальная машина запускается без проблем. Если попытаться выполнить команду info pci при запуске с hostpci, я просто получаю ошибку о том, что не удалось подключиться.
     
     
     
    sshaikh
    Guest
    #7
    0
    13.09.2017 10:43:00
    @Dorin У меня для настройки довольно полные инструкции (я уже несколько раз их обновлял!). Во время моих испытаний я выяснил, что файл прошивки не нужен (поскольку это новая карта с ACPI или что-то в этом духе, я точно не в курсе). Что касается скрытых режимов, то я помню, что опция x-vga в proxmox делает это за вас. Также имейте в виду, что удаленный рабочий стол мешает работе видеокарты (хотя это не должно мешать ей запускаться, как на ваших картинках), поэтому лучше использовать VNC. @drdownload, возможно, каждый шестой раз моя виртуальная машина зависает при загрузке. Если я не получаю подключение в течение пяти минут, я делаю жесткую перезагрузку виртуалки. Подозреваю, что есть сообщение или обновление, которое я не вижу.
     
     
     
    drdownload
    Guest
    #8
    0
    13.09.2017 10:49:00
    @sshaikh: Не знаю, это довольно настойчиво — попробую передать устройство в свою установку antegos, чтобы увидеть, проблема в виртуальной машине или в настройках.
     
     
     
    drdownload
    Guest
    #9
    0
    13.09.2017 11:27:00
    @sshaikh: Я пытался запустить это на виртуальной машине Linux, но она тоже не стартует. Если посмотреть в конце протокола виртуальной машины: истекло время ожидания.
     
     
     
    drdownload
    Guest
    #10
    0
    13.09.2017 17:22:00
    Я вспомнил, что играл с параметрами Bios, чтобы переключиться с ahci на intel rst для доступа к диску. (потом я перезагрузил, чтобы вернуть обратно) не знаю, что именно помогло, но теперь всё снова работает.
     
     
     
    Dorin
    Guest
    #11
    0
    13.09.2017 22:55:00
    Я пока что не смог проверить, работает ли видеовыход, подключив монитор к видеокарте, но я установил VNC Server в гостевой ОС. После подключения с помощью VNC Viewer я увидел дополнительное устройство "VNC Mirror Driver" в разделе "Адаптеры дисплея". 1. Результат после подключения с VNC Viewer, когда параметр hostpci0 закомментирован, "#hostpci0: 01:00,x-vga=on,pcie=1": "Статус устройства" "Стандартного VGA графического адаптера" - "Это устройство работает должным образом". Такой же статус, когда я использую консоль Proxmox vm. 2. Результат после подключения с VNC Viewer, когда параметр hostpci0 включен, "hostpci0: 01:00,x-vga=on,pcie=1" (с включенным или выключенным "VNC Mirror Driver"): просто черный экрана.
     
     
     
    Dorin
    Guest
    #12
    0
    14.09.2017 07:23:00
    В моем случае я обнаружил, что мне нужно использовать: "hostpci0: 01:00,x-vga=on,pcie=1,romfile=vbios.bin", иначе вывод с видеокарты не включается. Во время загрузки ВМ кажется, что она заходит в бесконечный цикл. Это происходит каждый раз, независимо от того, какой вариант я выбираю (Безопасный режим / Обычно) в меню загрузки безопасного режима. Время, которое я ждал завершения процесса загрузки, примерно на 1 минуту больше по сравнению с настроенной ситуацией, когда гости не находятся в режиме passthrough для GPU. Я также пробовал с разными версиями vbios (GTX 1050 Ti, 4 ГБ; кроме vbios моей карты), и машина по-прежнему не может загрузиться. Интересно, что мне разрешено удаленно подключаться к гостю с помощью VNC Viewer, но в любом выбранном режиме загрузки экран черный. Вы сталкивались с таким поведением?
     
     
     
    drdownload
    Guest
    #13
    0
    14.09.2017 11:45:00
    Еще один вопрос: Если я не использую графический адаптер (ВМ не запущена), могу ли я также использовать его для обычного терминала Proxmox? Я подумываю использовать встроенный Intel для виртуальной машины с macOS?
     
     
     
    Dorin
    Guest
    #14
    0
    21.09.2017 18:02:00
    В моей системе есть встроенное видео устройство (в процессоре Xeon) и один слот PCI-E 3.0 (слот 1). После того как я вставил GPU в слот 1, система (по умолчанию) отключила встроенное видео устройство (выхода не было). Когда я отключил GPU от слота 1, выход на интегрированную видеокарту был снова включен, но в вашей системе может быть другое поведение. В моем случае в BIOS у меня нет возможности вручную выбрать основной видеодрайвер.
     
     
     
    drdownload
    Guest
    #15
    0
    27.09.2017 10:22:00
    Да. Моя материнская плата может заставить встроенную графику Intel работать в качестве основного (постоянного) дисплейного устройства. Но поскольку я переустанавливаю Proxmox в эти выходные, я попробую, что произойдет, если передать как встроенную, так и PCIe графическую карту.
     
     
     
    VTOLfreak
    Guest
    #16
    0
    14.11.2017 05:44:00
    Новый на форумах. Я следовал этому руководству, но у меня возникла ошибка шины PCIe на консоли. Материнская плата: Asrock E3C236D4U Процессор: E3-1275v5 Видеокарта: XFX Radeon 480 8GB Обратите внимание, что на этой плате также есть IPMI. (aspeed2400) После применения инструкций из этой темы вывод консоли переключается с вывода GPU на вывод IPMI. BIOS отображается на Radeon, и как только загружается Proxmox, вывод консоли переходит на адаптер IPMI. Я получаю ошибку на скриншоте, когда пытаюсь запустить ВМ. Есть идеи или что-то, что я могу проверить?
     
     
     
    sshaikh
    Guest
    #17
    0
    14.11.2017 13:23:00
    @Dorin @drdownload Я не заметил, что были ответы, так что не знаю, с какими моментами вам все еще нужна помощь. Если что, я заметил экран загрузки Windows 7 в какой-то момент; я бы посоветовал, чтобы более поздние операционные системы использовали UEFI и прочую ерунду, что, безусловно, имеет значение и, возможно, объясняет, почему пришлось использовать romfile. @VTOLfreak Я никогда не встречал этой ошибки ранее, но я бы попробовал отключить любые удаленные доступы. Кроме BIOS графическая карта не должна ничего отображать (на самом деле, она должна быть выключена) до начала работы ВМ, да. Другие вещи, которые стоит проверить — это чтобы у вашей машины была q35 и, как выше, чтобы вы везде использовали UEFI.
     
     
     
    VTOLfreak
    Guest
    #18
    0
    14.11.2017 20:52:00
    Я просто ради теста заменил свою RX480 на старую HD5450. Виртуальная машина запустилась без проблем, в ней присутствуют как опциональная видеокарта, так и виртуальная. Вывод консоли Proxmox отображается на IPMI. Может, я смогу продать свою RX480 какому-нибудь майнеру...
     
     
     
    Miguel Moreira
    Guest
    #19
    0
    07.12.2017 15:29:00
    в моем случае я делаю именно этот процесс: 1.- /etc/default/grub GRUB_DEFAULT=0 GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="Proxmox Virtual Environment" GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on video=efifb ff" GRUB_CMDLINE_LINUX="" 2.- cat /etc/modprobe.d/vfio.conf options vfio-pci ids=1002:67df;1002:aaf0 3.- cat /etc/modprobe.d/blacklist.conf blacklist radeon blacklist nouveau blacklist nvidia blacklist amdgpu 4.- cat /etc/modules # /etc/modules: модули ядра для загрузки при старте. # # Этот файл содержит названия модулей ядра, которые должны загружаться # при старте, по одному в строке. Строки, начинающиеся с "#" игнорируются. vfio vfio_iommu_type1 vfio_pci vfio_virqfd 5.- CONFIG VM *********************** bios: seabios boot: cdn bootdisk: ide1 cores: 4 hostpci0: 84:00.0,pcie=1,x-vga=on ide1: local-lvm:vm-420-disk-1,size=50G machine: q35 memory: 8200 name: test-ethos net0: virtio=2A:53:68:3E:BD:20,bridge=vmbr10 numa: 1 ostype: win10 scsihw: virtio-scsi-pci smbios1: uuid=16a6b477-2ccd-4a1b-a361-193e4b188719 sockets: 2 ошибка ... # qm start 420 kvm: -device ide-hd,bus=ide.0,unit=1,drive=drive-ide1,id=ide1,bootindex=100: Не удалось создать IDE единицу 1, шине поддерживается только 1 единица kvm: -device ide-hd,bus=ide.0,unit=1,drive=drive-ide1,id=ide1,bootindex=100: Инициализация устройства не удалась. запуск не удался: команда '/usr/bin/kvm -id 420 -chardev 'socket,id=qmp,path=/var/run/qemu-server/420.qmp,server,nowait' -mon 'chardev=qmp,mode=control' -pidfile /var/run/qemu-server/420.pid -daemonize -smbios 'type=1,uuid=16a6b477-2ccd-4a1b-a361-193e4b188719' -name test-ethos -smp '8,sockets=2,cores=4,maxcpus=8' -nodefaults -boot 'menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg' -vga none -nographic -no-hpet -cpu 'kvm64,+lahf_lm,+sep,+kvm_pv_unhalt,+kvm_pv_eoi,hv_vendor_id=proxmox,hv_spinlocks=0x1fff,hv_vapic,hv_time,hv_reset,hv_vpindex,hv_runtime,hv_relaxed,enforce,kvm=off' -m 8200 -object 'memory-backend-ram,id=ram-node0,size=4100M' -numa 'node,nodeid=0,cpus=0-3,memdev=ram-node0' -object 'memory-backend-ram,id=ram-node1,size=4100M' -numa 'node,nodeid=1,cpus=4-7,memdev=ram-node1' -k en-us -readconfig /usr/share/qemu-server/pve-q35.cfg -device 'usb-tablet,id=tablet,bus=ehci.0,port=1' -device 'vfio-pci,host=84:00.0,id=hostpci0,bus=ich9-pcie-port-1,addr=0x0,x-vga=on' -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3' -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aad8fe7d304f' -drive 'file=/dev/pve/vm-420-disk-1,if=none,id=drive-ide1,format=raw,cache=none,aio=native,detect-zeroes=on' -device 'ide-hd,bus=ide.0,unit=1,drive=drive-ide1,id=ide1,bootindex=100' -netdev 'type=tap,id=net0,ifname=tap420i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' -device 'virtio-net-pci,mac=2A:53:68:3E:BD:20,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300' -rtc 'driftfix=slew,base=localtime' -machine 'type=q35' -global 'kvm-pit.lost_tick_policy=discard'' завершилась неудачей: код возврата 1 это мои сообщения или ошибочный вывод. Мне нужна ПОМОЩЬ, пожалуйста!!
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

    Конфиденциальность Оферта
    © 2026 Proxmox.su
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры