Xrdesktop um projeto de fone de ouvido de realidade virtual para usar Gnome e KDE

xrdesktop

Os desenvolvedores da empresa Collabora apresentaram o projeto xrdesktop, em que, com o apoio da Valve, uma biblioteca está sendo desenvolvida com elementos para interagir com desktops tradicionais em ambientes tridimensionais treinado com óculos 3D e capacetes de realidade virtual. O código da biblioteca é escrito em C e distribuído sob a licença do MIT. As compilações concluídas estão prontas para Arch Linux e Ubuntu 19.04 e 18.04.

Atualmente, o Linux já possui os meios para gerar diretamente headsets de realidade virtual (extensões Vulkan VK_EXT_acquire_xlib_display para X11 e VK_EXT_acquire_wl_display para Wayland), mas não há suporte para o nível correto de desenho da janela no espaço 3D e sincronização da taxa de atualização da tela.

Sobre o Xrdesktop

O objetivo do projeto xrdesktop é desenvolver métodos que permitam o uso de interfaces clássicas em ambientes virtuais, com foco na saída em uma tela bidimensional e no controle usando o teclado e o mouse.

Os componentes do xrdesktop estendem a janela disponível e gerenciadores compostos com recursos para usar o tempo de execução de sistemas de realidade virtual para renderizar janelas e a área de trabalho em ambientes virtuais tridimensionais.

No xrdesktop, a ideia de integração em ambientes de desktop existentes sem a necessidade de iniciar um administrador composto especializado é promovida separar e permitir que as configurações de usuário existentes que são usadas com um monitor regular sejam usadas com capacetes 3D.

A arquitetura do projeto implica a capacidade de integração com qualquer desktop, mas no estágio atual de desenvolvimento, os componentes são implementados para suportar headsets de realidade virtual para KDE e Gnome.

Para KDE, o suporte para capacetes 3D é implementado por meio do plug-in semelhante ao Compiz, e para GNOME por meio de um conjunto de pacotes para GNOME Shell.

Esses componentes espelham as janelas existentes para o ambiente virtual dos capacetes 3D na forma de uma cena separada ou no modo de sobreposição, onde as janelas da área de trabalho podem ser sobrepostas em outros aplicativos de realidade virtual em execução.

Além dos mecanismos de representação, xrdesktop fornece componentes para navegação e suporte de entrada usando controladores espaciais especializados.

xrdesktop, com base em informações de controladores VR gera eventos de entrada comum, simulando o uso do teclado e do mouse.

Xrdesktop inclui várias bibliotecas que criam texturas de janela para o tempo de execução VR usando OpenVR, bem como um sistema baseado em API para renderizar uma área de trabalho inteira em um ambiente 3D.

Visto que o xrdesktop não fornece seu próprio gerenciador de janelas, é necessário trabalhar para se integrar aos gerenciadores de janelas existentes (o xrdesktop pode ser transferido para qualquer gerenciador de janelas X11 ou Wayland).

Os principais componentes do xrdesktop:

gulkan: uma ligação glib para Vulkan, que fornece classes para dispositivos de processamento, sombreadores e texturas de inicialização da memória ou buffers DMA.

gxr: é uma API para abstrair interfaces de software para desenvolver aplicativos de realidade virtual. Atualmente, apenas OpenVR é suportado, mas o suporte para o padrão OpenXR será adicionado em breve.

sintetizador de entrada libin: é uma biblioteca para sintetizar eventos de entrada, como movimento do mouse, cliques e pressionamentos de tecla, implementada na forma de back-ends para xdo, xi2 e Clutter.

xrddesktop: uma biblioteca para gerenciar janelas em um ambiente 3D, um conjunto de widgets e back-ends relacionados para renderizar a cena.

kwin-effect-xrdesktop e kdeplasma-applets-xrdesktop: um plugin do KWin para integração com o KDE e um miniaplicativo de plasma para colocar o KWin em modo de saída em um capacete 3D.

patchset gnome-shell e gnome-shell-extension-xrdesktop: é um conjunto de patches para Gnome para integrar suporte xrdesktop e um plugin para alterar a saída para um capacete 3D no Gnome Shell.

O projeto suporta vários métodos de organização de área de trabalho e interação de janela em um ambiente virtual, que pode ser usado para capturar janelas, dimensionar, mover, girar, sobrepor em uma esfera, organizar e ocultar janelas, usar o menu de controle e, simultaneamente, controlar duas mãos usando vários controladores.


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: Miguel Ángel Gatón
  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.