Wayland に基づいた複合サーバーを開発するためのライブラリである Louvre 1.0 が利用可能になりました

Cuarzo OS プロジェクトの開発者は、Wayland プロトコルに基づく複合サーバー開発用のコンポーネントを提供する Louvre ライブラリの最初のリリースを発表しました。 コードは C++ で書かれており、GPLv3 ライセンスに基づいて配布されています。

このライブラリは、グラフィックス バッファーの管理、Linux の入力サブシステムおよびグラフィックス API との対話など、すべての低レベル操作を処理し、Wayland プロトコルのさまざまな拡張機能の既製の実装も提供します。 既製のコンポーネントの存在により、標準的な低レベル要素の作成に何か月も費やす必要がなく、ニーズに合わせて調整し、必要な機能を追加できる既製の実用的な複合サーバー フレームワークをすぐに受け取ることができます。拡張機能。 必要に応じて、開発者はライブラリによって提供されるメソッドをオーバーライドして、プロトコル、入力イベント、レンダリング イベントを処理できます。

開発者によると、このライブラリは競合ソリューションよりもパフォーマンスが著しく優れています。 たとえば、Louvre を使用して作成された複合サーバーの例、louvre-weston-clone は、Weston プロジェクトの機能を再現しており、Weston や Sway と比較して、テストでの CPU リソースと GPU リソースの消費が少なく、また、複雑なシナリオでも一貫して高い FPS を達成します。

Wayland に基づいた複合サーバーを開発するためのライブラリである Louvre 1.0 が利用可能になりました

ルーブル美術館の主な特徴:

  • マルチ GPU 構成 (マルチ GPU) のサポート。
  • 複数のユーザー セッション (マルチセッション、TTY スイッチング) をサポートします。
  • 2D レンダリング (LPainter)、シーン、およびビューに基づくメソッドをサポートするレンダリング システム。
  • 独自のシェーダと OpenGL ES 2.0 プログラムを使用する機能。
  • 必要に応じて自動再描画が実行されます(領域の内容が変更された場合のみ)。
  • マルチスレッド作業により、複雑なシナリオをレンダリングする場合でも、v-sync を有効にして高い FPS を達成できます (シングルスレッド実装では、フレーム ブランキング パルスとの同期を待つ遅延により処理できないフレームが欠落するため、高い FPS を維持することが困難になります) (vblank)。
  • シングル、ダブル、トリプルバッファリングをサポートします。
  • テキストデータ用のクリップボードの実装。
  • Wayland と拡張機能のサポート:
    • XDG シェルは、サーフェスをウィンドウとして作成および操作するためのインターフェイスであり、画面上でサーフェスを移動したり、最小化、展開、サイズ変更などを行うことができます。
    • XDG 装飾 - サーバー側でウィンドウ装飾をレンダリングします。
    • プレゼンテーション時間 - ビデオ表示を提供します。
    • Linux DMA-Buf - dma-buf テクノロジーを使用した複数のビデオ カードの共有。
  • Intel (i915)、AMD (amdgpu)、および NVIDIA ドライバー (独自のドライバーまたは nouveau) に基づく環境での作業をサポートします。
  • まだ実装されていない機能 (計画のリスト内):
    • タッチ イベント - タッチ スクリーン イベントを処理します。
    • ポインター ジェスチャー - タッチ スクリーン コントロール。
    • ビューポーター - クライアントがサーバー側でスケーリングとサーフェス エッジのトリミングを実行できるようにします。
    • LView オブジェクトの変換。
    • XWayland - X11 アプリケーションの起動。

Wayland に基づいた複合サーバーを開発するためのライブラリである Louvre 1.0 が利用可能になりました
Wayland に基づいた複合サーバーを開発するためのライブラリである Louvre 1.0 が利用可能になりました


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

コメントを追加します