ウェイランドが優れているのはなぜですか?


177

最近発表されたマーク・シャトルワースによって、Ubuntuはそのディスプレイマネージャとしてウェイランドを使用してに向かって移動されます。

X11とWaylandの最大の違いは何ですか?WaylandがUbuntuを改善する理由は何ですか?


5
:ユニティベースのUbuntuのではなく、Ubuntuの14.10から始まるウェイランドベースのコンポジのミールディスプレイサーバーを使用するように2013年12月のように見えるリンクの リンク:他のUbuntuの変異体は、おそらくウェイランドに移動するリンク
サンディエゴ

4
Xとそれを置き換える理由を説明する素晴らしいビデオを次に示します。youtube.com
ジェイソン

Ubuntuの18(バイオニック)は、デフォルトではxorgを使用しますが、ウェイランドは、まだログイン画面上のオプションです:blog.ubuntu.com/2018/01/26/...
クリス

Xの方が優れていると思います。技術的なことはしません。しかし、ウィンドウのサイズを変更したり、フルスクリーンに切り替えたりする場合は、ウェイランドのyoutubeにフレームをドロップするだけです。Xでは、問題はありません。速度は同じですが。また、ウェイランドマウスカーソルがX. Xにまだ私のNO1であるよりも緩い感じで
ルカ

回答:


136

あなたは見ることができウェイランドのアーキテクチャページを、それがデザインにどのように異なるかを見るために。標準のGEM / DRMスタックを介してすべてをカーネルに強制し、合成自体を管理することにより、グラフィックスタック全体を簡素化することになっています。

それをあちこちにビットとボブがあるXスタックと比較してください。X混乱の一部は柔軟な設計によるものであり、一部は痛みを増してきました。すべてのコンポジター(Compiz / Metacity / Mutter / KWin / etc)が後付けとして追加されました。彼らは、中核として、Xがおそらくそれ自体を行うべきことを行うためのハッキングです。物事が以前のように外側に拡大し続けると、プロジェクトが維持できなくなるポイントに到達します。

全体として、ハードウェアサポートがある場合、スタック全体がより効率的になり、標準セットアップで使用する際の苦痛が少なくなります。

ただし、これまでのところ対処法が確認されていない問題がいくつかあります。

  • Xはかなりネットワークに対応しています。他のコンピューターにウィンドウを送信したり、リモートログインやそのようなあらゆる種類のファンキーなものを備えた複数の画面を作成したりできます。これはかなり専門的に見えるかもしれませんが、広く使用されている技術です。ウェイランドは、比較的ローカルで静的に見えます。

  • ドライバーのサポートもあります。クローズドソースドライバーは、Waylandが成功を収めているKMS / shared-GEM / shared-DRMテクノロジーをまだサポートしていません。純粋主義者はNouveauで大丈夫かもしれませんが、高性能3Dグラフィックスカードで£100-400を支払う人は、現在のオープンドライバーで得られる不安定な貧弱な3Dパフォーマンスに満足しません。

    更新: NvidiaはWaylandとMirの両方のサポートに取り組んでいます。


2018更新。17.10は、デフォルトのディスプレイサーバーとしてWaylandを使用しました(閉じたドライバー、またはそれをサポートしていないドライバー、またはXを必要としていない場合)。18.04と18.10は両方ともグローバルデフォルトとしてXを使用します(ただし、Waylandをインストールできます)。

私は何も担当していませんが、このポジションからは、実際の牽引力を得ることができないメトリックNvidiaのようです。その時点まで、ウェイランドの背後に十分なマインドシェアと開発力が得られるとは思わない。ゲーム/パフォーマンス市場はXを使用しています。MCE市場はX(およびダイレクトフレームバッファー)を使用しています。Waylandが本当にチャンスを得るかどうかはわかりません。


21
ネットワークの透明性は、いくつかの理由で誇張されています。1.純粋なX転送は、LAN上で十分に高速です。インターネット上では、未処理のXは遅延のために使用できません。適切なパフォーマンスを得るには、NXやVNCなどのサードパーティのプロトコルを使用する必要があります。2. NXとVNCの両方は、Xのアーキテクチャのために設定するのが非常に苦痛です。Waylandの方が簡単です。3. Xの描画コードを使用する最新のツールキットはほとんどありません。彼らは自分自身をビットマップに描画してXに送信します。これはWaylandとまったく同じで、同じネットワーク特性を持ちます。
Timmmm

4
私はポイント1に同意しますが、質の良いLANでは、品質やパフォーマンスの点でXフォワーディングは変更できません。私の経験では、どちらの選択肢よりもはるかに優れています。
オリ

1
2013年の時点で、ネットワークの透明性に関する状況はより明確になりました:askubuntu.com/a/359870/203271
Diego

2
@poolie:彼らは心を変えたようです。;-)
ペケ

2
BionicBeaver /リリースノート:「Xは、デフォルトの表示・サーバであるウェイランドは、技術プレビューとして提供されている。20.04 LTSのデフォルトの表示・サーバであることを期待だけでログにCOGからのウェイランド上のUbuntuを選択し、それを試してみるために。 X.orgログは〜/ .local / share / xorgにあります。[エンファシス鉱山]
デニスウィリアムソン

56

XとWaylandには多くの違いがあります。おそらくグラフィックス側からの最大のものは、Wayland が描画を行わないことです。

Xには2つの描画APIがあります。これらの1つはコアX11プロトコルの一部であり、これは古く、役に立たず、誰も使用していません。もう1つは、勾配などの最新の複合操作を提供するXRender拡張機能です。これは、たとえばカイロが使用するものです。Xにはフォント描画APIもあります。

Waylandには描画APIはありません。Waylandクライアントは、基本的にグラフィックメモリへのポインターであるDRMバッファーハンドルを取得します。Waylandは、クライアントがそのバッファーにどのように描画するかを知りません。Xの用語では、これはすべてのアプリケーションが直接レンダリングされることを意味します -描画要求はサーバーを経由する必要はありません。

Waylandが行う唯一のレンダリングは、クライアントのバッファーを画面にコピーすることです。

利点の点では、WaylandはXよりもずっと複雑ではないため、保守が容易になりますが、この単純さの一部は、複雑さ(たとえば、実際にそのバッファー描画する方法、ネットワークの透明度)を他のレイヤーにプッシュすることから来ますスタック。クライアントがすべてのレンダリングを担当するようにすることで、クライアントはダブルバッファリングなどについて賢くなります。

グラフィックス以外にも他の利点があります。たとえば、アプリケーションをサンドボックス化する方がはるかに簡単です。


2
MicrosoftのDirectXのように聞こえますか?
アンワル

3
XRenderよりも高速であるため、コアX11プロトコル描画APIを使用します。
エテールコホモロジー

3
また、WaylandとsystemdからMicrosoftのワイブを入手しています。いいえ、それは良いことではありません。基本的なソフトウェア開発ルールに違反します。systemdの開発者にとって簡単だからといってsystemdで。ウェイランドでは、彼らはより速いゲーム(?)とレンダリングを望んでおり、それで多くの良いものを捨てています。
アンデルス

18

私の目での大きな違いは、WaylandはX-Serverよりもカーネルに近いということです。Xからカーネル(カーネルモード設定、KMSとして知られる)へのグラフィックドライバーの移動により、Waylandはこの新しい機能を使用してXを置き換えることを計画しています。

Xよりもフットプリントが少ない-ディスプレイがカーネルによって処理されるため、Waylandは使用可能になるためにそれほど実装する必要はありません。X転送(別のPCで1つの画面を見る)がXでなくなる可能性があると思うので、これは双方向に行われます。

KMS機能:Xサーバーを再起動せずに画面解像度を変更できる(少なくともnvidiaの場合、これはXで修正されたと思いますが)そのようなこと。

私が間違っている場合、誰でもこれについて私を修正できますか?


4
KMS&GEMはグラフィックドライバーをカーネルに移動しません。一部の小さな部分のみがカーネルに移動します(ハードウェアに直接話し、異なるドライバーが共存できるようにカーネル内に存在する必要があるビットI / Oポートへの書き込みとメモリの管理)。KMSとGEMは、少なくとも最新のオープンソースドライバー(Intel、Radeon、Nouveau)で現在Xですでに使用されています。BTW:グラフィックドライバー全体をカーネルに移行することはLinusに受け入れられるのではないかと真剣に思っています...;)
JanC

4
ああ、KMSは画面の解像度を変更する必要はありませんでした(10年以上前にXを使用して以来可能になりました)が、異なるドライバー(たとえば、コンソールフレームバッファードライバー、Xドライバー、現在はWaylandドライバー)を使用できますより簡単に協力します。過去には、グラフィックハードウェアが特定の時点でどの「状態」にあるのかが常に明確ではなかったため、推測やドライバーに依存する独自の回避策が多く使用されていました。
JanC

1
XはWaylandでクライアントとして使用できるため、Xフォワーディングがなくなることは完全に真実ではありません。wayland.freedesktop.orgにその例があります。しかし、Xはとにかくそのようなことをするためのかなり恐ろしい方法です。そろそろ交換されます。多くの場合、ブロードウェイでのGTKのようなものがより良いアプローチであると思われます。
ジョーエルレンドシンスタッド

3
RandR拡張機能を使用すると、Xサーバーを再起動せずに画面解像度を変更できます。
匿名

14

他のすべての投稿はWaylandの利点を強調していますが、それだけがすべてではありません。Waylandに対するXの最大の利点は、Xがネットワーク上で機能することです。Xはネットワークに透過的であるため、実際のプログラムが通常より強力な別のマシンで実行されている間に、ウィンドウを表示したり、XDMCPで完全なセッションを端末に表示したりできます。Waylandのようなものでは、ネットワークの透明性のアイデアはなくなりました。たぶん、最近では高速ネットワークやVNCやRDPのような他のプロトコルではそれほど必要ではないかもしれません。


これはまさに、提案されているWaylandに対するXの最大の利点でもあると考えています。
クリスジェイス

7

簡単に言えば、より良いグラフィックス(バグが少なく、高速で使いやすい)が望まれます。前日ではなかったことが、いつか可能になるかもしれません。私は個人的には、競争が常にそうであるように、少なくとも物事を盛り上げると思います。


3

日常業務でだれでもすぐに気付く2つの小さなこと:

  • Waylandは、X11で修正するのが難しすぎると思われたペーパーカットを廃止しました。有名な例:メニューが開いているとき、またはロック画面がオンになっているときに、ファンクションキー(スピーカーの音量、ディスプレイの明るさなど)を使用する。
  • Waylandは入力デバイスの方が優れています。1つには、永続的なタップからクリックの設定など、タッチパッドを構成するためのオプションがさらに多くあります。

1
プログラムが何らかの理由でロックされている場合、ウェイランドはさらに悪化します。別のwmを持つことは良いことです。私はネットワークX11を定期的に(毎日)使用しています。一部のプログラムはWaylandで動作しなくなりました(Ubuntu 18.04を使用しています)
Anders
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.