Wxrd, составной сервер на базе Wayland для систем виртуальной реальности

Недавно Collabora представила составной сервер wxrd, который реализован на основе протокола Wayland и предназначен для формирования рабочего стола на основе компонентов xrdesktop в трехмерных средах виртуальной реальности.

В качестве основы используются библиотека wlroots, разработанная разработчиками пользовательской среды Sway, и составной сервер wxrc, предназначенный для использования в системах виртуальной реальности.

В отличие от решения, изначально предложенного в xrdesktop, wxrd предлагает специализированный составной сервер для сред виртуальной реальности, вместо адаптации оконных менеджеров и менеджеров скинов существующие рабочие столы для систем виртуальной реальности (проект xrdesktop предоставляет отдельные исправления для kwin и GNOME Shell, которые требуют адаптации для каждой новой версии этих компонентов).

Использование wxrd позволяет не только зеркально отображать содержимое существующего двухмерного рабочего стола одновременно с его отображением на обычном мониторе, но также отдельно обрабатывать окна, запущенные специально для трехмерного рабочего стола (то есть не для обеспечения доступа от шлема виртуальной реальности к рабочему столу, используемому в текущей системе) и формирует отдельную среду для шлема виртуальной реальности).

В отличие от аналогичных проектов такие как Simula VR, Stardust, Motorcar и Safespaces, составной сервер wxrd построен с учетом минимума зависимостей и потребления ресурсов. Wxrd также позволяет работать не только с приложениями, основанными на протоколе Wayland, но и позволяет запускать приложения X11 с использованием DDX-сервера xwayland.

Поскольку расширение протокола Wayland для виртуальных клавиатур находится в стадии разработки., ввод данных в wxrd реализуется через систему эмуляции клавиатуры, которая передает все символы Unicode, включая эмодзи, с виртуальной клавиатуры, представленной в xrdesktop.

wxrd требуется видеокарта, поддерживающая графический API Vulkan и расширение VK_EXT_image_drm_format_modifier, Совместимость с Mesa начиная с версии 21.1 (входит в состав Ubuntu 21.04). Использование Vulkan API для рендеринга требует расширения VK_EXT_physical_device_drm, которое было представлено в Mesa 21.2 (Ubuntu 21.10).

Из преимуществ использования отдельного составного сервера для систем виртуальной реальности вместо интеграции с оконными менеджерами 2D, используемыми для отображения традиционного рабочего стола:

  • При входе в сеанс на основе Wayland или X11 библиотека wlroots открывает окно, в котором вы можете легко фиксировать ввод с клавиатуры и события мыши и перенаправлять этот ввод в определенное окно в среде виртуальной реальности. В будущем они планируют воспользоваться этой возможностью, чтобы организовать ввод не только с помощью контроллера виртуальной реальности, но и с помощью обычной клавиатуры и мыши.
  • Windows не ограничена краями 2D-рабочего стола и может иметь произвольный размер, ограниченный только максимальным размером текстуры, поддерживаемым оборудованием.
  • Рендеринг Windows в wxrd выполняется с собственной частотой обновления 3D-гарнитуры (HMD), в то время как обычное зеркальное отображение окон оконного менеджера использует частоту обновления, используемую для обновления информации на фиксированном мониторе.
  • Рендеринг шрифтов может выполняться с учетом плотности пикселей 3D-шлема без привязки к плотности пикселей фиксированного монитора.
  • Можно использовать wxrd в системах, в которых есть только 3D-шлем и нет обычного монитора.

В то время как минусы отдельного составного сервера для виртуальной реальности:

  • В среде виртуальной реальности отображаются только приложения, которые были специально выпущены для отдельного составного сервера, без возможности переноса или зеркального отображения окон, которые уже открыты на традиционном рабочем столе, в среду виртуальной реальности (то есть для продолжения работы с открывать приложения в среде виртуальной реальности) нормальный экран, придется перезапускать в отдельной среде для 3D-шлема).
  • Поддержка Wayland может быть ограничена в реализациях Vulkan API. Например, gbm и wlroots нельзя использовать с проприетарными драйверами NVIDIA из-за отсутствия поддержки расширения VK_EXT_drm_format_modifier.

источник: https://www.collabora.com


Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Будьте первым, чтобы комментировать

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.