O proxecto xrdesktop para usar GNOME e KDE en auriculares de realidade virtual

Desenvolvedores de Collabora presentado proxecto xrdesktop, na que, co apoio de Valve, estase a desenvolver unha biblioteca con elementos para interactuar cos escritorios tradicionais dentro de contornas tridimensionais creadas mediante lentes 3D e cascos de realidade virtual. O código da biblioteca está escrito en C e distribuído por baixo licenza MIT. Montaxes preparadas preparado para Arch Linux и Ubuntu 19.04 / 18.04.

Actualmente, Linux xa dispón de ferramentas para a saída directa a auriculares de realidade virtual (extensións de Vulkan VK_EXT_acquire_xlib_display para X11 e VK_EXT_acquire_wl_display para Wayland), pero non existe soporte a nivel de representación correcta das fiestras no espazo 3D e sincronización da frecuencia de actualización da pantalla. O obxectivo do proxecto xrdesktop é desenvolver métodos que permitan o uso de interfaces clásicas centradas na visualización de pantallas XNUMXD e no control de teclado e rato en contornos virtuais.

O proxecto xrdesktop para usar GNOME e KDE en auriculares de realidade virtual

Os compoñentes de xrdesktop amplían os xestores de fiestras e compostos existentes para utilizar sistemas de execución de realidade virtual para renderizar fiestras e escritorios en contornos virtuais 3D. xrdesktop promove a idea de integrarse en ambientes de escritorio existentes sen necesidade de executar un xestor de compostos especializado separado e permitir que as configuracións personalizadas existentes utilizadas cun monitor normal se utilicen con cascos XNUMXD.

A arquitectura do proxecto implica a capacidade de integrarse con calquera escritorio, pero na fase actual de desenvolvemento, están implementados compoñentes para soportar auriculares de realidade virtual para KDE e GNOME. Para KDE, a compatibilidade con cascos 3D implícase a través dun complemento tipo Compiz, e para GNOME a través dun conxunto de parches para GNOME Shell. Estes compoñentes reflicten as fiestras existentes no contorno virtual dos cascos 3D en forma de escena separada ou en modo de superposición, no que as fiestras do escritorio poden superpoñerse a outras aplicacións de realidade virtual en execución.

Ademais dos motores de renderizado, xrdesktop ofrece compoñentes para proporcionar navegación e entrada mediante controladores espaciais especializados, como o Valve Index e o VIVE Wand. Xrdesktop usa información dos controladores VR para xerar eventos de entrada regulares, simulando o uso dun teclado e un rato.

xrdesktop inclúe varias bibliotecas que xeran texturas de fiestras para o tempo de execución de VR usando OpenVR, así como un sistema baseado en API para renderizar un escritorio completo nun ambiente 3D. Dado que xrdesktop non ofrece o seu propio xestor de fiestras, é necesario un traballo de integración cos xestores de fiestras existentes (xrdesktop pódese transferir a calquera xestor de ventás X11 ou Wayland). No lado do controlador de gráficos, a operación require un controlador que admita a API Vulkan e a extensión VK_KHR_external_memory.

O proxecto xrdesktop para usar GNOME e KDE en auriculares de realidade virtual

Os principais compoñentes de xrdesktop:

  • gulcán - enlace glib para Vulkan, que ofrece clases para procesar dispositivos, sombreadores e inicializar texturas desde memoria ou búfers DMA;
  • gxr — API para abstraer interfaces de programas para desenvolver aplicacións de realidade virtual. Actualmente só se admite OpenVR, pero o soporte para o estándar OpenXR engadirase nun futuro próximo;
  • libinputsynth — unha biblioteca para sintetizar eventos de entrada, como movementos do rato, clics e pulsacións de teclas, implementada en forma de backends para xdo, xi2 e Clutter;
  • xrdesktop — unha biblioteca para xestionar fiestras nun ambiente 3D, un conxunto de widgets e backends que se acompañan para renderizar a escena;
  • kwin-efecto-xrdesktop и kdeplasma-applets-xrdesktop — un complemento para KWin para a integración con KDE e unha miniaplicación Plasma para cambiar KWin ao modo de saída nun casco 3D;
  • conxunto de parches gnome-shell и gnome-shell-extension-xrdesktop — un conxunto de parches para GNOME Shell para integrar soporte para xrdesktop e un complemento para cambiar a saída a un casco 3D en GNOME Shell.

O proxecto admite varios métodos para organizar a interacción co escritorio e as fiestras nun ambiente virtual, que se poden usar para capturar ventás, escalar, mover, rotar, superpoñer nunha esfera, acoplar e ocultar ventás, usar o menú de control e controlar simultaneamente con dúas mans usando varios controladores.

Fonte: opennet.ru

Engadir un comentario