LINUX.ORG.RU

Добро пожаловать в Сити 17!

 , , ,


6

2

Так получилось, что на днях мне наконец доставили Valve Index, предзаказанный ещё в начале марта. Как раз к выходу нативной линуксовой версии Half-Life: Alyx!

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

Железо

Мой ПК:

  • MB: Asus PRIME X570-P
  • CPU: AMD Ryzen 9 3950X
  • RAM: 128 GiB ECC
  • GPU: AMD Radeon VII

VR-железки: Valve Index полный комплект (сами очки, два родных контроллера для рук, две базовые станции).

Впечатления:

  • Базовые станции для трекинга в пространстве:
    • Они издают постоянный высокочастотный шум, похожий на писк импульсных блоков питания. Происходит это из-за того, что внутри у них (базовых станций) находятся вращающиеся зеркала, приводимые в движение высокоскоростными двигателями. Особенно хорошо слышно, если играть ночью в тишине, а в самой игре звук тихий. На Реддите есть куча постов на эту тему, но всё равно не очень понятно насколько это нормально: кто-то пишет, что просто заменил по гарантии на новые и стало немного лучше (но возможно это эффект плацебо), кто-то пишет, что шум практически не слышно (но восприятие высокочастотных звуков у разных людей очень разное).
  • VR-очки:
    • Я ожидал, что они будут тяжелее, хотя сравнивать мне не с чем.
    • Если хочется поворачиваться не только в VR-пространстве при помощи аналогового стика на контроллере, но и IRL всем телом, то нужно помнить про кабель от компа до очков. Всё-таки он немного мешает. Насколько мне известно, беспроводного решения для Index на данный момент нету. Есть для HTC Vive, но линукс оно пока не поддерживает.
    • Хитрые открытые наушники, расположенные на небольшом расстоянии от ушей: звук ОТЛИЧНЫЙ, не давят (они вообще ушей не касаются), слышно что происходит IRL вокруг.
    • Минус этих наушников: слышно что происходит IRL вокруг, включая писк базовых станций =). Вообще на очках есть стандартный 3.5мм разъём для подключения любых обычных наушников, но я его не тестил.
    • В активных играх (Beat Saber, например) лицо потеет, мягкая накладка становится мокрой. Видимо для долгой игры надо сразу несколько сменных покупать. Они крепятся на магнитах и меняются легко.
    • Расстояние между левой и правой линзами, а так же расстояние от глаз до линз можно регулировать. Чем ближе линзы к глазам - тем больше угол обзора, но если совсем вплотную сделать, то в «потных» играх пот на линзы попадает.
  • Контроллеры
    • Очень удобно, что не нужно сжимать ладони чтобы их держать.
    • Трекинг отдельных пальцев работает не на 100% идеально, но всё же работает. В HL: Alyx это используется в геймплее. Есть сенсор силы сдавливания ручки контроллера ладонью, в халфе тоже используется, но для геймплея не важно.
    • По какой-то причине, при подключении к USB-хабу, подключенному к компьютеру, они как бы переходят в режим зарядки (судя по светодиоду), но по факту не только не заряжаются, но и разряжаются ещё сильнее. От обычных «телефонных» USB-зарядников зарядка идёт нормально. Возможно это какой-то странный баг в прошивке. Надо будет в разрыв кабеля мультиметр подключить и посмотреть какой там ток и в каком направлении течёт…

Ещё одна важная деталь: ПК у меня стоит на застеклённом балконе, кабели к нему идут через отверстие в стене. Кабель от VR-очков в моём случае просто так подключить бы не получилось, так что я сразу заказал активный удлинитель для DisplayPort. В российских магазинах ничего похожего найти не удалось, китайские не вывезут нужное разрешение и частоту. Через пассивный удлинитель тоже ничего не заработает нормально из-за длины.

Софт

  • Fedora 32
  • Kernel 5.6.13
  • Mesa 20.1.0-rc3
  • Xorg 1.20.8
  • i3

Заметки на тему софта:

  • В теории, можно играть и под Wayland (конкретно под sway). Патчи уже есть, но там сильно много компонент надо патчить, а мне пока лень. Плюс под вейландом есть какие-то проблемы с управлением (багрепорт от автора патчей). В релизных версиях это вряд ли скоро появится, так как сначала должны зааппрувить новое расширение протокола для Wayland и новое расширение для Vulkan.
  • Steam и SteamVR:
    • После установки SteamVR и перед первым запуском нужно разово сделать вот так (дать ему разрешение менять приоритет процессов):

      sudo setcap CAP_SYS_NICE=eip ~/.local/share/Steam/steamapps/common/SteamVR/bin/linux64/vrcompositor-launcher 
      
    • Если установлена переменная окружения mesa_glthread=true, то один из процессов SteamVR падает сразу при запуске (багрепорт #1, багрепорт #2).

    • В SteamVR по какой-то причине не всегда «прогружается» окно настроек. Решается перезапуском, иногда - несколькими перезапусками. Багрепорт.

    • Линуксовая версия SteamVR не умеет в блютус, его поддержка просто не реализована. А он нужен для обновления базовых станций, так что в линуксе их обновить пока невозможно. У меня была надежда, что обновление прошивки уменьшит шум, я ради этого даже раздел с виндой оживил, но чудо не произошло =(. Плюс их как-то можно переводить в спящий режим через блютус. Под линукс есть какие-то скрипты, но я пока не пробовал: просто выключаю базовые станции из розетки.

    • Обновление прошивок контроллеров и очков работает в линуксе.

    • В настройках SteamVR лучше сразу выключить SteamVR Home (это такая мини-песочница с виртуальной мебелью и возможностью запускать игры прямо оттуда), вроде это в Advanced настройках делается. Игры лагают гораздо чаще когда он включен. Не очень понятно почему, ведь Home не показывается во время игры.

    • DE/WM с композитингом лучше не использовать, из-за них может проседать производительность. На сам VR это никак не влияет, но большинство игр дополнительно рендерят игру в обычном окне, которое выводится через композитор.

    • Если ACO включен общесистемно (RADV_PERFTEST="aco"), то после запуска SteamVR всё начинает работать странно и GPU обычно ресетится после таймаута. Логи, дампы и прочее я пока не собирал, баг никуда не репортил (а надо бы). Что интересно, ACO можно добавить в командную строку к SteamVR и отдельным играм, тогда всё работает: RADV_PERFTEST=aco %command% в Launch Options.

    • В стимовских свойствах SteamVR я включил «beta» обновления. Где-то читал, что в линуксе от стабильных релизов SteamVR смысла мало. При этом сам стимовский клиент релизный, не бета.

    • При включении SteamVR, PulseAudio сам определяет включение одного из выводов звуковухи, встроенной в видеокарту (аудио до очков тоже идёт через DisplayPort), но при этом игры, запускающиеся через Steam впервые, звук выводят на дефолтный аудиовыход. Переключать руками не удобно (надо снимать очки), проще один раз задать PULSE_SINK.

      Итого, скрипт запуска стима под VR у меня вот так выглядит:

      #!/bin/sh
      
      set -eu
      
      unset mesa_glthread
      unset RADV_PERFTEST
      export PULSE_SINK="alsa_output.pci-0000_0b_00.1.hdmi-stereo-extra2"  # на разных системах значение разное
      
      exec /usr/bin/steam
      
  • Beat Saber - работает через стимовский встроенный wine, ничего особенного. Сама игра очень залипательная, хотя и геймплей простой.
  • Half-Life: Alyx
    • Окно наблюдателя вообще выключить нельзя, но можно уменьшить. У меня команда выглядит примерно так: RADV_PERFTEST=aco %command% -w 800 -h 600 -window.
    • Меню «Options» внутри игры иногда пропадает. Временно лечится прокруткой. Багрепорт.
    • Субтитры не отображаются. Если английский на слух воспринимаешь более-менее нормально, то это не проблема.
    • Если оперативной памяти достаточно для системы и всех файлов игры, то можно заметно сократить время подгрузки локаций просто положив все файлы в системный page cache: либо cat $GAME_FNAME >/dev/null для всех файлов, либо в стиме просто сделать «Verify integrity of game files» перед запуском игры.
    • Можно искать лут в мусоре руками. 10 из 10!
    • Можно сохранять игру практически где угодно - олдскул!

Насколько Valve Index работает с чисто опенсорсным стеком (без SteamVR) я пока не проверял. Знаю только, что опенсорсные либы есть, но детали пока даже не гуглил.

Про VR вообще

  • Эффект погружения есть! Если игра с элементами хоррора, то реально страшно становится.
  • Нужно привыкнуть к невозможности озираться по сторонам только глазами, без вращения всей головы. Происходит это довольно быстро. Чтобы картинка по краям не размывалась, нужна хитрая система, которая будет быстро двигать линзы вслед за движением глаз юзера. Вроде бы такое уже есть, но стоит сильно дорого.
  • Отображаемые близко к лицу предметы тоже размывает, но уже силами самих глаз. Глаза пытаются перефокусироваться на близкий предмет, а у линз то фокусное расстояние фиксированное! Это тоже довольно быстро перестаёшь замечать.
  • Самый заметный эффект от «плавного» передвижения контроллером (когда IRL ты стоишь, а персонаж плавно идёт, как в обычных клавомышных шутанах) очень похож на ощущение езды на эскалаторе метро без поручней первый раз в жизни. Это ощущение полностью проходит через какое-то время. При перемещении «телепортом» этого ощущения нет вообще.
  • Другой эффект от «плавного» перемещения: укачивание и лёгкая тошнота. Появляется не сразу, но мешает гораздо сильнее. В этом случае можно сделать только одно: отдохнуть от игры, выпить чаю, etc. После каждого сеанса игры эффект слабее и наступает позже, но у меня за два дня не прошёл полностью. При «телепортации» тоже возникает, но развивается медленнее.
  • В играх с маленькой игровой зоной, где перемещение в игре на 100% повторяет перемещение IRL (Beat Saber, например), ни «эскалатора» ни укачивания/тошноты нет вообще.
  • Несмотря на то, что в SteamVR есть специальный режим для игры в ограниченном пространстве, под него надо выделить свободный квадрат где-то 2x2 метра, в котором точно не будет никаких препятствий. Если меньше, то будет выше шанс что-нибудь сломать (возможно даже себе). Конкретно для Beat Saber нужна возможность делать небольшие шаги влево/вправо, плюс махать руками во все стороны.
  • В центр «игровой зоны» на пол можно положить что-нибудь рельефное и закрепить. Это даст возможность легко найти центр ногами на ощупь.
  • Возможность играть в комп не сидя жопой в кресле - это очень круто, ИМХО. У меня после нескольких часов в Beat Saber болят руки и плечи, а спина устала нагибаться за лутом в халфе 8).
  • Годных игр под VR пока маловато, к сожалению.

Вот такие дела. Хотел кратко, вышло чуть длиннее.

>>> Просмотр (1920x2520, 4327 Kb)



Проверено: cetjs2 ()
Последнее исправление: cetjs2 (всего исправлений: 4)

Ответ на: комментарий от ZenitharChampion

В обзоре Old Hard показывали ключ запуска, включающий русские субтитры

Судя по обсуждению в стиме, проблема всё-таки актуальная и касается только линукса. Правда не уверен, что кто-то завёл по этому поводу issue в github’е у valve.

Вы уверены, что в обзоре этот ключ указывали для версии под онтопик?

alarm
()
Ответ на: комментарий от th3m3

Лучше чем Nvidia работают. Я уже наелся этой нвидии с их полурабочими велосипедами с квадратными колесами, теперь только AMD.

AleksK ★★
()
Ответ на: комментарий от AleksK

+1 Денег на AMD-карточку нет, мудохаюсь с невидией.

sparkie ★★★★
()
Ответ на: комментарий от Odalist

Можно делать вывод, что автор лукавит, и использует для игр…

Завидовать нехорошо - особенно так сильно. Смотри клавиатуру слюнями не запачкай.

По теме - шикарно описано, давненько что-то столь интересное в галерее не появлялось.

zabbal ★★★★★
()
Ответ на: комментарий от Odalist

У местных школьников слюнки потекли от такого железа.

А ты что, до сих пор в школе? Или ты из солидарности? :-D

zabbal ★★★★★
()
Ответ на: комментарий от Odalist

У меня такое ощущение, что ты тут начинаешь заниматься примерно тем же, чем @Exmor_RS занимался в твоей теме, ну разве что манера общения у тебя не такая мерзкая. Не надо так.

Почему сразу «лукавит» и зачем «делать вывод», читай — ванговать? ТС же сказал «не только для игр», значит, и для игр тоже, но не только.

Я вот тоже думаю о сборке компа под несколько целей, просто игры у меня будут не главной целью.

hobbit ★★★★★
()

Теперь вопросы автору.

  1. Насколько оправдана покупка 128 Гб ОЗУ? У тебя в процессе работы бывает так, что съедается больше 64? Я понимаю, что запас карман не тянет, но всё-таки.
  2. Насколько сильно всё это шумит?
  3. Балкон-то изолированный и отапливаемый? А то повышенная влажность может всё это великолепие убить.
hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от hobbit

Зачем зовёшь?
Не ссорься с братушкой.
ТС норм, в отличии от.

Exmor_RS ★★★
()

Не зассал, и прикрутил VR, да с обзорчиком. Жму правый контроллер, молодец.

bass ★★★★★
()

Поздравляю, сам долго свой экземпляр ждал, там целая история. Начал сталкиваться с редкими проблемами, когда выхожу из игры, в steam home начинаются странный лаги: мелкие подвисания + если поворачиваю голову влево-вправо - там видна тёмная область. Как будто я не в стим хоум 360 градусов обзора, а 180. думал, может видеокарта перенагрелась - а нет, стабильно 80 градусов температура, во время игры в VR

Wulf
()
Последнее исправление: Wulf (всего исправлений: 1)
Ответ на: комментарий от xDShot

im-0, где можно найти разрабов под SteamVR которые могут мгновенно откликнуться?

Без понятия.

im-0
() автор топика
Ответ на: комментарий от alarm

Судя по обсуждению в стиме, проблема всё-таки актуальная и касается только линукса. Правда не уверен, что кто-то завёл по этому поводу issue в github’е у valve.

Я завёл, даже ссылку тут оставил. Пока никто не ответил.

im-0
() автор топика
Ответ на: комментарий от hobbit

Насколько оправдана покупка 128 Гб ОЗУ?

Кроме как под дисковый кеш - не оправдано.

У тебя в процессе работы бывает так, что съедается больше 64? Я понимаю, что запас карман не тянет, но всё-таки.

Если не считать кеши, то нет.

im-0
() автор топика
Ответ на: комментарий от hobbit

Насколько сильно всё это шумит?

3 вентилятора на видеокарте, 1 на процессоре, 2 корпусных, ещё 1 в блоке питания. Сильно шумит, если на полную все крутят.

Балкон-то изолированный и отапливаемый? А то повышенная влажность может всё это великолепие убить.

Изолированный, но не отапливаемый. Проблем за несколько лет не возникло.

По поводу влажности: конденсат будет появляться только если на холодный балкон попадёт тёплый и влажный воздух. При этом, чтобы конденсат оседал именно внутри ПК, сам ПК должен быть холоднее воздуха, который до него дойдёт. Маловероятно, учитывая что включенный комп - это отопительный прибор по сути 8).

im-0
() автор топика
Последнее исправление: im-0 (всего исправлений: 1)
Ответ на: комментарий от Wulf

Поздравляю, сам долго свой экземпляр ждал, там целая история. Начал сталкиваться с редкими проблемами, когда выхожу из игры, в steam home начинаются странный лаги: мелкие подвисания + если поворачиваю голову влево-вправо - там видна тёмная область. Как будто я не в стим хоум 360 градусов обзора, а 180. думал, может видеокарта перенагрелась - а нет, стабильно 80 градусов температура, во время игры в VR

Тёмная область при вращении головы - это reprojection. Когда игра или какое другое приложение не может быстро рендерить и не успевает отдать VR-композитору очередной кадр, композитор разворачивает предыдущий кадр с учётом поворота готовы и показывает его ещё раз.

Кстати, у тебя видеокарта и остальная система переведена в режим максимальной производительности? Если AMD + Mesa, то включен ли ACO для шейдеров?

Вообще SteamVR Home удивительно тормозной, при том что графика в нём не то чтобы крутая. Это одна из причин, по которой я его отключил в настройках.

im-0
() автор топика
Последнее исправление: im-0 (всего исправлений: 1)
7 июля 2020 г.
Ответ на: комментарий от th3m3

Нормально у amd с драйверами под linux. Да и вообще всегда было вполне достойно, огрехи у всех бывают. Но amd хотя-бы не ограничивает в технологическом плане. Все камни всегда полный фарш был. Это у intel обязательно какая-нибудь подстава, то vt-d нет, то ht нет, ecc вообще только на xeon’ах, то с acpi какая-то хрень, а сейчас вообще приходится выбирать между дырявое или тормозное.

rnz
()
Последнее исправление: rnz (всего исправлений: 1)
Ответ на: комментарий от rnz

Да это понятно. Меня конкретно случай ТСа интересовал.

hobbit ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.