什麼是 Wayland,它對 Linux 用戶意味著什麼?

什麼是 Wayland,它對 Linux 用戶意味著什麼?

自從 2016 年 Fedora 25 大膽地默認引入 Wayland 圖形堆棧以來,它已作為主要選項安裝在多個 Linux 發行版中。如果您正在從 Linux 機器上閱讀本文,您現在甚至可能正在使用它。即使 Wayland 已經存在了一段時間,它仍然是習慣於通過 Xorg 使用較舊的、無處不在的 X11 協議的人們感興趣的話題。

本指南簡要介紹了 Wayland 是什麼、它的作用以及為什麼開發人員蜂擁而至!

什麼是韋蘭?

為了在您的屏幕上顯示窗口並正確地繪製它們的每一個元素,Linux 需要一種與您的圖形硬件和顯示器進行通信的方式。從 1984 年到 2016 年,大多數發行版都使用一種稱為“X 窗口系統核心協議”(或簡稱 X)的顯示協議。Wayland 出現在這一時期的末期,提出了一種更輕、更安全、更適合現代顯示技術的替代方案。

不過,顯示協議無法自行在屏幕上繪製內容。它們需要在稱為顯示服務器的軟件中實現。對於 X,很長一段時間的衛冕冠軍一直是 Xorg。

wayland-xorg-xsession

在 Wayland 中,顯示服務器通常只是您的桌面環境使用的窗口管理器。對於 GNOME,它是 Mutter。在 KDE Plasma 中,它是 KWin。窗口管理器不是讓單獨的獨立進程運行服務器,而是調用系統內的庫來與圖形硬件通信。在大多數情況下,那將是wlroots

例如,這允許 GNOME 的 Mutter 直接將數據寫入幀緩衝區,而不​​是使用中間人(很像 Xorg 的使用方式),從而顯著提高性能。

韋蘭如何運作?

顯示服務器向內核和圖形硬件提供信息,以便它們可以快速將內容傳遞給顯示器。他們通過使用各自協議與他們通信的應用程序接收此信息。例如,設計用於 X 的應用程序無法與 Wayland 服務器通信。

韋蘭顯示服務器

Wayland 通過稱為 XWayland 的東西解決了這個問題,它充當兼容層,允許將 X 客戶端-服務器交互轉換為 Wayland 可以“理解”的東西。

在 Wayland 中,服務器和合成器是一體的。每個使用 Wayland 的桌面環境都會調用一個實現 Wayland 協議的庫來繪製效果,例如透明度、窗口模糊、過渡動畫和投影,從而賦予窗口立體感。

Wayland 使所有這些功能更接近內核,您通常會通過在圖形環境中體驗到的“流暢度”來感受它。

Wayland 不是通過使用第三方軟件進行繪製,而是調用內核中所謂的直接渲染管理器 (DRM) 緩衝區來繪製東西。

您可能會注意到,在 Wayland 中,步驟要簡單得多,過程也很簡單。這會在圖形密集的情況下帶來更好的性能,並使開發人員更容易製作在此協議下運行的應用程序。

如何嘗試韋蘭

大多數 Linux 發行版已決定將 Wayland 作為默認選項,因此您甚至可能現在就在使用它!您可以通過打開終端並輸入 輕鬆檢查這一點echo $XDG_SESSION_TYPE

由於其桌面環境的開發週期緩慢,以及關於 Wayland 是否真正成熟到可以在發行版上運行的爭論,有一些反對者,例如 Linux Mint。

目前,安裝 Ubuntu 22.04 或更高版本——或任何當前支持的 Fedora 版本——提供了體驗 Wayland 的最輕鬆的方式。

韋蘭侏儒韋蘭會議

在任何其他發行版中,如果它使用當前版本的 GNOME 或 KDE Plasma,它可以選擇使用 Wayland。

如果您使用的是 Arch Linux,則可能必須執行以下步驟:

  • 如果您正在運行 GNOME,則無需執行任何操作,因為您的顯示管理器 (GDM) 默認支持它。如果您使用默認顯示管理器運行 KDE Plasma,則必須從 AUR獲取它的“git”版本:

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 的黃金標準顯示協議。

Wayland 會阻止鍵盤記錄器嗎?

眾所周知,X11 容易受到稱為“未經授權的訪問攻擊”( CVE-1999-0526 ) 的攻擊,它允許應用程序截取未經授權的屏幕截圖、竊聽鍵盤和鼠標事件等,以獲取對用戶名和密碼。儘管 Wayland 已採取安全措施來防止此類攻擊,但這種保護僅在為您的顯示器提供圖形服務的範圍內。實際上,應用程序仍然可以監聽通過鍵盤發送到內核的其他類型的消息。

簡而言之,避免對您的機器過度自信,因為 Wayland 以利基方式增強了您的安全性!

Wayland 在遊戲方面表現如何?

在某些特殊情況下,您會注意到使用 Wayland 進行遊戲時的一些改進,但通過 Xorg 呈現的遊戲可能會出現小的圖形問題。某些覆蓋應用程序(例如 WRTTI,它為 War Thunder 提供覆蓋)可能根本無法工作,因為它是一個試圖與另一個 XWayland 窗口對話的 XWayland 窗口,這可能非常困難。您的里程數可能會有所不同,您可能對某些結果感到滿意,但對其他結果可能會感到失望。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *