Что такое проброс видеокарты

Обновлено: 06.07.2024

Механизм проброса видеокарты на английском называется passthrough. Технология лет 7 существует, но до сих пор проще поставить системы параллельно. Поддержка метода развивается очень медленно и существует очень много ограничений. Я собрал и выложил теоретическую информацию которую смог найти. Пробросить свою видеокарту мне не удалось из-за отсутствия аппаратной поддержки.

Для проброса видеокарты с хоста в виртуальную машину VirtualBox нужно:

  1. Поддержка процессором или чипсетом материнской платы виртуализации VT-d (Intel Virtualization Technology for Directed I/O) или IOMMU у AMD.
  2. Поддержка видеокартой passtrough. Для старых видеокарт Nvidia заявлялось, что поддерживается линейками Quadro и Tesla. Попадается информация, что можно пробросить GTX 1050. Некоторые видеокарты можно патчить чтобы они видились как поддерживаемые. Для видеокарт AMD обозначают более широкую поддержку оборудования, но нужно проверять. В сети встречаются списки устройств которые удается пробросить, но единого перечня нет. На сайтах производителей GPU точной информации тоже нет.
  3. Вторая видеокарта. Одна будет работать на хосте, а вторая в ВМ (на хосте ее нельзя будет использовать).
  4. Виртуальная машина VirtualBox с включенной виртуализацией и установленной операционной системой 🙂

Перед пробросом нужно в BIOS хоста включить виртуализацию в настройках CPU и чипсета (если есть).

Для самого проброса потребуется произвести следующие действия:

00:02.0 Display controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)

01:00.0 VGA compatible controller: NVIDIA Corporation GK208B [GeForce GT 710] (rev a1)

Для отсоединения видеокарты нужно использовать команду:

Если вы хотите пробросить одну видеокарту, то вторую вам нужно в BIOS выбрать как основную. Иначе система не сможет пробросить в ВМ основную видеокарту и выведет ошибку доступа.

Возможно, что вам понадобится еще включить IOMMU в ядре.

В /etc/default/grub заменить

После чего выполнить в терминале

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

Финальный результат будет работать под Xubuntu 20.04 как хостовой системой, а гостевой системой будет Windows 10 2004, которая будет использоваться в основном под игры.

Об этой статье

Это руководство предназначено для Ubuntu 20.04 и основано на моих предыдущих руководствах для хост-систем Ubuntu 18.04 и 16.04.

Однако это руководство должно быть применимо и к Pop!_OS 19.04 и новее. Если вы хотите использовать Pop!_OS как хост-систему вы можете это делать, просто обращайте внимание на пометки специально для Pop!_OS .

Критические изменения для старых настроек проброса для Ubuntu 20.04

Версия ядра

Начиная с версии ядра 5.4, драйвер “vfio-pci” больше не является модулем ядра, он встроен в ядро. Нужно найти другой способ вместо использования конфигурационных файлов initramfs-tools/modules, как я рекомендовал, например, в руководстве для 18.04.

Версия QEMU

Ubuntu 20.04 поставляется с QEMU версии 4.2, где есть некоторые исправления в аудио части. Так что будьте внимательней, когда будете переносить конфигурацию машины со старой системы.

Если же хочется использовать новейшую версию QEMU, то инструкция лежит тут.

Загрузчик

“Проблемой” для Ubuntu 20.04 загрузчик не является, но, по крайней мере, есть некоторые нюансы для одного популярного дистрибутива, который основан на Ubuntu – Pop!_OS 20.04

Я думаю, что начиная с версии 19.04, Pop!_OS использует systemd в качестве менеджера загрузки, а не grub. Это означает, что запуск команд ядра работает по-разному в Pop!_OS

Введение в понятия VFIO, PCI passthrough и IOMMU

Виртуальная функция ввода-вывода (или VFIO) обеспечивает виртуальной машине (ВМ) прямой доступ к аппаратному ресурсу PCI, такому как графический процессор (GPU). Виртуальные машины с настроенным пробросом GPU могут получить близкую к реальному железу производительность, что делает возможным запуск игр на виртуальной машине Windows.

Позвольте сделать следующие упрощения, чтобы утверждение в начале статьи о её дружелюбности к новичкам в Linux не было ложным:

