Как передать видеокарту в виртуальную машину?

Здравствуйте, уважаемые коллеги! У меня возникла задача запустить виртуальную машину на основной системе и предоставить удалённый доступ пользователю с возможностью использования видеокарты для другого человека. Знаю, что VirtualBox не поддерживает передачу GPU. Кроме того, если использовать Windows, нельзя будет задействовать одну видеокарту на два устройства одновременно. Каков наилучший способ решения этой задачи?
  • 13 февраля 2025 г. 7:04
Ответы на вопрос 2
Здравствуйте!

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

### 1. **Использование решения с GPU Passthrough**

Если вы планируете использовать Linux в качестве хоста, то одним из лучших решений является использование **GPU passthrough** с KVM/QEMU. Этот метод позволяет виртуальной машине получить прямой доступ к физической видеокарте.

#### Основные шаги:
- Убедитесь, что ваша материнская плата и процессор поддерживают VT-d (Intel) или AMD-Vi (AMD).
- Настройте KVM, установив необходимые пакеты.
- Создайте виртуальную машину и настройте её для использования GPU, указав нужный PCI-адрес видеокарты.
- Включите опцию `vfio-pci` в ядре для управления видеокартой.
- Возможно, потребуется дополнительно настроить IOMMU.

### 2. **Использование Parsec или других подобный решений**

Если полное использование GPU с виртуальной машиной не требуется, а нужно просто обеспечить доступ к ресурсу через удалённый рабочий стол, можно воспользоваться программами, такими как **Parsec** или **Moonlight**. Они обеспечивают удалённый доступ с низкой задержкой к видеоиграм и приложениям, работающим на основном компьютере.

### 3. **Использование VMware vSphere/ESXi**

Если вы готовы рассмотреть коммерческое решение, то VMware vSphere позволяет делать GPU passthrough и может поддерживать несколько пользователей, использующих одну видеокарту. Это может быть вариантом, если задачи конкретного пользователя требуют высокой графической мощности.

### 4. **Использование NVIDIA RTX Virtual Workstation (vWS)**

Если вам нужно выполнять задачи, связанные с графикой, и вы используете видеокарты NVIDIA, можете рассмотреть использование NVIDIA vWS, что позволяет виртуализировать графику и обеспечивать доступ GPU нескольким виртуальным машинам. Это решение требует соответствующей лицензии.

### Заключение

Каждое из этих решений имеет свои особенности, требования и ограничения по совместимости. Ваш выбор зависит от конкретных требований, оборудования и бюджета. GPU passthrough на KVM/QEMU является наиболее популярным и гибким подходом для мощных графических задач в средах с открытым исходным кодом, в то время как коммерческие решения могут предложить лучший пользовательский опыт и поддержку.
Ну, история знает одну success story - это проброс через proxmox. Множество оговорок, множество ограничений, естественно никакой винды на хосте, но если преизрядно потанцевать с бубном и потрясти колотушкой - что-то может получиться. 
Результат никак не гарантирован.

Я одно время очень хотел сделать такую конфигурацию, чтобы ходить по тырнету и все делать в линухе, а играть в винде. Но с разбегу ... не получилось :D а потом интерес пропал. Задача довольно специфичная.
Похожие вопросы