Перейти к содержимому

Устранение неполадок

Ищите симптом, а не подсистему. Если ничто ниже не подходит, переходите к разделу Всё ещё не работает.

Экран восстановления предлагает восстановить оверлеи после перезапуска композитора.

vrOS показывает Даш, когда срабатывает действие вызова. Ввод, который его запускает, живёт не в vrOS: привязки контроллеров принадлежат SteamVR, а vrOS только регистрирует действия.

  1. Откройте SteamVR, затем «Привязки контроллеров». vrOS должен быть в списке для ваших контроллеров, с загруженной привязкой по умолчанию из комплекта.
  2. В VR откройте Настройки и перейдите в раздел «Управление». Там показана живая привязка, которую vrOS видит прямо сейчас, а ИЗМЕНИТЬ В STEAMVR открывает интерфейс привязок SteamVR на нужной странице. В окне на ПК эти строки пусты, а кнопка отключена — для показаний нужен запущенный сеанс VR.

По умолчанию назначенный ввод — двойное нажатие. Простое двойное нажатие скрывает и показывает всё; если при двойном нажатии удерживать жест рукой, переключается только Даш (жест по умолчанию из комплекта — ПИСТОЛЕТ, на левой руке). Аккорды, жест и рука — всё это настройки в Настройках → Управление. Когда одно нажатие удовлетворяет оба аккорда, побеждает аккорд Даша — так что Даш всегда можно вызвать обратно.

vrOS подключается к SteamVR, когда SteamVR уже запущен. Сам он его не запускает. См. Частые вопросы.

Это СКРЫТЬ / ПОКАЗАТЬ ВСЁ. Нажмите дважды ещё раз, чтобы вернуть всё обратно. Закреплённые оверлеи — исключение и остаются видимыми, а показ одного оверлея из списка в Даше или из окна на ПК откроет только его. Скрытие всего касается только отображения: оно никогда не сохраняется, и всё, что перезапускает сторону VR, возвращает ваши оверлеи показанными.

Они вернутся сами. Всё, что касается среды VR, GPU или API захвата, работает в отдельном контролируемом дочернем процессе, а всё долговременное состояние живёт в ядре приложения. Когда среда даёт сбой, ядро остаётся нетронутым: дочерний процесс отключается, ждёт возвращения среды и подключается снова. Если умирает сам дочерний процесс, vrOS перезапускает его с нарастающей задержкой и восстанавливает из состояния ядра — на месте, с вашей раскладкой.

Единственный случай, когда они не возвращаются, — цикл сбоев. После повторяющихся отказов за короткое время vrOS перестаёт перезапускать дочерний процесс и показывает ошибку в трее и в окне на ПК, вместо того чтобы биться дальше. Ошибку читайте там.

Проверьте, что сам SteamVR подключён полностью. Гарнитура, подключённая кабелем изображения, но не по USB, оставляет SteamVR подключённым наполовину: панели рисуются, отслеживание и ввод не приходят, а Даш выглядит как неподвижная картинка. Это самая частая причина мёртвого на вид Даша. Убедитесь, что SteamVR сообщает о готовности гарнитуры и контроллеров, прежде чем искать где-то ещё.

vrOS держит один арбитр ввода, и его задача — не мешать вам. Текущий владелец показан чипом на Даше: VR, ПЕРЕДАЧА или ПК.

  • Прикосновение к физической мыши или клавиатуре немедленно возвращает ввод рабочему столу. Задетая мышь даёт короткую блокировку; продолжительное, намеренное движение мышью — более длинную.
  • VR забирает ввод обратно, только когда вы намеренно нажимаете триггер на оверлее. Одно лишь движение контроллера его никогда не возвращает.
  • Набор текста идёт в последнюю панель захвата, по которой вы кликнули. Если нажатия клавиш попадают не в то окно, сначала кликните триггером по нужной панели.
  • Сразу после того, как вы печатали на физической клавиатуре, VR-клавиатура остаётся видимой, но неактивной несколько секунд. Во время этой блокировки её клавиши не делают вообще ничего, вместо того чтобы работать наполовину. Кликните триггером по панели, чтобы вернуть управление.

Полная модель описана в разделах Ввод и VR-клавиатура.

Клики не работают в одном конкретном окне (Windows)

Заголовок раздела «Клики не работают в одном конкретном окне (Windows)»

Windows не пропускает внедрённый ввод в окно, работающее с более высокими правами, чем у отправителя. vrOS намеренно работает без повышения прав и никогда не повышает их сам, поэтому окно, запущенное от имени администратора, не примет клики или клавиши с панели. Выбор источников помечает такие окна, так что это видно до захвата. Запустите это приложение без прав администратора, если можете.

Янтарный означает, что окно-источник свёрнуто на уровне ОС. Захват останавливается, панель держит последний кадр неподвижно и не перерисовывается ни разу. Нажмите ВОССТАНОВИТЬ — кнопка есть в строке оверлея и в строке списка ДОБАВИТЬ НАЛОЖЕНИЕ, — она восстановит окно и снова покажет источник в списке, как только он устаканится.

Если источник не свёрнут, а исчез, панель сообщает, что источник потерян: окно закрылось. Удалите оверлей (два шага, с ПОДТВЕРДИТЬ и ОТМЕНА) и захватите его заново.

Вызов сохранённого пресета сначала восстанавливает свёрнутые источники и лишь затем применяет раскладку, так что пресет не возвращается полным замороженных панелей.

По умолчанию показ оверлея, привязанного к МИРУ, приводит его туда, где вы стоите сейчас, и сохраняет заданное вами расположение. Это касается переключателя в строке, вызова пресета, возврата из СКРЫТЬ / ПОКАЗАТЬ ВСЁ и восстановления при запуске. Закреплённый оверлей сохраняет ровно то место в комнате, куда вы его поставили. Оба поведения — переключатели в Настройках → Общие, рядом со значениями по умолчанию для новых оверлеев и с тем, восстанавливаются ли оверлеи при перезапуске вообще. Кнопка ПО ЦЕНТРУ у отдельного оверлея возвращает одну панель к вам. См. Панели и Игровую зону.

Настройки → Маршрутизация звука сопоставляют по одному устройству вывода на канал: воспроизведение саундборда, подача в микрофон, звуки интерфейса и клавиатуры. Пусто означает системное устройство вывода по умолчанию.

Настроенное, но неподключённое устройство показывается в панели как потерянное. Звук на этом канале ждёт, вместо того чтобы за вашей спиной уйти куда-то ещё. Канал интерфейса — единственное исключение: он откатывается на системное устройство по умолчанию, потому что беззвучный отклик клавиатуры хуже, чем отклик, ушедший на другое устройство. Подключите устройство обратно — и канал привяжется снова; смена системного устройства по умолчанию тоже подхватывается, без перезапуска. Громкость 0 — это тишина; отдельного переключателя отключения звука нет.

Показатели производительности выглядят неправильно

Заголовок раздела «Показатели производительности выглядят неправильно»

Начните с Производительности. Два показателя чаще всего вводят в заблуждение.

Время драйверов. Каждая ячейка ядра несёт узкий вспомогательный столбик для времени DPC плюс прерываний. Его нет, когда время драйверов равно нулю, — на здоровой машине это большая часть ядро-секунд. У двух столбиков разные шкалы: столбик ядра — от 0 до 100 процентов, вспомогательный — от 0 до 25, поэтому тонкий столбик может рисоваться выше, обозначая при этом меньшее число. Точные цифры читайте в показаниях, которые ячейка открывает при наведении или фокусе: ядро, процент загрузки, DPC, ISR. Ядро, постоянно сидящее на нескольких процентах DPC, выполняет отложенную работу драйвера, а не работу приложения. На одном тестовом стенде ядро показывало 9,23 процента загрузки, из которых 4,62 процента приходилось на DPC: половину времени этого ядра занимал драйвер, и список процессов никогда бы об этом не сказал. В Linux те же две величины берутся из irq и softirq.

Самый нагружающий процесс и строка В/В. Оба берутся из одного общесистемного чтения таблицы процессов каждые две секунды, которое делается, только пока Даш показан, и имя — это исполняемый файл. Отключение монитора процессов в Настройках → Общие скрывает оба и прекращает чтение.

Компоновка области (ПОЛОСЫ, КЛАССИКА, КОНСОЛЬ, УВЕЛИЧЕННЫЙ) и полоса УСТРОЙСТВА тоже находятся в Настройках → Общие.

Захват идёт через портал совместного доступа к экрану вашего рабочего стола, поэтому вы видите собственный диалог вашей среды рабочего стола. Отмените его — и захват не начнётся.

Если вы стримите по беспроводной связи на гарнитуру класса Quest с хоста Linux: Steam Link сломан на стороне разработчиков для хостов Linux. Используйте WiVRn или Monado, ALVR либо проводную гарнитуру.

%APPDATA%\vrOS\config.toml в Windows, $XDG_CONFIG_HOME/vros/config.toml в Linux. Файл создаётся при первом изменении настройки; до этого его отсутствие означает значения по умолчанию.

  • Discord — быстрее всего, и там есть другие пользователи.
  • support.vros.cat — заводит отчёт об ошибке в публичном трекере, с номером, за которым можно следить.

Укажите вашу ОС, вашу гарнитуру, на какой среде VR вы работаете (SteamVR либо Monado и WiVRn) и что вы делали прямо перед тем, как всё пошло не так. У vrOS нет телеметрии, и он не отправляет отчёты о сбоях, поэтому никакие сведения о проблеме не доходят до нас, если вы сами их не отправите.