wxrd,一個用於虛擬現實係統的基於 Wayland 的複合服務器,被引入

Collabora 推出了 wxrd 複合服務器,基於 Wayland 協議實現,旨在在 XNUMXD 虛擬現實環境中形成基於 xrdesktop 組件的桌面。 它基於由 Sway 用戶環境的開發人員開發的 wlroots 庫,以及設計用於虛擬現實係統的 wxrc 複合服務器。 項目代碼用 C 語言編寫,並在 MIT 許可證下分發。

與最初在 xrdesktop 中提出的解決方案不同,wxrd 為虛擬現實環境提供了一個專門的複合服務器,而不是為 VR 系統適配現有的窗口管理器和桌面外殼(xrdesktop 項目為 kwin 和 GNOME Shell 提供了單獨的補丁,這需要為每個新的適配釋放這些組件)。 使用 wxrd 不僅可以鏡像同時顯示在常規顯示器上的現有 XNUMXD 桌面的內容,還可以單獨處理專門為 XNUMXD 桌面啟動的窗口(即不提供從 VR 頭盔訪問到當前系統上使用的桌面).table,但要為VR頭盔形成一個單獨的環境)。

與 Simula VR、Stardust、Motorcar 和 Safespaces 等類似項目不同,wxrd 複合服務器在設計時考慮了最少數量的依賴項和低資源消耗。 Wxrd 還允許您不僅可以使用基於 Wayland 協議的應用程序,還可以使用 xwayland DDX 服務器運行 X11 應用程序。

由於虛擬鍵盤的 Wayland 協議擴展正在開發中,wxrd 的輸入是通過鍵盤輸入仿真係統實現的,該系統將所有 unicode 字符(包括表情符號)從提供給 xrdesktop 的虛擬鍵盤傳輸。 wxrd 需要支持 Vulkan 圖形 API 和 Mesa 自版本 21.1(包含在 Ubuntu 21.04 中)以來支持的 VK_EXT_image_drm_format_modifier 擴展的顯卡。 使用 Vulkan API 進行渲染需要 Mesa 21.2 (Ubuntu 21.10) 中引入的 VK_EXT_physical_device_drmm 擴展。

使用單獨的 VR 複合服務器而不是與用於顯示傳統桌面的 XNUMXD 窗口管理器集成的優點:

  • 在基於 Wayland 或 X11 的會話中運行時,wlroots 庫會打開一個窗口,您可以在其中輕鬆捕獲鍵盤輸入和鼠標事件,並將該輸入重定向到 VR 環境中的特定窗口。 未來,他們計劃使用此功能來組織輸入,不僅可以通過 VR 控制器,還可以使用傳統的鍵盤和鼠標。
  • Windows 不限於 XNUMXD 桌面,可以任意調整大小,僅受硬件支持的最大紋理大小的限制。
  • Windows 以原生 3D 頭盔 (HMD) 刷新率在 wxrd 中呈現,而來自傳統窗口管理器的窗口鏡像使用用於更新固定監視器上信息的速率。
  • 可以在考慮 3D 頭盔的像素密度的情況下執行字體渲染,而不參考固定監視器的像素密度。
  • 可以在只有 3D 頭盔且沒有常規監視器的系統上使用 wxrd。

單獨的 VR 複合服務器的缺點:

  • VR 環境僅顯示專門為單獨的複合服務器啟動的應用程序,無法將傳統桌面上已打開的窗口傳輸或鏡像到 VR 環境(即,繼續使用在普通屏幕上打開的應用程序,您將必須在 3D 頭盔的單獨環境中重新啟動)。
  • Wayland 支持在 Vulkan API 的實現中可能會受到限制。 例如,由於缺乏對 VK_EXT_drm_format_modifier 擴展的支持,gbm 和 wlroots 不能與專有的 NVIDIA 驅動程序一起使用。



來源: opennet.ru

添加評論