ALVR

Материал из ALT Linux Wiki

ALVR - Air Light VR

GitHub: https://github.com/alvr-org/ALVR

Потоковая передача VR-игр с вашего ПК на гарнитуру через Wi-Fi. ALVR использует такие технологии, как Асинхронный Timewarp и Исправлено Подвижное Поставление для более плавного опыта. Большинство игр, которые запускаются на SteamVR или Oculus Software (с использованием Revive), должны работать с ALVR.

Поддерживаемые VR устройства

Модель Поддержка
Quest 1/2/3/Pro ✔️
Pico 4/Neo 3 ✔️
Vive Focus 3/XR Elite ✔️
YVR 1/2 ✔️
Lynx R1 ✔️
Apple Vision Pro ✔️
Smartphone/Monado ⚠️ *
Google Cardboard ⚠️ * (PhoneVR)
GearVR 🚧 (может быть)
Oculus Go ❌ **

Установка

1. Необходимо установить программу:

# apt-get install alvr

2.1 Так же необходимо установить клиент на VR устройство через SideQuest или ADB смотри следующий пункт

Скачать .apk файл для установки клиента на VR устройство можно командой:

$ alvr_get_client

или вручную, на странице релиза с номером совпадающим с тем, что установлен из репозитория

https://github.com/alvr-org/ALVR/releases - в списке релиза найти .apk файл и установить его

Установить SideQuest:

$ epm play sidequest

Запустить sidequest и установить скачанный клиент на VR устройство.

2.2 Альтернативная установка клиента с помощью ADB

Установить adb с помощью пакета android-tools:

# apt-get install android-tools

Проверка, что устройство подключено и видно в системе

$ adb devices

Скачать .apk можно командой:

$ alvr_get_client

Установка, версию в примере ЗАМЕНИТЬ на свою:

$ adb install ~/alvr_client_20.8.0.apk

Запуск

1. Для начала, откройте Steam и загрузите SteamVR, далее запустите его, он попросит пароль администратора для завершения установки.

2. Добавить

~/.local/share/Steam/steamapps/common/SteamVR/bin/vrmonitor.sh %command%

в опции запуска SteamVR (SteamVR -> Manage/Right Click -> Properties -> General -> Launch Options).

SteamVR настройки.png

3. После запустите ALVR. В очках искать приложение в Неизвестных источниках (выбрать сверху вверху справа) в приложениях.

4. Запустите SteamVR уже из ALVR кнопка Launch слева снизу в интерфейсе.

5. После того, как соединение со Steam будет зелёным, начнётся поиск шлема и он появиться в устройствах.

6. Нажмите Trust для появившегося устройства.

7. Можно запускать игры.

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

Решение известных проблем

Если постоянное переподключение

Пример в Logs:

22:04:00.922 [INFO] Client disconnected. Cause: Broken pipe (os error 32)
22:04:03.901 [INFO] Initial socket buffer size: send: 87040B, recv: 131072B
22:04:03.930 [INFO] Initial socket buffer size: send: 212992B, recv: 212992B
22:04:03.930 [INFO] Set socket send buffer succeeded: 425984
22:04:03.930 [INFO] Set socket recv buffer succeeded: 425984
22:04:03.932 [INFO] Render Target: 4288 2336
22:04:03.932 [INFO] Refresh Rate: 72
22:04:04.057 [INFO] Received new playspace with size: [1.2, 1.2]

Нужно настроить firewall или выключить его

firewall-cmd --zone=public --permanent --add-port=9943-9944/udp
firewall-cmd --zone=public --permanent --add-port=9943-9944/tcp

Если firewall-cmd --get-services показывает, что есть alvr

firewall-cmd --zone=public --add-service=alvr --permanent

Или полностью выключить firewall (Если вы знаете, что делаете)

systemctl stop firewalld

У меня Nvidia и появляются ошибки о CUDA чего-то там, а вот AppImage работает нормально

Версия 20.11.1-alt1 На Nvidia не работает автоматика с этой версии. Требуется включить CPU Кодирование.

Settings -> Video (таб) -> Encoder config (Expand) -> Software -> Force software encoding.

Или использовать AppImage

Версия 20.6.1 Согласно лицензии мы не можем распространять закрытый код ffmpeg, который требуется для этого. Можно игнорировать ошибки, программа сама переключится на программный кодировщик, который не сильно уступает NVEnc.

Возможное улучшение производительности

Можете проверить запуск Steam без Runtime обёртки, запустите в терминале:

env STEAM_RUNTIME=0 alvr_dashboard