Играем в VR на Linux Mint 19.2 Xfce.
Как бы не было удивительно, VR через SteamVR довольно неплохо чувствует себя на Linux. Да, нативных игр пока очень мало, но, благодаря SteamPlay (Proton), работают практически все VR-игры для Windows, в особенности, запуск которых не зависит от античитов BattlEye и Easy Anti-Cheat.
В примере будет использоваться шлем HTC Vive. Настройка 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 Mint Xfce это можно сделать через mintdesktop. Для отключения композинга в списке выбрать Xfwm4.
- Устанавливаем Steam, если не был установлен ранее. При первом запуске Steam будет предложено установить SteamVR. Устанавливаем.
- В Steam включаем поддержку SteamPlay. Должна загрузиться выбранная из списка версия Proton (нужно использовать самую новую).
- Проверяем на ProtonDB, что желаемая игра успешно запускается, и устанавливаем её.
- Запускаем SteamVR.
ВАЖНО. Перед запуском игры сначала нужно запускать 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.
- Его нужно схватить и перетащить на экран шлема, просто перетянув окно за правую границу основного экрана (если экран шлема располагается справа в «Дисплеях» — xfce4-display-settings). Должно сработать «прилипание» окон, что позволит выровнять окно SteamVR Compositor. Если расположить окно со смещением, то изображение в шлеме тоже будет смещено.
- Запускаем игру и наслаждаемся.
- Завершение работы. После закрытия игры сначала выключаем SteamVR закрытием панели vrdashboard. Потом отключаем базовые станции (если нужно) и отключаем шлем через xfce4-display-settings («Дисплей»), иначе он продолжит работу в режиме обычного второго экрана, чего нам не нужно. Отключать шлем от компьютера не требуется.
На этом всё. Главное помнить, что сначала через Steam включаем SteamVR, а потом запускаем игру и/или включаем контроллеры. Иначе придётся заморочиться с завершением процесса ~/.local/share/Steam/steamapps/common/SteamVR/bin/linux64/vrserver через «Диспетчер задач».