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. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.