Устройства PCI организованы в так называемые группы IOMMU. Чтобы пробросить устройство в виртуальную машину, мы должны передать все устройства одной и той же группы IOMMU. В идеальном мире каждое устройство имеет свою собственную группу IOMMU. К сожалению, мы живём не в идеальном мире.

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

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

Системные требования

Железо

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

  • AMD Ryzen7 1800x (CPU)
  • Asus Prime-x370 pro (Материнская плата)
  • 2x 16 GB DDR4-3200 running at 2400MHz (RAM)
  • Nvidia GeForce 1050 GTX (GPU хоста; PCIE слот 1)
  • Nvidia GeForce 1060 GTX (GPU для гостя; PCIE слот 2)
  • 500 GB NVME SSD (Гостевая ОС; слот M.2)
  • 500 GB SSD (Хостовая ОС; SATA)
  • 750W БП

При сборе комплектующих системы я стремился избежать необходимости патчинга ядра. Так что, патч переопределения ACS не требуется для указанной комбинации материнской платы и процессора

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

Настройки BIOS

Включите следующие опции в вашем BIOS:

  • Advanced \ CPU config - SVM Module -> enable
  • Advanced \ AMD CBS - IOMMU -> enable

Я использую версию 4207 (от 2018.12.07)

Настройки операционной системы хоста

Имеется установленная Xubuntu 20.04 x64 в режиме UEFI, взятая отсюда.

Ubuntu 20.04 LTS поставляется с ядром версии 5.4, которое хорошо работает с VFIO. Проверить можно через uname -r

Внимание

Любое ядро, начиная с версии 4.15, работает для проброса для процессоров Ryzen.
За исключением версий ядра 5.1, 5.2 и 5.3, включая все их подверсии.

Прежде чем продолжить убедитесь что ваше ядро хорошо работает в среде VFIO

Установка необходимого ПО

Установите QEMU, Libvirt, менеджер виртуализации и связанное с ним программное обеспечение:

Настройка проброса PCI

Следующие устройства будут проброшены в виртуальную машину:

  • 1x GPU: Nvidia GeForce 1060 GTX
  • 1x USB host controller
  • 1x SSD: 500 GB NVME M.2

Включение функционала IOMMU

Включите функцию IOMMU через конфигурацию grub. В системе с процессором AMD Ryzen запустите следующую команду:

Отредактируйте строку, которая начинается с GRUB_CMDLINE_LINUX_DEFAULT, чтобы она соответствовала этой строке:

В случае если у вас Intel строка должна быть такой:

Как только вы закончите редактирование, сохраните изменения и выйдите из редактора (CTRL+S, CTRL+X).

→ Перезагрузите систему, когда команда будет завершена.

Проверьте, включен ли IOMMU, запустив после перезагрузки следующую команду:

Вывод будет примерно такой:

Настройки для загрузчика в Pop!_OS

Можно использовать модуль kernelstub загрузчика systemd. Используйте его вот так:

Выбор пробрасываемого GPU в гостевую систему

Внимание

После выполнения следующих шагов GPU для гостевой системы будет не виден в хостовой ОС. То есть у вас должен быть второй графический процессор для хостовой ОС.

Здесь мы идентифицируем и изолируем устройства, прежде чем передавать их виртуальной машине. Мы ищем видеокарту и USB-контроллер в подходящих группах IOMMU. Это означает, что либо оба устройства имеют свою собственную группу, либо они совместно используют одну группу.

Сам план состоит в том, чтобы применить драйвер vfio-pci к пробрасываемой видеокарте, прежде чем обычный драйвер видеокарты сможет взять её под контроль.

Можно использовать скрипт bash типа такого для определения устройств и их группировки:

Синтаксис результирующего вывода выглядит следующим образом:


Рис. 1: Описание вывода скрипта IOMMU

Интересующие нас части шины PCI выделены красным на рис.1, а оранжевым выделены идентификаторы устройств.

Вот эти устройства нас интересуют:


Рис. 2: группы IOMMU для проброса устройств в виртуальную машину на ASUS Prime x370-pro

Мы изолируем GTX 1060 (PCI-bus 0c:00.0 и 0c:00.1 ; device id 10de:1b83 , 10de:10f0 )

USB контроллер (Шина PCI 0d:00.3 ; device id 1022:145c ) используется позже

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

Изоляция гостевого GPU

Чтобы изолировать графический процессор, у нас есть два варианта. Выберите устройства по адресу шины PCI (PCI bus address) или по идентификатору устройства (device ID). Оба варианта имеют свои плюсы и минусы.

Применение драйвера VFIO-pci по идентификатору устройства (через загрузчик)

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

Обновим grub еще раз и добавьте идентификаторы устройств PCI с параметром vfio-pci.ids

Запустите sudo nano /etc/default/grub и обновите строку GRUB_CMDLINE_LINUX_DEFAULT:

Примечание

Команда “ kvm. ignore_msrs” необходима только для Windows 10 версии выше 1803 (в противном случае получите синий экран).

Сохраните и закройте файл. После этого выполните:

Внимание!

После перезагрузки пробрасываемая видеокарта будет проигнорирована хостовой ОС. Так что вы должны использовать другой графический процессор для хостовой ОС!

Для загрузчика systemd, такой как Pop!_OS 19.04 и новее, вы можете использовать:

Применение драйвера VFIO-pci по идентификатору шины PCI (через скрипт)

Этот метод работает, даже если вы хотите изолировать одну из двух идентичных карт. Однако обратите внимание, что в случае добавления или удаления PCI-оборудования из системы идентификаторы шин PCI будут меняться (также такое будет иногда случаться после обновления BIOS).

Создайте еще один файл с помощью sudo nano /etc/initramfs-tools/scripts/init-top/vfio.sh и добавьте следующие строки:

Спасибо /u/nazar-pc на reddit. Убедитесь, что строка

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

Сделайте скрипт исполняемым:

Создайте еще один файл с помощью sudo nano /etc/initramfs-tools/modules

И добавьте следующие строки:

Сохраните и закройте файл.

Когда все будет сделано, выполните:

Внимание!

После перезагрузки пробрасываемая видеокарта будет проигнорирована хостовой ОС. Так что вы должны использовать другой графический процессор для хостовой ОС!

Проверка проброса

Для проверки правильного проброса устройства выполните следующие действия:

Поздравляю, самая трудная часть сделана! 🙂

Создание виртуальной машины Windows

Виртуализация осуществляется с помощью эмулятора машины с открытым исходным кодом и виртуализатора под названием QEMU. Можно либо запустить QEMU напрямую, либо использовать графический интерфейс virt-manager для создания машины и её запуска.

Я предпочитаю графический интерфейс. К сожалению, не все настройки поддерживаются в virt-manager. Таким образом, я определяю основные настройки в пользовательском интерфейсе, делаю быстрый запуск виртуальной машины и “принудительно останавливаю” ее сразу после того, как вижу, что графический процессор передан правильно. После этого можно отредактировать недостающие опции в конфигурацию виртуальной машины с помощью virsh edit

Убедитесь, что ваш ISO-файл Windows, а также драйверы virtio для Windows загружены и готовы к установке.

Предварительная настройка

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

Создание образа диска (если нужно)

В этой статье я пробрасываю свой SSD NVME M. 2 виртуальной машине. Еще одним годным решением является использование образа диска в raw-формате, дополнительную информацию смотрите в разделе хранилище данных.

Создание моста Ethernet

Можете посмотреть статью настройки сети здесь.

Создание новой виртуальной машины

Как уже было сказано ранее мы используем графический интерфейс virtual machine manager для создания виртуальной машины с базовыми настройками

Для этого запустите диспетчер и нажмите кнопку “Создать новую виртуальную машину”

Шаг 1

Выберите “Local install media” и продолжайте дальше (см. рис. 3)


Рис. 3 Выбор типа установки виртуальной машины

Шаг 2

Теперь нам нужно выбрать ISO-файл Windows, который мы хотим использовать для установки (см. рис. 3). Также проверьте автоматическое обнаружение системы. Подсказка: используйте кнопку “browse local” (одна из кнопок на правой стороне), чтобы перейти к местоположению ISO.


Рис. 4: Создание виртуальной машины. Шаг 2 – Выберите ISO-файл windows

Шаг 3

