Wayland
X11をより現代的でセキュアかつ、シンプルにしたもの
コンポジット型ウインドウマネージャーを前提としてる
また、X11当時はメインフレームを共有で使ってたためネットワーク透過性があったが、現在ではVNC/RDPで十分なためネットワーク透過性を省くことでパフォーマンスの向上を目指してる
互換性は基本的にない
XWayland(ほとんどのWaylandデスクトップ環境には標準で入ってる)を使うことでX11とWaylandの橋渡しができる
Wayland - Wikipedia
Waylandプロトコルは、レンダリングAPIを含んでいない[18]:7[8][24][25]。その代わり、Waylandはダイレクトレンダリングモデルを採用している。ダイレクトレンダリングモデルでは、クライアントはウィンドウコンテンツをコンポジタと共有できるバッファへ描画しなければならない[18]:7。そのため、クライアントはCairoやOpenGLなどのライブラリを使って、自分自身ですべてをレンダリングすることも選択できる。あるいは、QtやGTKといった、Waylandをサポートする高位のウィジェットライブラリのレンダリングエンジンに頼ることもできる。クライアントは、特定のタスクをこなすために、オプションとしてその他の特化したライブラリを使用することもできる。たとえばフォントレンダリング(英語版)のためにFreeTypeを使用できる。
(ry)
最も一般的なケースでは、クライアントがOpenGL、OpenGL ES、Vulkanといったハードウェア(GPU)アクセラレーションのためのAPIを使って、ビデオメモリバッファへ直接レンダリングする。クライアントとコンポジタは、このGPU空間のバッファを参照するための特別なハンドラを用いて共有できる[26]。この方法は、コンポジタに余計なデータコピーをしないようにする。結果として、グラフィックパフォーマンスは向上し、よりよい方法である。コンポジタはAPIクライアントとして、同じハードウェアアクセラレーションAPIを使って、ディスプレイへ描画する最終的なシーンのコンポジションをかなり最適化できる。
ハードウェアアクセラレーションが前提になってるのかbsahd.icon
というかそこまでパフォーマンス狂になる必要あるのか...
(ry)
作者であるKristian Høgsbergは、LinuxのグラフィックとX.Orgの開発者であり、以前はAIGLXとDRI2で勤務していた。Red Hatで勤務しているとき、2008年の空いた時間のプロジェクトとしてWaylandの開発を始めた[125][126][127][128]。最初の目標は、"すべてのフレームは完璧である、つまり、それによってアプリケーションは、テアリング、ラグ、再描画、ちらつきを二度と目にしないよう十分にレンダリングをコントロールできる"システムであった。根底となるコンセプトが"固まった"とき、Høgsbergはちょうどマサチューセッツ州Wayland(英語版)の街を運転していたため、その名前がつけられた[127][129]。