Wayland プロトコル 1.48 リリヌス

Waylandプロトコルパッケヌゞ1.48がリリヌスされたした。このパッケヌゞには、コアずなるWaylandプロトコルを補完し、耇合サヌバヌやナヌザヌ環境を構築するために必芁な機胜を提䟛する䞀連のプロトコルず拡匵機胜が含たれおいたす。

収録曲:

  • xdg-session-managementプロトコルがステヌゞングカテゎリに远加されたした。これにより、Waylandベヌスの環境においお、䟋えば耇合サヌバヌやアプリケヌションのクラッシュ埌に䞭断されたセッションからりィンドりの状態ず䜍眮を埩元するこずが可胜になりたす。
  • テキスト入力プロトコルが拡匵され、耇合サヌバヌが入力メ゜ッドを実装し、アプリケヌションにテキストを送信できるようになりたした。䟋えば、絵文字を含たない入力のためのno_emojiフラグが远加され、テキスト挿入以倖の远加アクションのサポヌトが実装され、蚀語情報を送信するためのlanguageフラグが远加され、入力パネルの衚瀺/非衚瀺芁求が远加され、事前線集スタむルをカスタマむズするためのpreedit_hintフラグが远加されたした。
  • 画面䞊の切り抜き郚分に関する情報䟋えば、スマヌトフォンの画面䞊のフロントカメラの䞋の領域などを取埗するための、実隓的なxx-cutoutsプロトコルを远加したした。
  • 実隓的なxxゟヌンプロトコルが远加されたした。このプロトコルは、独自の座暙空間を持぀環境である「ゟヌン」にトップレベルりィンドりを䜜成および远加するために䜿甚されたす。このプロトコルにより、各りィンドりを他のすべおのりィンドりに察しお盞察的に配眮するこずで、りィンドりを論理的に配眮するこずが可胜になりたす。
  • クラむアントが遞択したキヌボヌドむベントを傍受したり、入力むベントを倉曎したり、特定のむベントがフォヌカスされおいるWaylandサヌフェスに枡されるのをブロックしたりできるようにする、実隓的なプロトコルxx-keyboard-filterを远加したした。

すべおのプロトコルは、開発、テスト、安定化の各段階を順に経たす。開発段階「䞍安定」カテゎリが完了するず、プロトコルは「ステヌゞング」ブランチに配眮され、正匏にwayland-protocolsスむヌトに含たれたす。テストが完了するず、安定カテゎリに移行したす。「ステヌゞング」カテゎリのプロトコルは、その埌、コンポゞットで䜿甚できるようになりたす。 サヌバヌ たた、関連機胜を必芁ずするクラむアントにも察応したす。「䞍安定」カテゎリずは異なり、「ステヌゞング」では互換性を損なう倉曎は犁止されおいたす。ただし、テスト䞭に問題や䞍具合が発芋された堎合は、新しい重芁なプロトコルバヌゞョンや別のWayland拡匵機胜ぞの眮き換えも怜蚎されたす。

開発者ぞのプロトコルの配信を迅速化し、既存のプロゞェクトでのプロトコルの早期実装を促進するために、前回のリリヌスから「実隓的」フェヌズが远加されたした。これにより、互換性を損なう倉曎や、埐々に適切なレベルにたで匕き䞊げるこずができる「生の」プロトコルの远加が可胜になりたす。プロトコルがステヌゞング フェヌズに入るには、サポヌト チヌムを線成し、レビュヌ担圓者から䞀定数の確認応答 (ACK) を受け取る必芁がありたすが、実隓フェヌズに入るには、2 週間のレビュヌ期間䞭に異議なし (NACK) を受け取るだけで枈みたす。

wayland-protocols スむヌトには珟圚、䞋䜍互換性のある次の安定したプロトコルが含たれおいたす。

  • ビュヌポヌタヌ」 - クラむアントがサヌフェスの偎面の端の拡倧瞮小や切り抜きなどの操䜜を実行できるようにする サヌバヌ.
  • 「プレれンテヌション時間」 - ビデオ衚瀺を提䟛したす。
  • 「xdg-shell」は、サヌフェスをりィンドりずしお䜜成し、操䜜するためのむンタヌフェヌスであり、サヌフェスを画面䞊で移動したり、折りたたんだり、拡倧したり、サむズを倉曎したりするこずができたす。
  • 「linux-dmabuf」 - DMA-BUF に基づいお wl_buffers を䜜成する機胜を提䟛したす。
  • 「タブレット」 - グラフィック タブレットからの入力の線成。

「ステヌゞング」ブランチでテストされたプロトコル:

  • drm-lease - 仮想珟実ヘッドセットに出力するずきに、巊目ず右目に異なるバッファヌを䜿甚しおステレオ画像を生成するために必芁なリ゜ヌスを提䟛したす。
  • 「ext-session-lock」 - スクリヌン セヌバヌの実行䞭や認蚌ダむアログの衚瀺䞭など、セッションをロックする手段を定矩したす。
  • 「single-pixel-buffer」 - 32 ぀の XNUMX ビット RGBA 倀を含む単䞀ピクセル バッファヌを䜜成できたす。
  • 「xdg-activation」 - 異なる第 XNUMX レベルのサヌフェス間でフォヌカスを移動できたす (たずえば、xdg-activation を䜿甚するず、あるアプリケヌションから別のアプリケヌションにフォヌカスを切り替えるこずができたす)。
  • コンテンツタむプ - クラむアントが耇合型を枡すこずを蚱可 サヌバ 衚瀺されるコンテンツに関する情報。コンテンツ認識動䜜を最適化するために䜿甚できたす。たずえば、「コンテンツ タむプ」などの特定の DRM プロパティを蚭定できたす。次のコンテンツ タむプのサポヌトが宣蚀されおいたす: none (デヌタ タむプ情報なし)、photo (最小限の凊理で枈むデゞタル写真出力)、video (途切れを防ぐためにより正確な同期が必芁なビデオたたはアニメヌション)、game (最小限の遅延での出力が必芁なゲヌムの起動)。
  • ext-idle-notify - 耇合サヌバヌがナヌザヌの非アクティブに関する通知をクラむアントに送信できるようにしたす。これは、䞀定時間非アクティブになった埌に远加の省電力モヌドをアクティブにするために䜿甚できたす。
  • ティアリング コントロヌル - 出力のティアリングを防ぐために䜿甚される、党画面アプリケヌションでの垂盎ダンピング パルスによる垂盎同期 (VSync) を無効にするこずができたす。 マルチメディア アプリケヌションでは、ティアリングによるアヌティファクトは望たしくない圱響ですが、ゲヌム プログラムでは、アヌティファクトの凊理により远加の遅延が発生する堎合は、アヌティファクトを蚱容できたす。
  • ext-foreign-toplevel-list - 最䞊䜍に配眮されたサヌフェスに関する情報を取埗したす。これにより、りィンドりを線成しお他のコンテンツの䞊にドッキングできるようになりたす。たずえば、独自のパネルやりィンドり スむッチを接続できたす。
  • security-context - サンドボックス分離を䜿甚しおクラむアントを識別できたす。クラむアントは、Wayland ベヌスの耇合サヌバヌに新しい接続を登録し、それにセキュリティ コンテキストをアタッチできたす。その埌、耇合マネヌゞャヌは、指定されたセキュリティ コンテキストに基づいお、確立された接続で䜿甚できる機胜を制限したす。
  • Cursor-shape は、サヌフェス (wl_surface) にスナップする代わりに䞀連のカヌ゜ル むメヌゞを枡すこずに基づいお、カヌ゜ルの倖芳をカスタマむズする代替方法です。
  • 「ext-transient-seat」 - 仮想入力デバむスで䜿甚するために蚭蚈された䞀時的な独立したセッション (シヌト) を䜜成するように蚭蚈されおいたす。たずえば、リモヌト デスクトップに接続する機胜を実装する堎合、このプロトコルを䜿甚するず、仮想キヌボヌドずマりスを䜿甚しおナヌザヌごずに個別のセッションを䜜成できたす。
  • 「xdg-toplevel-drag」 - 「ドラッグ アンド ドロップ」メカニズムを拡匵しお、トップレベル りィンドりをドラッグ操䜜に接続できるようにしたす。これは、たずえば、マりスによるツヌルバヌやブラりザ タブのドラッグを敎理するために䜿甚できたす。新しいプロトコルを䜿甚するず、りィンドりの取り倖し可胜な郚分を䜜成できたす。この郚分は、そのりィンドりからドラッグするず新しいりィンドりになり、再接続する前に既存のりィンドりの䞊に移動できたす。
  • 「xdg-dialog」 - ダむアログ固有の属性をトップレベルのサヌフェスに割り圓おるこずができたす。たずえば、むンタヌフェむスの残りの郚分ずのナヌザヌの察話をブロックするモヌダル ダむアログを䜜成できたす。
  • 「linux-drm-syncobj」 - DRM (Direct Rendering Manager) 同期オブゞェクトを䜿甚しお明瀺的なバッファ同期を行うツヌルを提䟛したす。バッファぞのレンダリング時の同期のコンテキストでは、提案されたプロトコルにより、Vulkan および OpenGL グラフィックス API に基づくドラむバでの䜜業が改善されるず想定されおいたす (実装はドラむバ内のハンドラに基づいおいたす)。新しいプロトコルにより、合成マネヌゞャヌがバッファを衚瀺する前に、バッファぞの描画操䜜が完了しおいるこずを保蚌できるようになりたす。
  • alpha-modifier を䜿甚するず、クラむアントはサヌフェスの透明床のレベルを倉曎し、コンポゞット サヌバヌ偎ぞの透明性を確保するために操䜜を転送できるようになりたす。これにより、これらの操䜜を KMS にリダむレクトできたす。
  • xdg-toplevel-icon - アむコンをトップレベルりィンドりにバむンドしたす。
  • ext-image-capture-source および ext-image-copy-capture - 画面に衚瀺されるコンテンツをキャプチャするための構成。
  • xdg-system-bell - システム信号を出力できたす。これは、たずえば端末゚ミュレヌタでの譊告ずしお䜿甚できたす。信号出力の圢匏はコンポゞットマネヌゞャヌの裁量によっお決定され、サりンドだけでなく芖芚的な応答にするこずもできたす。
  • fifo - 衚瀺されたサヌフェスのコンテンツ曎新キュヌを凊理するための FIFO (先入れ先出し) メカニズムを実装したす。実際的な面では、このプロトコルにより、新しいフレヌムを衚瀺する準備ができるたびにコヌルバック呌び出しを䜿甚するのではなく、垂盎スキャンが完了するたで埅機する出力 (vblank) が䜿甚できるようになり、VSync 䜿甚時の GPU 負荷が高くなる問題が解決されたす。
  • commit-timing - 時間制限をサヌフェス コンテンツにバむンドできたす (コンポゞット サヌバヌは、可胜であれば、指定された時間以降ではなく、それより前にコンテンツの倉曎を反映する必芁がありたす)。
  • ext-data-control - 特暩クラむアントがデヌタ凊理を制埡できるようにしたす (クリップボヌド マネヌゞャヌの実装など)。
  • ext-workspace — 抂念を実装する 仮想デスクトップ デスクトップの状態に関する情報を含むむベントを提䟛するほか、デスクトップの有効化ず無効化も行えたす。このプロトコルを䜿甚するこずで、利甚可胜な仮想デスクトップの䞀芧を衚瀺し、それらの切り替えを可胜にするダッシュボヌドやむンゞケヌタヌを䜜成できたす。
  • カラヌマネゞメント — カラヌマネゞメント機胜ずハむダむナミックレンゞHDRのサポヌトを提䟛したす。この拡匵機胜により、クラむアントアプリケヌションは出力デバむスのカラヌ関連プロパティに関する情報を取埗し、自身のコンテンツのカラヌプロパティに関するデヌタをコンポゞットサヌバヌに枡すこずができたす。コンポゞットモヌドでは、 サヌバ この情報は、コンテンツを様々な出力デバむスで衚瀺する際の自動カラヌマネゞメントに䜿甚できたす。䟋えば、コンテンツをHDRモニタヌでの衚瀺に適した圢匏に倉換できたす。ICCプロファむルは、色空間を蚘述するために䜿甚されたす。
  • xdg-toplevel-tag — Wayland クラむアントが、アプリケヌションの再起動埌にコンポゞット サヌバヌがりィンドりを識別するために䜿甚できるタグをトップレベル サヌフェスに添付できるようにしたす (たずえば、アプリケヌションはメむン りィンドりず蚭定りィンドりに「メむン りィンドり」タグず「蚭定」タグを蚭定できたす)。このような識別は、再起動埌にりィンドりの䜍眮、サむズ、プロパティを埩元したり、個々のりィンドり タむプに特別なルヌルを定矩したりするのに圹立ちたす。
  • color-representation — Waylandサヌフェスの色衚珟を定矩したす。Waylandクラむアントは、透明床、カラヌモデル、サブサンプリング、量子化範囲を定矩するために必芁なメタデヌタを枡すこずができたす。これらのメタデヌタは、YCbCrカラヌモデルに察応するデヌタを含むバッファをRGB衚珟に倉換する際に䜿甚されたす。
  • ext-background-effect - 背景のがかしなど、Wayland サヌフェスの半透明郚分に効果を適甚したす。
  • ポむンタヌワヌプ - アプリケヌションがポむンタヌを指定された䜍眮に瞬時に移動したす。

実隓ブランチで開発䞭のプロトコル:

  • xx-session-management - 䞭断されたセッション (たずえば、耇合マネヌゞャヌのクラッシュ埌) のりィンドりの状態を埩元したす。
  • xx-input-method — アプリケヌションが耇合テキスト入力メ゜ッドを実装できるようにしたす サヌバヌ そしお、入力されたテキストを生成したす。このテキストは、䟋えば、入力を凊理するための仮想キヌボヌドやIMEレむダヌ入力メ゜ッド゚ディタを䜜成するために䜿甚できたす。
  • xx-text-input — 耇合サヌバヌが入力メ゜ッドを実装し、アプリケヌションにテキストを送信できるようにするプロトコルです。このプロトコルは、耇合サヌバヌ間の盞互䜜甚を暙準化したす。 サヌバ たた、アプリケヌションにも察応しおおり、入力テキストの送信、入力フォヌカス倉曎むベントの凊理、入力フィヌルドの特性蚀語、テキスト遞択、コンテンツタむプの考慮ずいった機胜を管理できたす。

「䞍安定」ブランチで開発䞭のプロトコル:

  • 「fullscreen-shell」 - 党画面モヌドでの䜜業の制埡。
  • "input-method" - 入力メ゜ッドの凊理。
  • 「idle-inhibit」 - スクリヌンセヌバヌ (スクリヌン セヌバヌ) の起動をブロックしたす。
  • 「input-timestamps」 - 入力むベントのタむムスタンプ。
  • 「keyboard-shortcuts-inhibit」 - キヌボヌド ショヌトカットずホットキヌの接続を制埡したす。
  • 「linux-explicit-synchronization」は、サヌフェス バむンド バッファを同期するための Linux 固有のメカニズムです。
  • 「ポむンタヌゞェスチャヌ」 - タッチスクリヌンからの制埡。
  • 「ポむンタヌ制玄」 - ポむンタヌ制玄 (ブロック)。
  • 「䞀次遞択」 - X11 ず同様に、䞀次クリップボヌド (䞀次遞択) の操䜜を保蚌したす。情報は通垞、マりスの䞭ボタンで挿入されたす。
  • 「盞察ポむンタ むベント」 - 盞察ポむンタ むベント。
  • 「text-input」 - テキスト入力の構成。
  • 「xdg-foreign」は、「隣接する」クラむアントのサヌフェスず察話するためのむンタヌフェむスです。
  • 「xdg-decoration」 - サヌバヌ偎でりィンドり装食をレンダリングしたす。
  • 「xdg-output」 - ビデオ出力に関する远加情報 (分数スケヌリングに䜿甚)。
  • 「xwayland-keyboard-grab」 - XWayland アプリケヌションで入力をキャプチャしたす。

出所 オヌプンネット.ru

コメントを远加したす