最近発表されたマーク・シャトルワースによって、Ubuntuはそのディスプレイマネージャとしてウェイランドを使用してに向かって移動されます。
X11とWaylandの最大の違いは何ですか?WaylandがUbuntuを改善する理由は何ですか?
最近発表されたマーク・シャトルワースによって、Ubuntuはそのディスプレイマネージャとしてウェイランドを使用してに向かって移動されます。
X11とWaylandの最大の違いは何ですか?WaylandがUbuntuを改善する理由は何ですか?
回答:
あなたは見ることができウェイランドのアーキテクチャページを、それがデザインにどのように異なるかを見るために。標準のGEM / DRMスタックを介してすべてをカーネルに強制し、合成自体を管理することにより、グラフィックスタック全体を簡素化することになっています。
それをあちこちにビットとボブがあるXスタックと比較してください。X混乱の一部は柔軟な設計によるものであり、一部は痛みを増してきました。すべてのコンポジター(Compiz / Metacity / Mutter / KWin / etc)が後付けとして追加されました。彼らは、中核として、Xがおそらくそれ自体を行うべきことを行うためのハッキングです。物事が以前のように外側に拡大し続けると、プロジェクトが維持できなくなるポイントに到達します。
全体として、ハードウェアサポートがある場合、スタック全体がより効率的になり、標準セットアップで使用する際の苦痛が少なくなります。
ただし、これまでのところ対処法が確認されていない問題がいくつかあります。
Xはかなりネットワークに対応しています。他のコンピューターにウィンドウを送信したり、リモートログインやそのようなあらゆる種類のファンキーなものを備えた複数の画面を作成したりできます。これはかなり専門的に見えるかもしれませんが、広く使用されている技術です。ウェイランドは、比較的ローカルで静的に見えます。
ドライバーのサポートもあります。クローズドソースドライバーは、Waylandが成功を収めているKMS / shared-GEM / shared-DRMテクノロジーをまだサポートしていません。純粋主義者はNouveauで大丈夫かもしれませんが、高性能3Dグラフィックスカードで£100-400を支払う人は、現在のオープンドライバーで得られる不安定な貧弱な3Dパフォーマンスに満足しません。
2018更新。17.10は、デフォルトのディスプレイサーバーとしてWaylandを使用しました(閉じたドライバー、またはそれをサポートしていないドライバー、またはXを必要としていない場合)。18.04と18.10は両方ともグローバルデフォルトとしてXを使用します(ただし、Waylandをインストールできます)。
私は何も担当していませんが、このポジションからは、実際の牽引力を得ることができないメトリックNvidiaのようです。その時点まで、ウェイランドの背後に十分なマインドシェアと開発力が得られるとは思わない。ゲーム/パフォーマンス市場はXを使用しています。MCE市場はX(およびダイレクトフレームバッファー)を使用しています。Waylandが本当にチャンスを得るかどうかはわかりません。
XとWaylandには多くの違いがあります。おそらくグラフィックス側からの最大のものは、Wayland が描画を行わないことです。
Xには2つの描画APIがあります。これらの1つはコアX11プロトコルの一部であり、これは古く、役に立たず、誰も使用していません。もう1つは、勾配などの最新の複合操作を提供するXRender拡張機能です。これは、たとえばカイロが使用するものです。Xにはフォント描画APIもあります。
Waylandには描画APIはありません。Waylandクライアントは、基本的にグラフィックメモリへのポインターであるDRMバッファーハンドルを取得します。Waylandは、クライアントがそのバッファーにどのように描画するかを知りません。Xの用語では、これはすべてのアプリケーションが直接レンダリングされることを意味します -描画要求はサーバーを経由する必要はありません。
Waylandが行う唯一のレンダリングは、クライアントのバッファーを画面にコピーすることです。
利点の点では、WaylandはXよりもずっと複雑ではないため、保守が容易になりますが、この単純さの一部は、複雑さ(たとえば、実際にそのバッファーに描画する方法、ネットワークの透明度)を他のレイヤーにプッシュすることから来ますスタック。クライアントがすべてのレンダリングを担当するようにすることで、クライアントはダブルバッファリングなどについて賢くなります。
グラフィックス以外にも他の利点があります。たとえば、アプリケーションをサンドボックス化する方がはるかに簡単です。
私の目での大きな違いは、WaylandはX-Serverよりもカーネルに近いということです。Xからカーネル(カーネルモード設定、KMSとして知られる)へのグラフィックドライバーの移動により、Waylandはこの新しい機能を使用してXを置き換えることを計画しています。
Xよりもフットプリントが少ない-ディスプレイがカーネルによって処理されるため、Waylandは使用可能になるためにそれほど実装する必要はありません。X転送(別のPCで1つの画面を見る)がXでなくなる可能性があると思うので、これは双方向に行われます。
KMS機能:Xサーバーを再起動せずに画面解像度を変更できる(少なくともnvidiaの場合、これはXで修正されたと思いますが)そのようなこと。
私が間違っている場合、誰でもこれについて私を修正できますか?
他のすべての投稿はWaylandの利点を強調していますが、それだけがすべてではありません。Waylandに対するXの最大の利点は、Xがネットワーク上で機能することです。Xはネットワークに透過的であるため、実際のプログラムが通常より強力な別のマシンで実行されている間に、ウィンドウを表示したり、XDMCPで完全なセッションを端末に表示したりできます。Waylandのようなものでは、ネットワークの透明性のアイデアはなくなりました。たぶん、最近では高速ネットワークやVNCやRDPのような他のプロトコルではそれほど必要ではないかもしれません。
日常業務でだれでもすぐに気付く2つの小さなこと: