Wayland とは何ですか? Linux ユーザーにとっての意味は何ですか?
2016 年に Fedora 25 がデフォルトで Wayland グラフィックス スタックを大胆に導入して以来、これはいくつかの Linux ディストリビューションに主要なオプションとしてインストールされています。Linux マシンからこれを読んでいる場合は、現在も使用しているかもしれません。Wayland が存在してからしばらく経ちますが、Xorg を通じて古くてユビキタスな X11 プロトコルを使用することに慣れていた人々の間では、依然として興味をそそられるトピックです。
このガイドでは、Wayland とは何か、その機能、そして開発者が大挙して Wayland に群がる理由について簡単に説明します。
ウェイランドとは何ですか?
画面上にウィンドウを表示し、そのすべての要素を正しく描画するには、Linux がグラフィック ハードウェアおよびディスプレイと通信する方法が必要です。1984 年から 2016 年まで、ほとんどのディストリビューションは「X ウィンドウ システム コア プロトコル」(または単に X)と呼ばれる表示プロトコルを使用していました。Wayland はこの期間の終わりに登場し、より軽量でセキュリティが強化され、最新のディスプレイ テクノロジで動作するようにより最適化された代替手段を提供しました。
ただし、表示プロトコルだけでは画面上に何かを描画することはできません。これらは、ディスプレイ サーバーとして知られるソフトウェアに実装する必要があります。X にとって、非常に長い間君臨するチャンピオンは Xorg でした。
Wayland では、ディスプレイ サーバーは多くの場合、デスクトップ環境で使用される単なるウィンドウ マネージャーになります。GNOME の場合は Mutter です。KDE Plasma では、KWin です。サーバーを実行する別のスタンドアロン プロセスを持たせる代わりに、ウィンドウ マネージャーはシステム内のライブラリを呼び出してグラフィックス ハードウェアと通信します。ほとんどの場合、それは ですwlroots
。
これにより、たとえば GNOME の Mutter は (Xorg の使用方法とよく似た) 仲介者を使用する代わりに、データをフレームバッファに直接書き込むことができ、目に見えてパフォーマンスが向上します。
ウェイランドはどのように機能しますか?
ディスプレイ サーバーは、カーネルとグラフィックス ハードウェアに情報を提供して、情報をディスプレイに迅速に渡すことができます。この情報は、それぞれのプロトコルを使用して通信するアプリケーションを通じて受信されます。たとえば、X で動作するように設計されたアプリケーションは Wayland サーバーと通信できません。
Wayland は、XWayland と呼ばれるものを通じてこの問題を解決します。XWayland は、X クライアントとサーバーの対話を Wayland が「理解できる」ものに変換できるようにする互換性レイヤーとして機能します。
Wayland では、サーバーとコンポジターは同一です。Wayland を使用するすべてのデスクトップ環境は、Wayland プロトコルを実装するライブラリを呼び出して、透明度、ウィンドウのぼかし、遷移アニメーション、ドロップ シャドウなど、ウィンドウに立体感を与える効果を描画します。
Wayland はこれらすべての機能をカーネルに近づけており、グラフィック環境で体験する「滑らかさ」によってそれを感じることがよくあります。
Wayland は、サードパーティ ソフトウェアを使用して描画する代わりに、カーネル内のダイレクト レンダリング マネージャー (DRM) バッファーと呼ばれるものを呼び出して描画します。
Wayland では手順がはるかに単純で、プロセスが簡単であることに気づくかもしれません。これにより、グラフィックスが激しい状況でもパフォーマンスが向上し、開発者はこのプロトコルで実行されるアプリケーションを簡単に作成できるようになります。
Wayland を試す方法
ほとんどの Linux ディストリビューションはデフォルト オプションとして Wayland を使用することを決定しているため、現在も Wayland を使用している可能性があります。これは、ターミナルを開いて と入力することで簡単に確認できますecho $XDG_SESSION_TYPE
。
Linux Mint のように、デスクトップ環境の開発サイクルが遅いことと、Wayland が本当にディストリビューション上で実行できるほど十分に成熟しているかどうかについての議論が原因で、いくつかのホールドが存在します。
現時点では、Ubuntu 22.04 以降 (または現在サポートされている Fedora バージョン) をインストールすることが、Wayland を体験する最も簡単な方法です。
他のディストリビューションでは、GNOME または KDE Plasma の現在のバージョンを使用している場合、Wayland を使用するオプションがあります。
Arch Linux を使用している場合は、次の手順に従う必要がある場合があります。
- GNOME を実行している場合は、ディスプレイ マネージャー (GDM) がデフォルトでサポートしているため、何もする必要はありません。KDE Plasma をデフォルトのディスプレイマネージャーで実行している場合は、その「git」バージョンをAUR から取得する必要があります。
yay -S sddm-git
また
paru -S sddm-git
- ステップ 1 で何かを行った場合は、systemd サービスが無効になっていないことを確認してください。
sudo systemctl enable sddm
- XWayland をインストールします。
sudo pacman -S xorg-xwayland
それでおしまい!次回システムを起動するとき、ログイン画面でデスクトップ環境の表示プロトコルとして Wayland を選択するオプションが表示されます。
イベントをデバッグして、何かが正しく動作しない理由を確認したい場合は、次のコマンドを実行します。
qdbus org.kde.KWin /KWin org.kde.KWin.showDebugConsole
よくある質問
現在 Wayland をサポートしているドライバーは何ですか?
Nvidia が 2021 年 10 月 26 日にバージョン 495.44 をリリースして以来、すべての主要なグラフィックス カード メーカー (AMD、Nvidia、Intel) は、ジェネリック バッファー管理 (GBM) を備えたドライバーで Wayland の完全サポートを実装しました。これは現在、グラフィックス カードの実装のゴールド スタンダードです。表示プロトコル。
Wayland はキーロガーを阻止できるでしょうか?
X11 は、「不正アクセス攻撃」( CVE-1999-0526 )として知られる攻撃に対して脆弱であることが長い間知られていました。この攻撃により、アプリケーションは不当なスクリーンショットを撮ったり、キーボードやマウスのイベントをタップしたりして、ユーザー名やパスワードにアクセスすることができます。パスワード。Wayland はこの種の攻撃を防ぐためのセキュリティ対策を講じていますが、この保護はディスプレイにグラフィックスを提供する範囲内にのみ適用されます。実際には、アプリケーションはキーボードを通じてカーネルに送信される他の種類のメッセージをリッスンすることができます。
つまり、Wayland はニッチな方法でセキュリティを強化するため、マシンを過信しないでください。
Wayland はゲームでどのようなパフォーマンスを発揮しますか?
一部のニッチなケースでは、Wayland を使用してゲームをプレイするといくつかの改善が見られますが、Xorg を介してレンダリングされるゲームではグラフィックに小さな問題が発生する可能性があります。一部のオーバーレイ アプリケーション (たとえば、War Thunder のオーバーレイを提供する WTRTI など) は、XWayland ウィンドウが別の XWayland ウィンドウと通信しようとしているため、まったく機能しない可能性があり、これは非常に困難な場合があります。達成感はさまざまで、ある結果に満足することもあれば、他の結果に失望することもあるでしょう。
コメントを残す