XrdesktopはGnomeとKDEを使用するバーチャルリアリティヘッドセットプロジェクトです

xrdesktop

Collabora社の開発者はxrdesktopプロジェクトを発表しました。 その中で、Valveのサポートにより、 ライブラリは、XNUMX次元環境内で従来のデスクトップと対話するための要素を使用して開発されています 3Dメガネとバーチャルリアリティヘルメットで訓練されています。 ライブラリコードはCで記述され、MITライセンスの下で配布されます。 完成したビルドは、ArchLinuxとUbuntu19.04および18.04の準備ができています。

現在、Linuxにはすでにバーチャルリアリティヘッドセット(Vulkan拡張機能)を直接生成する手段があります VK_EXT_acquire_xlib_display X11および VK_EXT_acquire_wl_display Waylandの場合)。ただし、3D空間での正しいウィンドウ描画レベルと画面のリフレッシュレートの同期はサポートされていません。

Xrdesktopについて

xrdesktopプロジェクトの目的は、仮想環境で従来のインターフェイスを使用できるようにするメソッドを開発することです。、XNUMX次元画面での出力と、キーボードとマウスを使用した制御に重点を置いています。

xrdesktopコンポーネントは、仮想現実システムのランタイムを使用してXNUMX次元仮想環境でウィンドウとデスクトップをレンダリングする機能を使用して、使用可能なウィンドウマネージャーと複合マネージャーを拡張します。

xrdesktopで、専門の複合管理者を立ち上げる必要なしに既存のデスクトップ環境に統合するというアイデアが促進されます 通常のモニターで使用されている既存のユーザー設定を分離して、3Dヘルメットで使用できるようにします。

プロジェクトのアーキテクチャ 任意のデスクトップと統合する機能を意味します。 ただし、開発の現段階では、KDEおよびGnome用のバーチャルリアリティヘッドセットをサポートするコンポーネントが実装されています。

KDEの場合、3Dヘルメットのサポートは、Compizのようなプラグインを介して実装され、GNOMEの場合は、GNOMEShellの一連のパッケージを介して実装されます。

これらのコンポーネントは、既存のウィンドウを別のシーンの形で3Dヘルメットの仮想環境にミラーリングするか、デスクトップウィンドウを他の実行中の仮想現実アプリケーションにオーバーレイできるオーバーレイモードでミラーリングします。

表現メカニズムに加えて、 xrdesktopは、ナビゲーションおよび入力サポート用のコンポーネントを提供します 特殊な空間コントローラーを使用します。

Xrdesktop、 VRコントローラーからの情報に基づいて入力イベントを生成します 通常、キーボードとマウスの使用をシミュレートします。

Xrdesktopにはいくつかのライブラリが含まれています OpenVRを使用してVRランタイムのウィンドウテクスチャを作成し、3D環境でデスクトップ全体をレンダリングするためのAPIベースのシステムを作成します。

xrdesktopは独自のウィンドウマネージャーを提供しないため、既存のウィンドウマネージャーと統合するための作業が必要です(xrdesktopは任意のX11またはWaylandウィンドウマネージャーに移植できます)。

xrdesktopの主なコンポーネント:

グルカンド: Vulkanのglibバインディング。これは、デバイス、シェーダーを処理し、メモリまたはDMAバッファーからテクスチャを初期化するためのクラスを提供します。

gxr: は、仮想現実アプリケーションを開発するためのソフトウェアインターフェイスを抽象化するためのAPIです。 現在、OpenVRのみがサポートされていますが、OpenXR標準のサポートはまもなく追加されます。

libinputsynth: は、マウスの動き、クリック、キーストロークなどの入力イベントを合成するためのライブラリであり、xdo、xi2、およびClutterのバックエンドの形式で実装されています。

xrdesktop: 3D環境でウィンドウを管理するためのライブラリ、シーンをレンダリングするための関連するウィジェットとバックエンドのセット。

kwin-effect-xrdesktopおよびkdeplasma-applets-xrdesktop: KDE統合用のKWinプラグインと、3DヘルメットでKWinを出力モードにするプラズマアプレット。

gnome-shellパッチセットおよびgnome-shell-extension-xrdesktop: は、xrdesktopサポートを統合するためのGnomeのパッチのセットと、出力をGnomeShellの3Dヘルメットに変更するためのプラグインです。

このプロジェクトは、仮想環境でデスクトップとウィンドウの相互作用を整理するさまざまな方法をサポートしています。これを使用して、ウィンドウのキャプチャ、拡大縮小、移動、回転、球体へのオーバーレイ、ウィンドウの配置と非表示、コントロールメニューの使用、および両手を同時に制御できます。複数のコントローラーを使用します。