X11 和 Wayland 的差異、優劣與選擇建議

對比 Linux 桌面中 X11 與 Wayland 的架構差異、優缺點、相容性、輸入法、截圖錄影、遊戲和遠端桌面場景,並給出選擇建議。

Linux 桌面裡經常會遇到兩個名字:X11Wayland。 它們都和圖形顯示有關,但設計年代、架構思路和使用體驗差別很大。

簡單說,X11 是老一代顯示協定和生態,功能完整、相容性強,但架構複雜,安全模型比較陳舊。 Wayland 是新一代顯示協定,目標是減少中間層、提升安全性和流暢度,但仍然有一些軟體和工作流需要適配。

如果只是日常使用,結論可以先放在前面:

  • 新裝 Linux 桌面,優先試 Wayland;
  • 需要老軟體、複雜遠端桌面、特殊輸入裝置或某些專業工具時,X11 仍然更穩;
  • 遊戲和普通辦公場景,Wayland 已經越來越可用;
  • 遇到相容性問題,可以切回 X11,不需要把它當成二選一的信仰問題。

X11 是什麼

X11,也常被叫作 X Window System 或 Xorg,是 Linux 和 Unix 桌面使用了很多年的圖形系統。 它的設計目標來自早期網路計算環境:程式可以執行在一台機器上,視窗顯示在另一台機器上。

X11 的典型結構是:

  • 應用程式負責繪製視窗內容;
  • X Server 管理顯示、輸入、視窗基礎操作;
  • 視窗管理器負責視窗邊框、移動、堆疊;
  • 合成器負責陰影、透明、動畫、撕裂控制等效果。

這個架構很靈活,也讓 X11 累積了大量工具和擴充。 但時間久了以後,問題也明顯:元件多、路徑長、權限邊界鬆散,很多現代桌面需求需要靠擴充和補丁維持。

Wayland 是什麼

Wayland 不是一個傳統意義上的完整顯示伺服器,而是一套更現代的顯示協定。 在 Wayland 下,合成器通常同時承擔顯示伺服器的角色。 GNOME 的 Mutter、KDE 的 KWin、wlroots 系列合成器都可以作為 Wayland compositor。

Wayland 的典型結構更短:

  • 應用程式自己渲染視窗內容;
  • 合成器接收應用提交的 buffer;
  • 合成器統一管理視窗、輸入、顯示輸出和合成;
  • 最終畫面直接交給核心圖形堆疊顯示。

這種設計減少了傳統 X11 裡 X Server、視窗管理器、合成器之間的繞路。 它也讓權限控制更明確:應用預設不能隨便讀取其他視窗內容,也不能隨意監聽全域鍵盤輸入。

架構差異

最核心的差異在於職責劃分。

X11 裡,X Server 處在中心位置,很多應用都可以和它互動。 視窗管理器、合成器、輸入法、截圖工具、遠端控制工具也能透過 X11 的開放介面取得大量資訊。 這帶來了強相容性,也帶來了安全問題。

Wayland 裡,合成器是中心。 應用不能直接拿到其他視窗的內容,也不能預設監聽所有鍵盤輸入。 截圖、錄影、螢幕共享、全域快捷鍵、遠端控制等能力,需要透過桌面入口、PipeWire 或合成器提供的受控介面實現。

可以把它理解成:

對比項 X11 Wayland
設計年代 更早 更新
中心元件 X Server Compositor
合成器角色 可選或額外元件 核心元件
應用間隔離 較弱 較強
遠端顯示 原生思路更強 依賴新工具鏈
相容性 很強 仍在補齊
現代桌面體驗 依賴擴充和補丁 設計上更貼近現代需求

X11 的優點

X11 最大的優點是成熟。 它執行了很多年,幾乎所有 Linux 圖形程式都能在 X11 下工作。 一些老工具、專業軟體、特殊輸入法、遠端控制方案和自動化腳本,也往往優先支援 X11。

X11 的另一個優點是可操作性強。 很多工具可以直接讀取視窗、模擬輸入、抓取螢幕、移動視窗、監聽按鍵。 這對自動化、遠端協助、視窗管理腳本和一些特殊工作流很方便。

如果你的需求包括:

  • 使用老舊 GUI 軟體;
  • 依賴 xrandrxinputxdotoolwmctrl
  • 使用傳統遠端桌面或視窗轉發;
  • 需要某些特殊截圖、錄影、鍵鼠巨集工具;
  • 某個應用在 Wayland 下還不穩定;

那麼 X11 仍然是很現實的選擇。

X11 的缺點

X11 的缺點主要來自歷史包袱。

首先是安全模型舊。 在傳統 X11 工作階段裡,一個普通應用往往可以監聽其他視窗輸入、截取螢幕內容、模擬按鍵和滑鼠操作。 這在現代桌面安全視角下很難接受。

其次是渲染路徑複雜。 X11 時代經歷過很多擴充:Composite、GLX、DRI、RandR、Present 等。 這些擴充讓它能繼續支援現代桌面,但也讓圖形堆疊變得複雜。 高刷新率、多顯示器、不同縮放比例、混合 DPI、低延遲輸入等場景,X11 更容易出現邊角問題。

再者,X11 的維護重點已經逐漸轉向相容。 主流桌面環境仍然支援 X11,但新功能和新最佳化通常更優先落在 Wayland 上。

Wayland 的優點

Wayland 的優勢主要在現代桌面體驗。

它的渲染路徑更直接。 應用渲染 buffer,合成器負責統一合成和顯示,減少了傳統 X11 架構裡的繞路。 在動畫、視窗移動、高刷新率、多顯示器、觸控板手勢、分數縮放等場景裡,Wayland 更容易做得乾淨。

安全性也是 Wayland 的重要優點。 應用預設不能隨便截取其他視窗,也不能無條件監聽全域鍵盤輸入。 截圖、錄影和螢幕共享需要使用者授權,通常透過桌面入口和 PipeWire 處理。

Wayland 對現代硬體也更友好。 觸控板手勢、HiDPI、可變刷新率、不同顯示器使用不同縮放比例等能力,在 Wayland 下通常更自然。 GNOME 和 KDE 這幾年也把大量桌面體驗最佳化放到了 Wayland 工作階段裡。

Wayland 的缺點

Wayland 的問題不在於「不能用」,而在於生態還在遷移。

有些工具過去依賴 X11 的開放能力,例如全域按鍵監聽、視窗列舉、自動點擊、螢幕抓取、視窗移動。 這些在 Wayland 下不能直接照搬,必須透過入口、合成器協定或桌面環境 API 實現。 因此部分老工具會失效,或者只能在特定桌面環境下工作。

遠端桌面也是典型問題。 X11 天生有網路透明的歷史設計,雖然現代使用體驗未必總是好,但很多工具已經圍繞它成熟。 Wayland 下遠端桌面需要 PipeWire、RDP、VNC、桌面入口或合成器支援,具體體驗取決於 GNOME、KDE、Sway 等環境的實現。

輸入法也曾經是痛點。 現在 Fcitx5、IBus 在主流 Wayland 桌面裡已經明顯改善,但某些 Electron 應用、老程式或特殊組合仍可能出現候選框位置、焦點和快捷鍵問題。

NVIDIA 也曾長期是 Wayland 的阻力之一。 近幾年 NVIDIA 驅動和桌面環境支援已經改善很多,但如果你使用舊顯示卡、舊驅動或特殊多螢幕配置,仍然可能遇到 X11 更穩定的情況。

Xwayland 的作用

很多人以為切到 Wayland 後,X11 應用就完全不能用了。 實際不是這樣。

Wayland 桌面通常會透過 Xwayland 相容舊 X11 應用。 應用以為自己執行在 X11 上,實際視窗內容再交給 Wayland 合成器顯示。

這讓遷移過程平滑很多:

  • 原生 Wayland 應用走 Wayland;
  • 老 X11 應用走 Xwayland;
  • 使用者可以在一個桌面工作階段裡同時使用兩類程式。

不過,Xwayland 不是萬能的。 如果某個工具依賴全域輸入監聽、視窗管理腳本或底層 X11 擴充,它可能仍然受限制。

效能誰更好

不能簡單說 Wayland 一定比 X11 快,或者 X11 一定更穩定。 實際表現取決於桌面環境、顯示卡驅動、應用類型和使用場景。

一般來說:

  • 普通桌面動畫和高刷新率顯示,Wayland 往往更順;
  • 混合 DPI、多顯示器縮放,Wayland 更有優勢;
  • 老應用和特殊工具,X11 更少踩坑;
  • 遊戲場景,Wayland 透過 Xwayland 和原生支援已經很成熟,但個別遊戲或擷取工具仍可能偏向 X11;
  • 專業圖形、遠端控制和自動化腳本,要按具體工具測試。

對大多數普通使用者來說,效能不是最主要差異。 真正決定體驗的是相容性、安全邊界、顯示器配置和輸入裝置支援。

截圖、錄影和螢幕共享

這是 Wayland 最常被誤解的地方。

在 X11 下,截圖和錄影工具通常可以直接抓螢幕。 這很方便,但也意味著惡意程式更容易偷看螢幕。

在 Wayland 下,應用不能隨便抓螢幕。 截圖、錄影、直播和會議共享通常要透過桌面入口和 PipeWire,並經過使用者授權。 這更安全,但也要求應用支援新的介面。

所以如果你發現某個會議軟體、錄影工具或截圖工具在 Wayland 下不好用,不一定是 Wayland「不支援」,更可能是應用沒有適配好入口或 PipeWire。

遊戲該選哪個

現在 Linux 遊戲已經不再是 X11 獨占。 Steam、Proton、Mesa、KDE、GNOME、Gamescope、Xwayland 都讓 Wayland 遊戲體驗進步很大。

如果你使用 AMD 或 Intel 顯示卡,Wayland 通常已經可以作為日常遊戲環境。 如果你使用 NVIDIA,新驅動下也越來越可用,但建議保持驅動和桌面環境較新。

遊戲玩家可以這樣選擇:

  • 普通 Steam / Proton 遊戲:先試 Wayland;
  • 遇到錄製、直播、疊加層、輸入延遲問題:切 X11 對比;
  • 使用 Gamescope:Wayland 生態更合適;
  • 使用舊顯示卡或舊驅動:X11 可能省心。

遠端桌面和自動化

如果你的工作流依賴遠端桌面、視窗自動化或全域鍵鼠控制,需要更謹慎。

X11 在這些場景裡工具多,行為直接。 例如腳本控制視窗、模擬點擊、抓取指定視窗內容,在 X11 下通常更容易。

Wayland 出於安全設計,不允許普通應用隨便控制其他視窗。 這意味著自動化工具需要走桌面環境提供的介面,或者使用專門的遠端桌面實現。 GNOME、KDE 都在補齊這類能力,但不同桌面之間一致性還不如 X11。

如果你是普通桌面使用者,Wayland 沒問題。 如果你是重度遠端控制、自動化測試、視窗管理腳本使用者,X11 仍然可能更適合。

怎麼判斷自己正在用哪個

可以用環境變數查看目前工作階段類型:

1
echo $XDG_SESSION_TYPE

如果輸出是:

1
wayland

說明目前是 Wayland 工作階段。

如果輸出是:

1
x11

說明目前是 X11 工作階段。

在 GNOME、KDE 等桌面登入介面,通常可以透過齒輪選單或工作階段選擇項切換 X11 / Wayland。

選擇建議

可以按下面方式判斷:

場景 建議
新電腦、主流發行版、普通辦公 優先 Wayland
GNOME / KDE 最新版本 優先 Wayland
多顯示器、HiDPI、高刷新率 優先 Wayland
老軟體、舊顯示卡、舊驅動 優先 X11
遠端桌面、視窗腳本、自動化測試 優先 X11 或逐項測試 Wayland
遊戲 先試 Wayland,出問題切 X11
會議共享、錄影 看具體軟體對 PipeWire / 入口支援
安全敏感、多使用者桌面 優先 Wayland

Wayland 是未來方向,但 X11 還沒有馬上消失。 兩者會繼續共存一段時間。

小結

X11 的優勢是成熟、相容、工具多。 它適合老軟體、遠端桌面、視窗自動化和一些特殊工作流。 缺點是安全邊界弱,架構複雜,面對現代多螢幕、高刷新率和混合縮放時不夠清爽。

Wayland 的優勢是架構更現代、安全性更好、顯示路徑更直接,也更適合 HiDPI、觸控板手勢、多顯示器和現代桌面體驗。 缺點是部分老工具、遠端控制、截圖錄影和輸入法場景仍有適配成本。

普通使用者可以把 Wayland 當作預設選擇。 如果遇到某個軟體或外設不正常,再切回 X11 驗證。 對 Linux 桌面來說,這不是站隊問題,而是根據硬體、軟體和工作流選擇更省心的方案。

參考來源:

记录并分享
使用 Hugo 建立
主題 StackJimmy 設計