Введите объем оперативной памяти и процессорных ядер, которые вы хотите передать, и продолжите работу с мастером. Я хочу использовать 8 ядер (максимум 16, скриншот показывает 12 по ошибке!) и 16384 Мб оперативной памяти в моей виртуальной машине.


Рис. 5: Создание виртуальной машины Шаг 3 – настройки памяти и процессора

Шаг 4

Если вы используете файл образа, выберите ранее созданный файл и продолжите работу. Я снимаю флажок “Enable storage for this virtual machine” и добавляю свое устройство позже.


Рис. 6: Создание виртуальной машины Шаг 4 – Выберите предыдущее созданное хранилище

Шаг 5

На последних шагах требуется чуть больше кликов

Введите осмысленное имя для виртуальной машины. Оно будет использоваться в имени конфигурационного файла xml. Думаю, что не стоит использовать имя с пробелами в названии. Это конечно не вызовет особых проблем, но я всё же был достаточно осторожен, чтобы так не делать ранее.

Кроме того, убедитесь, что вы установили флажок “Customize configuration before install”.


Рис. 7: создание виртуальной машины Шаг 5 – Перед установкой.

Замечание! Количество процессоров на рисунке 7 неверно. Он должен быть 8, если вы выполняли инструкции выше.

Первая настройка

После нажатия кнопки “Готово” откроется окно конфигурации виртуальной машины. В левом столбце отображаются все аппаратные устройства, используемые этой виртуальной машиной. Щелкнув по ним левой кнопкой мыши, вы увидите параметры устройства с правой стороны. Вы можете удалить аппаратное обеспечение с помощью щелчка правой кнопкой мыши. Вы можете добавить больше оборудования с помощью кнопки ниже. Обязательно нажимайте кнопку Применить после каждого изменения.

Следующие скриншоты могут немного отличаться от вашего графического интерфейса (так как я добавил и удалил некоторые аппаратные устройства).

Общее


Рис. 8: конфигурация виртуальной машины – обзор конфигурации

Процессоры

В секции “Model:” нажмите в раскрывающемся списке, как если бы это было текстовое поле, и введите

Это передаст всю информацию о процессоре гостевой машине. Для получения дополнительной информации вы можете прочитать главу информация о модели процессора в руководстве по производительности

Для параметра “Topology” установите флажок “Manually set CPU topology” со следующими значениями:

  • Sockets: 1
  • Cores: 4
  • Threads: 2


Рис. 9: конфигурация виртуальной машины – Конфигурация процессора *устаревший скриншот

Диск 1, гостевой жесткий диск

В зависимости от этапа предварительной настройки хранилища вы должны выбрать подходящий тип хранения для вашего диска (raw формат или проброшенное реальное оборудование). Дополнительные параметры см. в статье Хранение.

Настройка, если выбран raw файл

Когда вы впервые войдете в этот раздел, там будет написано “IDE Disk 1”. Мы должны изменить значение “дисковая шина:” на VirtIO.


Рис. 10: конфигурация виртуальной машины – конфигурация диска

Настройка, если выбран проброс диска

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

При первом редактировании конфигурации виртуальной машины добавьте следующий блок в раздел <devices> (одна строка после </emulator> должна быть подходящей).

Чтобы соответствовать вашему имени диска

VirtIO Драйвер

Далее мы должны добавить драйвер virtIO ISO, чтобы он использовался во время установки Windows. В противном случае установщик не сможет распознать объем хранилища, который мы только что изменили с IDE на virtIO.

Для того чтобы добавить драйвер нажмите кнопку “Добавить оборудование”, выберите пункт “Хранилище”, выберите загруженный файл образа.

В поле “Тип устройства:” выберите устройство CD-ROM. Для параметра “тип шины:” выберите IDE, иначе windows также не найдет компакт-диск (см. рис. 11).


Рис. 11: конфигурация виртуальной машины – добавление компакт-диска с драйверами virtIO.

Проброс видеокарты

  • 0000:0c:00.0 для GeForce GTX 1060
  • 0000:0c:00.1 для GeForce GTX 1060 Audio
  • 0000:0d:00.3 для USB контроллера


Рис. 12: конфигурация виртуальной машины – добавление устройств PCI (скриншот все еще со старым оборудованием).

