Запуск 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.
Описание действий будет вестись на примере использования шлема 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 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 через «Диспетчер задач».