Wxrd, um servidor composto baseado em Wayland para sistemas de realidade virtual

Faz pouco Collabora revelou o servidor composto wxrd, que é implementado com base no protocolo Wayland e projetado para formar um desktop baseado em componentes xrdesktop em ambientes de realidade virtual XNUMXD.

Como base, são usados ​​a biblioteca wlroots, desenvolvida pelos desenvolvedores do ambiente de usuário Sway, e o servidor composto wxrc, projetado para uso em sistemas de realidade virtual.

Ao contrário da solução proposta originalmente no xrdesktop, wxrd oferece um servidor composto especializado para ambientes de realidade virtual, em vez de adaptar gerenciadores de janela e skin desktops existentes para sistemas de realidade virtual (o projeto xrdesktop fornece patches separados para kwin e GNOME Shell, que requerem adaptação para cada nova versão desses componentes).

Usar wxrd permite não apenas espelhar o conteúdo de uma área de trabalho bidimensional existente, ao mesmo tempo em que é exibido em um monitor normal, mas também lidar com janelas iniciadas especialmente para uma área de trabalho tridimensional separadamente (ou seja, não para fornecer acesso de um capacete de realidade virtual ao desktop usado no sistema atual) e forma um ambiente separado para o capacete de realidade virtual).

Ao contrário de projetos semelhantes como Simula VR, Stardust, Motorcar e Safespaces, o servidor de composição wxrd é construído levando em consideração um mínimo de dependências e consumo de recursos. O Wxrd também permite trabalhar não só com aplicações baseadas no protocolo Wayland e possibilita rodar aplicações X11 usando o servidor DDX xwayland.

Uma vez que a extensão do protocolo Wayland para teclados virtuais está em desenvolvimento, entrada de dados para wxrd é implementado através de um sistema de emulação de teclado que transfere todos os caracteres Unicode, incluindo emoji, do teclado virtual fornecido no xrdesktop.

wxrd requer uma placa de vídeo que suporte a API gráfica Vulkan e a extensão VK_EXT_image_drm_format_modifier, Compatível com Mesa da versão 21.1 (incluído no Ubuntu 21.04). Usar a API Vulkan para renderização requer a extensão VK_EXT_physical_device_drm, que foi introduzida no Mesa 21.2 (Ubuntu 21.10).

Das vantagens de usar um servidor composto separado para sistemas de realidade virtual em vez de integração com os gerenciadores de janela 2D usados ​​para exibir uma área de trabalho tradicional:

  • Quando conectado a uma sessão baseada em Wayland ou X11, a biblioteca wlroots abre uma janela onde você pode facilmente capturar a entrada do teclado e eventos do mouse e redirecionar essa entrada para uma janela específica em um ambiente de realidade virtual. No futuro, eles planejam aproveitar esta oportunidade para organizar a entrada não apenas por meio de um controlador de realidade virtual, mas também por meio de um teclado e mouse convencionais.
  • O Windows não é limitado pelas bordas de uma área de trabalho 2D e pode ter um tamanho arbitrário, limitado apenas pelo tamanho máximo de textura suportado pelo hardware.
  • A renderização do Windows em wxrd é feita com a taxa de atualização do fone de ouvido 3D nativo (HMD), enquanto o espelhamento de janela do gerenciador de janela normal usa a taxa de atualização usada para atualizar as informações em um monitor fixo.
  • A renderização de fontes pode ser feita levando em consideração a densidade de pixels do capacete 3D, sem referência à densidade de pixels de um monitor fixo.
  • É possível usar wxrd em sistemas que possuem apenas um capacete 3D e não possuem um monitor regular.

Enquanto os contras de um servidor composto separado para realidade virtual:

  • Em um ambiente de realidade virtual, apenas os aplicativos que foram especialmente lançados para um servidor composto separado são mostrados, sem a capacidade de transferir ou espelhar janelas que já estão abertas na área de trabalho tradicional para o ambiente de realidade virtual (ou seja, para continuar trabalhando com aplicativos abertos em um ambiente de realidade virtual) tela normal, você terá que reiniciar em um ambiente separado para o capacete 3D).
  • O suporte do Wayland pode ser limitado nas implementações da API Vulkan. Por exemplo, gbm e wlroots não podem ser usados ​​com drivers NVIDIA proprietários devido à falta de suporte para a extensão VK_EXT_drm_format_modifier.

fonte: https://www.collabora.com


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: AB Internet Networks 2008 SL
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.