Примечание: В случае, если вы позже добавите дополнительное оборудование (например, другое устройство PCI-E), эти идентификаторы могут быть изменены. Так что имейте в виду, что если вы измените оборудование, просто повторите этот шаг с обновленными идентификаторами.

Так и должно быть. Подключите вторую мышь и клавиатуру к USB-портам проброшенного контроллера (см. рис. 2).

Если ничего не происходит, убедитесь, что у вас есть оба устройства CD-ROM (по одному для ISO образа Windows 10 и драйвера virtIO) в вашем списке. Также проверьте запись “параметры загрузки”.

Как только вы увидите установку Windows, используйте “force off” из virt-manager, чтобы принудительно остановить виртуальную машину.

Окончательная конфигурация и дополнительные шаги

Для редактирования конфигурации виртуальных машин используйте в консоли: virsh edit your-windows-vm-name

После завершения редактирования вы можете использовать CTRL+S CTRL+X, чтобы сохранить изменения и выйти из редактора.

Я добавил следующие изменения в свою конфигурацию:

Оптимизация процессора AMD Ryzen

(будет дописано позже)

Hugepages для лучшей производительности оперативной памяти

Этот шаг является необязательным и требует предварительной настройки: Подробнее см. Hugepages.

найдите строку, которая заканчивается на </currentMemory>, и добавьте за ней следующий блок:

Примечание: убедитесь, что <memoryBacking> и <currentMemory> имеют одинаковый отступ.

Проверяем BIOS ./rom-parser image.rom
Если вы видите подобное PCIR: type 3(EFI ROM), то ваша видеокарта поддерживает OVMF.
Ваш конфиг виртуалки будет немножко отличаться.

1. Устанавливаем необходимый софт pacman -S qemu libvirt synergy
2. Нужно подкорректировать загрузку ядра, что бы не подцеплялась, наша видеокарта которую мы будем прокидывать. Нужно узнать id вендора и кода нашей видеокарты. Для этого выводим lspci Находим там код видеокарты, запоминаем его, и вводим уже lspci -n Теперь правим параметры загрузки grub, для этого открываем /etc/default/grub
и добавляем параметр в GRUB_CMDLINE_LINUX_DEFAULT vfio-pci.ids=10de:11c6,10de:0e0b
У меня следующего вида
Применяем параметры grub-mkconfig -o /boot/grub/grub.cfg , после перезагрузки, должно быть нечто подобное dmesg | grep vfio_pci :
Подкорректируем /etc/mkinitcpio.conf:
Применим mkinitcpio -p linux (linux изменить на имя вашего ядра)

3. После окончания установки, настало время прокинуть видеокарту.
Раскоментируем строку в конфиге
и запустим виртуалку.

Если все прошло хорошо, должно определиться новое устройство, скачиваем и устанавливаем драйвера для видеокарты, я не ставил никакого лишнего софта, только драйвера, пишут что Catalyst control center да и nvidia experience загоняет в синий экран, не проверял.

Нужно не забыть установить synergy, без этой программы управление(мышкой и клавиатурой) виртуалкой будет невозможно.
Найдете ее на торрентах или прочих сайтах, там в настройках надо указать client: 10.0.2.2(дефолтный ip хоста) и имя экрана, допустим Windows. Теперь настроим synergy на хосте(компьютер с Linux), создадим конфиг следующего содержания:
synergy.conf
Windows и Linux это имена экранов, измените на ваши
Запустим synergy synergys --config synergy.conf --debug INFO , и при передвижение мышки за левую часть экрана, она должна переходить на виртуалку.
Если все получилось, выключаем виртуальную машину, в конфиге меняем строку -vga std на -vga none , подключаем к выходу проброшенной видеокарты кабель к монитору, запускаем виртуалку и у нас на экране должна появится картинка с процессом загрузки. Проверяем функциональность synergy, кнопка F12 блокирует курсор на текущем экране.


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

UPD 01.06.2019
Обновил компьютер до Ryzen и столкнулся с проблемой
Подробности здесь AMD Ryzen и проблемы с пробросом видеокарты в QEMU KVM

UPD 15.09.2019
После очередного обновления начались неприятности, qemu падал в core-dump при попытке издать малейший звук, решилась эта проблема добавлением строки
1000 — id вашего юзера, все переменные QEMU_AUDIO можно убрать.

