Запуск VR на Linux.

Исходная статья: https://noostyche.ru/blog/2019/11/27/playing-vr-on-linux-mint-19-2-xfce/

Именно так, через SteamVR посредством SteamPlay (Proton) можно успешно играть в ВР игры на Linux. Нативных игр пока очень мало, но, благодаря SteamPlay (Proton), работают практически все VR-игры для Windows. Проблемными остаются только те, чей запуск зависит от античитов BattlEye и Easy Anti-Cheat, но таких игр единицы. Стоит отметить, что производительность почти не отличается от таковой на Windows. В среднем ±5%, благодаря DXVK (в Proton используется по умолчанию).

Со списком работоспособных игр можно ознакомиться на ProtonDB.

Запуск VR на Linux., image #1

Описание действий будет вестись на примере использования шлема HTC Vive. Используемый дистрибутив: Linux Mint 19.2 Xfce. Настройка VR будет происходить в окружении рабочего стола Xfce 4.12.3.

Примечание: В данном случае применяется видеокарта AMD со свободным драйвером amdgpu. Для Nvidia основные различия только в необходимости установки проприетарного драйвера.

  • Версия драйвера для видеокарты должна быть достаточно свежей. На момент написания статьи свежайшим стабильным является Mesa 19.2.4.
  • Для работы DXVK в Proton устанавливаем пакет mesa-vulkan-drivers:i386 и mesa-vulkan-drivers:amd64
  • Подключаем шлем и всё остальное.
  • Через xfce4-display-settings («Дисплей») проверяем, что система обнаружила шлем как дополнительный экран:
Запуск VR на Linux., image #2

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

  • Для лучшей производительности VR лучше стоит отключить композинг для оконного менеджера. В Linux Mint Xfce это можно сделать через mintdesktop. Для отключения композинга в списке выбрать Xfwm4.
Запуск VR на Linux., image #3
  • Устанавливаем Steam, если не был установлен ранее. При первом запуске Steam будет предложено установить SteamVR. Устанавливаем.
  • В Steam включаем поддержку SteamPlay. Должна загрузиться выбранная из списка версия Proton (нужно использовать самую новую).
Запуск VR на Linux., image #4
  • Проверяем на ProtonDB, что желаемая игра успешно запускается, и устанавливаем её.
  • Запускаем SteamVR.
Запуск VR на Linux., image #5

ВАЖНО. Перед запуском игры сначала нужно запускать SteamVR, чтобы появилась панель управления SteamVR — vrdashboard. Если этого не сделать и сразу запустить игру или включить контроллеры, то панель управления (vrdashboard) не появится, а сам SteamVR придётся выключать через «Диспетчер задач», завершением процессов ~/.local/share/Steam/steamapps/common/SteamVR/bin/linux64/vrcompositor И ~/.local/share/Steam/steamapps/common/SteamVR/bin/linux64/vrserver

  • После запуска SteamVR появится окно SteamVR Compositor.
Запуск VR на Linux., image #6
  • Его нужно схватить и перетащить на экран шлема, просто перетянув окно за правую границу основного экрана (если экран шлема располагается справа в «Дисплеях» — xfce4-display-settings). Должно сработать «прилипание» окон, что позволит выровнять окно SteamVR Compositor. Если расположить окно со смещением, то изображение в шлеме тоже будет смещено.
Запуск VR на Linux., image #7
  • Запускаем игру и наслаждаемся.
Запуск VR на Linux., image #8
Запуск VR на Linux., image #9
  • Завершение работы. После закрытия игры сначала выключаем SteamVR закрытием панели vrdashboard. Потом отключаем базовые станции (если нужно) и отключаем шлем через xfce4-display-settings («Дисплей»), иначе он продолжит работу в режиме обычного второго экрана, чего нам не нужно. Отключать шлем от компьютера не требуется.

На этом всё. Главное помнить, что сначала через Steam включаем SteamVR, а потом запускаем игру и/или включаем контроллеры. Иначе придётся заморочиться с завершением процесса ~/.local/share/Steam/steamapps/common/SteamVR/bin/linux64/vrserver через «Диспетчер задач».

1246 views·5 shares
1246 views