Wayland là gì? Giao thức hiển thị thay thế X11 trên Linux
Wayland là giao thức truyền thông (communication protocol) quy định cách máy chủ hiển thị (display server) giao tiếp với các ứng dụng client, đồng thời là thư viện C triển khai giao thức đó. Wayland được phát triển bởi Kristian Høgsberg và cộng đồng freedesktop.org với mục đích thay thế X Window System — hệ thống cửa sổ đã phục vụ Linux hơn 30 năm — bằng một kiến trúc đơn giản, bảo mật hơn.
Tại sao Wayland thay thế X11?
X11 (X Window System) được thiết kế từ năm 1984 cho hệ thống workstation Unix. Kiến trúc của nó có nhiều hạn chế:
- Bảo mật yếu: Mọi ứng dụng đều có thể ghi bàn phím (keylogging), chụp màn hình, hoặc can thiệp cửa sổ khác — không có cơ chế phân quyền.
- Kiến trúc phức tạp: X11 client-server qua mạng yêu cầu nhiều tầng middleware (XCB, XLib, Xorg-server).
- Hiệu suất: Nhiều lần copy buffer qua mạng, độ trễ cao cho ứng dụng đồ họa.
- Compositor ngoài: Hiệu ứng trong suốt, blur, animation cần compositor riêng (KWin, Mutter, i3-gaps…) chạy ngoài X server.
Wayland giải quyết tất cả bằng cách đưa compositor vào chính display server, loại bỏ middleware không cần thiết. Thay vì client vẽ lên X server rồi server tổng hợp, Wayland yêu cầu client tự vẽ buffer của mình, gửi trực tiếp đến compositor.
Kiến trúc Wayland
Wayland có kiến trúc tối ưu hơn:
- Wayland Compositor: Vừa là display server vừa là compositing window manager. Hiển thị trực tiếp lên framebuffer, không qua trung gian.
- Client ứng dụng: Gửi buffer đồ họa (OpenGL/Vulkan) trực tiếp đến compositor qua Wayland protocol.
- Weston: Reference implementation compositor Wayland, viết bằng C.
- Wayland-Protocols: Tập hợp giao thức mở rộng (xdg-shell, layer-shell, idle, output management…).
Sự khác biệt cốt lõi: trong X11, client vẽ lên server rồi server tổng hợp. Trong Wayland, client tự vẽ buffer, gửi đến compositor để tổng hợp. Điều này loại bỏ hàng trăm lần copy không cần thiết, giảm latency đáng kể.

| Thành phần | Vai trò |
|---|---|
| Wayland Server | Display server, nhận kết nối client, tổng hợp màn hình |
| Wayland Client | Ứng dụng, gửi surface (canvas) đến server |
| Compositor | Ghép các surface thành hình ảnh cuối, xử lý input, animation |
| WLR (wlroots) | Thư viện compositor phổ biến (dùng bởi Sway, Hyprland, River…) |
| Weston | Reference compositor chính thức |

Ưu điểm vượt trội
- Bảo mật: Client KHÔNG thể nhìn thấy hoặc can thiệp cửa sổ khác. Keylogger không hoạt động. Screen capture yêu cầu permission từ compositor.
- Hiệu suất: Ít tầng trung gian, buffer trực tiếp GPU, giảm latency.
- Đơn giản: Giao thức nhỏ gọn (~4000 dòng so với ~100.000+ của X11), dễ triển khai.
- Modern features: Hỗ trợ HDR, VRR (Variable Refresh Rate), bảo mật screen capture sẵn.
- Đa màn hình tự nhiên: Wayland xử lý multi-monitor tốt hơn X11 (không cần Xinerama hack).
- Smooth animations: Compositor kiểm soát toàn bộ animation, không bị xáo trộn bởi vẽ trực tiếp từ client.
- Không cần XWayland: Ứng dụng hiện đại có thể chạy native Wayland, không cần lớp tương thích.
Trạng thái áp dụng 2026
Wayland đã trở thành mặc định trên hầu hết phân phối Linux chính:
- GNOME 46+: Mặc định Wayland trên Ubuntu 24.04+, Fedora 40+, Arch Linux.
- KDE Plasma 6: Hỗ trợ Wayland xuất sắc, KWin compositor chạy native cả Wayland lẫn X11.
- Sway: Tiling window manager chạy trên Wayland (thay thế i3).
- Hyprland: Gaming compositor hiện đại, hỗ trợ Anime, blur, shadow, fade effects.
- NixOS: Mặc định Wayland từ phiên bản 24.05.
- openSUSE: Tùy chọn Wayland trong YaST, mặc định từ Tumbleweed.
Hạn chế còn lại: một số ứng dụng cũ (đặc biệt Java Swing, phần mềm Windows qua Wine) cần XWayland (layer tương thích X11) để chạy, thêm ~5% overhead. Trình duyệt Firefox đã hỗ trợ Wayland native từ Firefox 110+.
Tương lai
Wayland 1.26 (tháng 7/2026) tiếp tục hoàn thiện: hỗ trợ HDR tốt hơn, protocol mới cho input handling, và cải thiện tương thích ứng dụng. Với sự đóng góp của Intel (BIOS/GPU driver), AMD (Vulkan, Mesa), và cộng đồng lớn mạnh, Wayland đang trở thành tiêu chuẩn không thể đảo ngược cho Linux desktop.
Các hướng phát triển chính bao gồm:
- HDR support: End-to-end HDR từ GPU đến màn hình, xử lý tone-mapping ở compositor.
- Security protocols: Zink (security sandboxing), screen capture privacy enhancements.
- Fragmented surfaces: Hiển thị một cửa sổ trên nhiều màn hình đồng thời.
- Gaming: Input handling latency thấp hơn, hỗ trợ game controller tốt hơn, VRR native.
- Accessibility: Screen reader và assistive technology tương thích native.
Trong tương lai gần, X11 sẽ chỉ còn là lựa chọn fallback. Phần lớn Linux desktop đã chuyển đổi hoàn toàn sang Wayland.