Если будет писать что нет доступа

Можно скопировать пользовательские cookie в root
На 15.09 проблема с Ryzen еще присутствует, приходится патчить ядро.

Мой опыт проброса PCI видеокарты на виртуальную машину с Windows 10. Для вдохновения и информации использовал следующие ресурсы:

1. Установка видеокарты


ASUS GeForce GTX 1060 (PH-GTX1060-3G)

Данная видеокарта ранее использовал на домашнем ПК. После переустановки на Серверный ПК(Proxmox) перестали работать сетевые порты.

Как только начинается грузится Proxmox на сетевых адаптерах даже индикаторы перестают моргать. Оказалось дело в том что сбилась нумерация, проверить это можно так:

2. Настройка Proxmox

2.1 GRUB

Первым делом необходимо активировать модуль IOMMU

Привести строку к следующему виду (для AMD amd_iommu=on):

2.2 Необходимые модули

Перезапускаю сервер PVE


3. Создание и настройка VM (Виртуальной машины)

3.1 Создание VM

Создаю виртуальную машину:




Основные моменты это UEFI и Machine q35 (остальное по желанию)

Подключил 2 CD диска:

  1. Windows 10 install (.iso)
  2. virtio-win-0.1.185.iso (драйвера)

Установил ОС, драйвера с диска и qemu-agent (там же в диске с драйверами \guest-agent\qemu-ga-x86_64.msi)

3.2 Настройка VM

Редактирую строку CPU

При выполнении команды lspci вижу устройства

Здесь видео и аудио разделены как отдельные подинтерфейсы. Сам корневой интерфейс можно указывать как 1:00

Здесь видео и аудио разделены как отдельные под интерфейсы. Сам корневой интерфейс можно указывать как 1:00

Добавляю PCI Device на VM


Еще раз открываю файл конфигурации

Редактирую строку hostpci

3.2 Настройка Windows

Запускаю ОС и устанавливаю последние драйвера nVidia. Проверяю:


Включаю RDP, ставлю необходимые программы

4. Тестирование



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

RDP Gaming

Вопрос: Возможно ли и как играть на виртуальной машине по RDP?

Ответ: Да возможно, не во все игры

Многие шутеры и игры от 3 лица по простому не получится управлять мышкой. Другого виды игры (стратегии, мобы и т.п.) еще есть возможность попробовать. На самом деле протокол RDP достаточно быстро, плавно, качественно передают изображение, что позволяет запускать многие проекты.

Тут уперся в ОЗУ (надо выделить больше), заметные микролаги, но в целом играть можно.

Как играть на виртуальной машине?

Искал разные сервисы для GameStreaming-а и удаленных игр. Больше всего понравился MoonLight (официальный сайт)

Виртуальная машина будет Хостом (Необходимо установить GEFORCE EXPERIENCE) и включить SHIELD


Установил программу для Hosta (добавить разрешения в брандмауэр) и запускаю её

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




Настройки максимальные, играть гораздо комфортнее.

4. Итоги

Удалось полноценно пробросить видеокарту как PCI устройство.

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

Сервис MoonLight позволяет с любых устройств и операционных систем спокойно подключаться и запускать игры на виртульной машине.


Хороший мануал, пиши еще.

Добрый день. В пункте 1 вы указали о том что у сетевого интерфейса сменился идентификатор (нумерация). Каким образом решили эту проблему? Заранее спасибо.

Сдвиг нумерации вроде такой был enp6s0 стал enp7s0

Спасибо) я так же решил проблему))))

Если видеокарту туда сюда не таскать то проще так и сделать, а еще можно через udev забиндить названия по маку сетевушек:

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

Нужно будет детальнее смотреть, какая версия Proxmox? Возможно в новых версиях какие то нюансы добавились, какая модель видеокарты? По пунктам в инструкции все точь в точь прошло по плану? Для таких ошибок причин множество нужно методом исключения идти. Для начало советую на другом полноценном ПК с Win10 проверить видеокарту, затем с нуля начать по инструкции уже на виртуальной машине. Далее на wiki proxmox так же более подробная инструкция есть, по ней попробовать.

Читайте также: