Wayland
[Wikipedia|▼Menu]
□記事を途中から表示しています
[最初から表示]

Weston

Westonは、Waylandコンポジタのリファレンス実装であり[54] Waylandプロジェクトによって開発されている。Cで書かれており、MITライセンスの下で公開されている。Westonは、Linuxカーネルの特定の機能に依存しているため、公式にはLinuxのみサポートしている。Westonが依存している機能は、カーネルモードセッティング(英語版)、Graphics Execution Manager (GEM) 、udevである。これらは、他のUnixライクOSには実装されていない[55]。Linuxで実行するとき、evdev(英語版)によってハードウェアの入力を運用する。一方、バッファの運用は、ジェネリックバッファマネジメント (GBM) (英語版)に依存している。しかし、2013年にWestonのFreeBSD向けのプロトタイプportがアナウンスされた[56]

Westonは、HDCPをサポートしている[57]

Westonは、コンポジタとアプリケーション間のアプリケーションバッファを共有するためにGEMに依存している。ドックやパネルといった共通のデスクトップの機能のためのシェルのプラグインシステムを含む[16]。クライアントは、自身のウィンドウボーダや装飾の描画に対して責任を負う。Westonは、レンダリングのためOpenGL ES[58]を使ったり、ソフトウェアレンダリング(英語版)のためにpixmanライブラリ[59]を使ったりすることができる。完全なOpenGL実装は使われない。なぜなら、現在のほとんどのシステムでは完全なOpenGLライブラリをインストールしている場合、GLXやその他のXウィンドウシステムサポートライブラリを依存関係のためにインストールしているからである[60]

Westonのためのリモートアクセスインタフェースは、2013年10月にRealVNC(英語版)の従業員によって提案された[61]
MaynardMaynard (2017年1月)

Maynardは、グラフィカルシェルである。Maynardは、GNOME ShellMutterへのプラグインとして書かれたことと同様に、Westonのプラグインとして書かれた[62]ラズベリーパイ財団は、Collabora(英語版)とのコラボレーションの中でMaynardをリリースし、パフォーマンスとメモリ使用量の改善に取り組んでいる[63][64]
libinputlibinputは、複数のWaylandコンポジタに対してインプットスタックを統合するために作られた。

入力デバイス(キーボード、ポインタ、タッチスクリーン等)を扱うためのWestonコードは、libinputと呼ばれる独立したライブラリとして分けられている。Weston 1.5に始めてマージされた[65][66]

libinputは、Waylandコンポジタのための入力デバイスを扱う。また、汎用的なX.Orgサーバ入力ドライバを提供する。libinputの狙いは、入力イベントを扱う共通の方法でWaylandコンポジタ用の単一の実装を提供することである。これによりコンポジタ用にインプットコードをカスタムするための量を最小化する。libinputは、(udevを通じて)デバイスの検出[要説明]、デバイスの運用、入力デバイスイベントの処理と抽象化を提供する[67][68]

libinputのバージョン1.0は、バージョン0.21の次にリリースされ、タブレット、ボタンセット、タッチパッドジェスチャのサポートを含んでいる。このバージョンは、安定したAPI/ABIを維持する(API/ABIが変わらない。)[69]

GNOME/GTKおよびKDEフレームワーク5[70]が本流にしたことで、Fedora 22は、X.OrgのevdevとSynapticsドライバをlibinputに置き換えた[71]

バージョン1.16では、X.Orgサーバがxf86-input-libinputと呼ばれるラッパによって、libinputライブラリをサポートした[72][73]
Waylandセキュリティモジュール

Waylandセキュリティモジュールは、LinuxカーネルにおけるLinuxセキュリティモジュールインタフェースに似た位置づけである[74]

(とくにアクセシビリティに関連した)いくつかのアプリケーションは、高い権限(特権)を必要とする。これらの権限は、Waylandコンポジタに共通して持たれる。現在[いつ?]、Waylandにおけるアプリケーションは、一般的にスクリーンショットや入力イベントの発行といったセンシティブな処理は、いずれも実行できない。Waylandの開発者達は、特権を付与されたクライアントを安全に処理するための実行可能な方法を積極的に探しており、クライアント用の特権を持たせるインタフェースを設計している。

Wayland Security Moduleは、コンポジタ内でのセキュリティの決定を、一元化されたセキュリティ決定エンジンに移譲する方法である[74]
採用実績

Waylandプロトコルは、シンプルであるように設計された。そのためウィンドウシステム全体を構築するためには、追加のプロトコルやインタフェースを定義し実装することが必要である。2014年7月 (2014-07)現在[update]これらの追加のインタフェースは作成中である。そのため、ツールキットは既にWaylandを完全にサポートしている一方、グラフィカルシェルの開発者達は必要な追加のインタフェースを作るためにWaylandの開発者と協力している。
デスクトップLinuxディストリビューション

2020年現在[update]ほとんどのLinuxディストリビューションは、Waylandをインストール直後からサポートしている。特筆すべき例を挙げると:

Fedora は、2016年11月22日にリリースしたバージョン25からWaylandをGNOME 3.22のデフォルトのデスクトップセッションとして使用開始した。X.OrgへはグラフィックドライバがWaylandをサポートできない場合のために戻れるようにしている[75]。Fedoraは、2021年4月27日のバージョン34から、KDEデスクトップのデフォルトのセッションとしてWaylandを使い始めた。

Ubuntu は、Ubuntu 17.0 (Artful Aardvark) にてWaylandをデフォルトにした[76]。しかし、Ubuntu 18.04 LTSにてX.Orgに戻した。Waylandはまだスクリーン共有とリモートデスクトップアプリケーションに問題を抱えており、ウィンドウマネージャのクラッシュから回復できないためであった[77][78]。21.04で、Waylandを再度デフォルトにした[79]

Red Hat Enterprise Linux は、2019年5月7日にリリースしたバージョン8で、Waylandをデフォルトセッションにした[80]

Debian は、2019年7月6日にリリースしたバージョン10からGNOMEのデフォルトセッションとしてWaylandを使用している[81]

Slackware Linux 2020年2月20日に開発用としてWaylandを組み入れた[82]。-現在、最終的にバージョン15.0になる予定である。

Manjaro は、2020年11月22日にリリースされたManjaro 20.2 (Nibia) のGnomeエディションでWaylandをデフォルトにした[83]

特筆するアーリーアダプター:

RebeccaBlackOSはDebianベースのLive USBである[84]。このLinuxディストリビューションは、コンピュータのメインOSを変更することなしに本物のWaylandデスクトップを試す便利な方法を提供する[85]。これは、2012年ころからWaylandを見せるために使われている[86][87]

ツールキットサポート

Waylandをサポートするツールキットの一部を以下に列挙する。

Clutter
(英語版) は、完全にWaylandをサポートしている[88][89][90]

EFL は、セレクションを除き、完全にWaylandをサポートしている[91]

GTK 3.20 は、Waylandを完全にサポートしている[92]

Qt 5 は、Waylandを完全にサポートしている。そしてWaylandコンポジタとWaylandクライアントの両方を記述するために使われる。

SDL はバージョン2.0.2でWaylandのサポートを開始した[93]。そして、バージョン2.0.4からデフォルトで有効である[94]

GLFW(英語版) 3.2 は、Waylandをサポートしている[95]


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:130 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef