Подключение 2 HTC Vive к одному компьютеру. Пошаговая инструкция



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

Данный способ скорее всего сработает и под другие VR гарнитуры, такие как Oculus или WMR, однако тестировалось всё на Vive.

Данный способ также сработает под 3 и более гарнитуры, если характеристики железа будут позволять.

Внимание. Некоторые из проблем описанных в статье — возникают из за попыток использовать железо без пометочки «серверное» в качестве «серверного». По причинам известным только маркетологам — драйвера данных устройств отказываются функционировать под серверной операционкой или виртуальной машиной — поэтому в статье описаны изменения их конфигураций. Данные методы представлены только для ознакомления, и категорически не рекомендуются к использованию.

Подготовка


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


  1. Две видеокарты, каждая из которых по отдельности тянет VR-игры. (+1 шт. за каждый последующий шлем)
  2. Процессор поддерживающий виртуализацию, и имеющий не менее 8 потоков. (+4 потока за каждый последующий шлем)
  3. 8Гб оперативной памяти. (+4Гб за каждый последующий шлем)
  4. Достаточное количество USB 3.0 на материнской плате под все ваши устройства.

Характеристики железа использованного во время теста:


  • Материнская плата: X299 AORUS Gaming 3
  • Процессор: i7-7820x (16 потоков)
  • Видеокарты: GTX-1080 2 штуки
  • 64Гб оперативной памяти

Установка


1.1. Устанавливаем и производим начальную настройку Windows Server 2016.
1.2. (Опционально) На данном этапе у меня возникла проблема с драйверами сетевой карты. В её решении мне помогло это руководство.
2.1. Заходим в «Диспетчер Серверов».
2.2. Заходим в «Добавить роли и компоненты» и в открывшемся мастере создаем добавляем роль сервера «Hyper-V». Серверу необходимо разрешить подключаться к вашей сети.
2.3. После установки, заходим в «Диспетчер Hyper-V».
2.4. Создаем новую виртуальную машину в настройках которой необходимо выдать не менее 4Гб оперативной памяти и не менее 4 потоков процессора.
2.5. Запускаем виртуальную машину, производим на ней установку Windows 10 или Windows 7 по вкусу.
2.6. После установки и начальной настройки отключаем виртуальную машину.
3.1. Теперь необходимо прокинуть виртуальной машине одну из видеокарт. (Документация)
3.2. Отключаем SLI если он был активен
3.3. Заходим в «Диспетчер задач». Находим видеокарту которую будем отдавать виртуальной машине. Отключаем её.
3.4. Заходим в свойства отключённой видеокарты. В разделе «сведения» находим свойство «Пути к расположению». Копируем путь оттуда.
3.5. С помощью PowerShell настраиваем виртуальную машину и отдаём ей видеокарту. Для примера — имя машины VMName, а путь видеокарты $locationPath.

Set-VM -Name VMName -AutomaticStopAction TurnOff
Set-VM -GuestControlledCacheTypes $true -VMName VMName
Set-VM -LowMemoryMappedIoSpace 3Gb -VMName VMName
Set-VM -HighMemoryMappedIoSpace 33280Mb -VMName VMName
Dismount-VMHostAssignableDevice -force -LocationPath $locationPath
Add-VMAssignableDevice -LocationPath $locationPath -VMName VMName

Вернуть видеокарту обратно можно с помощью

Remove-VMAssignableDevice -LocationPath $locationPath -VMName VMName
Mount-VMHostAssignableDevice -LocationPath $locationPath

3.6. Запускаем виртуальную машину. Если все прошло успешно — в «Диспетчере задач» виртуальной машины появится отданная видеокарта.
4.1. Устанавливаем драйвера на видеокарту.
4.2.(Опционально) По умолчанию видеокарта GeForce не запускается на виртуальной машине и выдаёт ошибку 43. Мне с данной проблемой помог этот способ.
5.1. Прокинуть через Hyper-V обычные usb порты нельзя. (Через расширенный сеанс тоже не сработало) Поэтому решить проблему подключения можно двумя способами.
5.2. Если у вас есть PCI-E Usb контроллер — то его можно по аналогии с видеокартой прокинуть его виртуальной машине.
5.3. Если контроллера нет, можно воспользоваться программой USB-Redirector или USB Network Gate.
6.0. Теперь виртуальная машина и хост будут видеть каждая свой шлем, и дальнейшая настройка не отличается от обычной настройки VR-Гарнитур.

Заключение


Если у вас есть советы по оптимизации пунктов данной статьи, опыт подключения других VR гарнитур, опыт работы с AMD видеокартами или опыт более «Правильного» решения проблем с драйверами — пожалуйста напишите об этом в комментарии, чтобы статью можно было дополнить. Спасибо.
Tags:
vr,htc vive, oculus rift, mixed reality, windows server 2016, hyper-v

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