「Ubuntu 22.04 LTS」で新しくなったことの一つが、ディスプレイサーバーとして「Wayland」がデフォルトになったことです。画面を描写する仕組みが変わっただけなので、見た目や操作性が変わったわけではありません。けれども、一部の用途で影響が生じます。新しい仕組みと想定される影響を、分かりやすく解説します。
長期サポート版のUbuntuユーザーにとっては、「Wayland」は初体験かもしれません。実は、UbuntuのWayland対応は日進月歩のスピードで進んでいます。Part4では、Waylandとの付き合い方を可能な限り最新の情報で紹介します。
「Wayland」が採用された背景
デスクトップの描画をつかさどるディスプレイサーバーは、長らく「X Window System(X11)」というプロトコルが使われてきました。その実装が「X.Org」です。Ubuntu 22.04 LTSからはWaylandというプロトコルがデフォルトに置き換えられました。実装はGNOMEの一部である「Mutter」です。
Waylandはサーバー/クライアントモデルです(図1)。この点はX11も同じですが、Xサーバーは独立して存在している点がWaylandと異なります。Waylandサーバーはコンポジターも兼ねており、プロトコルによる通信と実際の描画を担当します。この説明だけでは分かりにくいかもしれませんが、Waylandの方が構造的に簡素で軽く、多数の実装が存在するということが分かればよいです。
X11とWaylandに互換性はありませんが、X11アプリケーションがWaylandで使用できないと不便です。そこでWaylandクライアントとして動作するXサーバー「xWayland」が用意されています。このため、原則としてはアプリケーションの互換性を心配する必要はありません。
Ubuntuのログイン画面では、「Waylandセッション」と「X.Orgセッション」を選択できます。「セッション」とは、ログイン時に指定された設定やデーモンを実行する仕組みと理解すればよいでしょう。Ubuntu 22.04 LTSでWaylandに置き換わったことを意識するのは、このログイン画面だけでしょう。そう考えると、Waylandに置き換えるメリットがないように見えます。
正直なところ、例えば24インチでフルHD(1920×1080ドット)のディスプレイを単独で使用している分には、Waylandは持つ力をあまり発揮できません。また、仮想マシンの中でも同じです。あえて言えば、動作が軽くなるというメリットはあります。
では、なぜUbuntu 22.04 LTSでWaylandに置き換えられたのでしょうか?背景にあるのは、表示装置となるディスプレイが多様化していることです。
最近は、サイズ当たりのドット数が多い、いわゆる「高DPIディスプレイ」が普及し始めています。また、複数台のディスプレイを接続することも珍しくありません。サイズが13インチ、解像度が2560×1600ドットのディスプレイともなると、そのまま表示するとフォントが小さすぎて見えにくくなります。
そこで「設定」ツールの「ディスプレイ」を開き、「サイズ調整」を「200%」に設定することになりますが*1、今度は文字が大きくなりすぎます。「任意倍率のスケーリング」を有効にし、「120%」や「150%」に設定すると、ちょうどよくなります(図2)。この「任意倍率のスケーリング」機能は、現状ではWaylandにもX.Orgにもありません。Ubuntuでは独自に対応していますが、実装方法の違いからX.Orgではハードウエア負荷が高くなる傾向にあり、Waylandの方が高速に動くようです。
なお、冒頭で紹介した通り、Waylandはプロトコルで、実装はUbuntuの場合Mutterですが、以降では実装もWaylandと表記します。