仮想現実システム用の Wayland ベースの複合サーバーである wxrd を導入

Collabora 社は、Wayland プロトコルに基づいて実装され、XNUMX 次元仮想現実環境内で xrdesktop コンポーネントに基づいたデスクトップを作成することを目的とした複合サーバー wxrd を発表しました。 基礎となるのは、Sway ユーザー環境の開発者によって開発された wlroots ライブラリと、仮想現実システムで使用するために設計された wxrc コンポジット サーバーです。 プロジェクト コードは C で書かれており、MIT ライセンスに基づいて配布されます。

当初 xrdesktop で提案されたソリューションとは異なり、wxrd は、既存のウィンドウ マネージャーやデスクトップ シェルを VR システムに適応させるのではなく、仮想現実環境に特化した複合サーバーを提供します (xrdesktop プロジェクトは、kwin と GNOME Shell に個別のパッチを提供しており、新しいパッチごとに適応する必要があります)。これらのコンポーネントのリリース)。 wxrd を使用すると、既存の XNUMX 次元デスクトップの内容をミラーリングし、同時に通常のモニターに表示できるだけでなく、特に XNUMX 次元デスクトップ用に起動されたウィンドウを個別に処理することもできます (つまり、XNUMX 次元デスクトップからのアクセスを提供しない)。 VR ヘルメットを現在のシステム テーブルで使用されているデスクトップに移動しますが、VR ヘルメット用に別の環境を形成します)。

同様のプロジェクトである Simula VR、Stardust、Motorcar、Safespaces とは異なり、wxrd 複合サーバーは、使用する依存関係の数を最小限に抑え、リソース消費を抑えることを念頭に置いて作成されました。 Wxrd を使用すると、Wayland プロトコルに基づくアプリケーションだけでなく、xwayland DDX サーバーを使用して X11 アプリケーションを実行できるようになります。

仮想キーボード用の Wayland プロトコル拡張機能は開発中であるため、wxrd への入力は、絵文字を含むすべての Unicode 文字を xrdesktop で提供される仮想キーボードから転送するキーボード入力エミュレーション システムを通じて実装されます。 wxrd を実行するには、Vulkan グラフィックス API と、リリース 21.1 (Ubuntu 21.04 に含まれる) 以降 Mesa でサポートされている VK_EXT_image_drm_format_modifier 拡張機能をサポートするビデオ カードが必要です。 レンダリングに Vulkan API を使用するには、Mesa 21.2 (Ubuntu 21.10) で導入された VK_EXT_physical_device_drmm 拡張機能が必要です。

従来のデスクトップの表示に使用される XNUMXD ウィンドウ マネージャーと統合する代わりに、仮想現実システムに別個の複合サーバーを使用する利点は次のとおりです。

  • Wayland または X11 ベースのセッションで実行すると、wlroots ライブラリはウィンドウを開き、キーボード入力とマウス イベントを簡単にキャプチャし、その入力を仮想現実環境の特定のウィンドウにリダイレクトできます。 将来的には、この機能を使用して、VR コントローラーだけでなく、通常のキーボードとマウスを使用した入力も整理する予定です。
  • ウィンドウは XNUMXD デスクトップ フレームによって制限されず、ハードウェアでサポートされる最大テクスチャ サイズによってのみ制限される任意のサイズにすることができます。
  • wxrd でのウィンドウ レンダリングは、ネイティブ 3D ヘッドマウント ディスプレイ (HMD) の画像リフレッシュ レートで実行されますが、従来のウィンドウ マネージャーからウィンドウをミラーリングする場合は、固定モニター上の情報を更新するために使用される周波数が使用されます。
  • 固定モニターのピクセル密度を参照せずに、3D ヘルメットのピクセル密度を考慮してフォントをレンダリングできます。
  • 3D ヘッドセットのみがあり、通常のモニターがないシステムでも wxrd を使用できます。

VR 用に別個の複合サーバーを使用する場合の欠点:

  • VR 環境では、別の複合サーバー用に特別に起動されたアプリケーションのみが表示され、従来のデスクトップで既に開いているウィンドウを VR 環境に転送またはミラーリングする機能はありません (つまり、通常の画面で開いているアプリケーションで作業を続けるには、 3D ヘルメット用に別の環境で再起動する必要があります)。
  • Wayland のサポートは、Vulkan API 実装では制限される場合があります。 たとえば、gbm および wlroots は、VK_EXT_drm_format_modifier 拡張機能がサポートされていないため、独自の NVIDIA ドライバーでは使用できません。



出所: オープンネット.ru

コメントを追加します