- Wayland, ra đời để thay thế sự phức tạp của X11 được phát triển từ thập niên 1980, đặt mục tiêu trở thành một giao thức hiển thị đơn giản, nhưng đến nay sau 17 năm vẫn tiếp tục vướng tranh cãi về mức độ hoàn thiện
- Mức độ chấp nhận chỉ dừng ở khoảng 40~60% toàn thị trường, và tốc độ phổ biến chậm hơn so với các thành phần hệ thống khác như PipeWire
- Do các giới hạn bảo mật, suy giảm hiệu năng, thiếu tiêu chuẩn..., đã có nhiều trường hợp báo cáo rằng ngay cả các chức năng cơ bản như ghi màn hình, sao chép, xem trước cửa sổ cũng bị hạn chế
- Khi KDE và RedHat chuyển sang lấy Wayland làm trung tâm, đã xuất hiện tình trạng bị ép chuyển sang công nghệ chưa hoàn thiện, làm gia tăng xung đột và cảm giác mệt mỏi giữa nhà phát triển và người dùng
- Dù vẫn có khả năng cải thiện trong tương lai, hiện tại Wayland bị đánh giá là chưa phù hợp để sử dụng đại trà, và bài viết kết lại bằng câu đùa rằng 2030 mới là năm thực sự của desktop Linux
Bối cảnh của X11 và sự xuất hiện của Wayland
- X11 là máy chủ hiển thị tiêu biểu của Linux được phát triển vào giữa thập niên 1980, và là thành phần cốt lõi trong phần lớn môi trường desktop
- Theo thời gian, ngày càng nhiều ý kiến cho rằng nó trở nên quá phức tạp và khó bảo trì
- Năm 2008, Kristian Høgsberg khởi động dự án Wayland, với mục tiêu tạo ra một giao thức hiển thị đơn giản để thay thế X11
- Bản triển khai ban đầu chỉ gồm khoảng 3.000 dòng mã, hướng đến một môi trường desktop đơn giản bằng cách loại bỏ các tính năng không cần thiết
- Wayland có cấu trúc thay thế không chỉ máy chủ hiển thị mà còn cả một phần compositor và chức năng của môi trường desktop
Tình hình hiện tại của Wayland và cách nhìn nhận vấn đề
- Tính đến năm 2026, thị phần của Wayland ở mức 40~60%, cho thấy tốc độ chấp nhận chậm so với 17 năm phát triển
- PipeWire được nêu ra như một trường hợp đối chiếu khi đã trở thành tiêu chuẩn cho hệ thống quản lý âm thanh chỉ trong 8 năm
- Bài viết cho rằng, so với chi tiết kỹ thuật của Wayland, sự bất tiện từ góc nhìn người dùng mới là vấn đề lớn hơn
Những vấn đề chính của Wayland
-
Hạn chế sử dụng do tăng cường bảo mật
- Wayland hạn chế sự tương tác giữa các ứng dụng vì lý do bảo mật
- Ví dụ: OBS không ghi được màn hình, không thể sao chép và dán, bị giới hạn xem trước cửa sổ...
- Việc chặn cả giao tiếp giữa những chương trình do chính người dùng tự cài đặt bị chỉ trích là xâm phạm quyền tự do của người dùng
- Dù viện lý do bảo mật, một số triển khai cốt lõi vẫn được viết bằng ngôn ngữ không an toàn bộ nhớ (C), nên bị cho là mâu thuẫn
-
Khoảng cách giữa tuyên bố cải thiện hiệu năng và thực tế
- Wayland đặt mục tiêu cải thiện hiệu năng bằng cách giảm bớt các lớp trung gian, nhưng trên thực tế chưa chứng minh được mức cải thiện hiệu năng nhất quán
- Một số benchmark cho thấy độ trễ đầu vào chậm hơn khoảng 40% so với X11
- So với tốc độ phát triển phần cứng, mức cải thiện hiệu năng cảm nhận được là không đáng kể, và người dùng GPU NVidia vẫn tiếp tục gặp vấn đề tương thích
-
Thiếu tiêu chuẩn và vấn đề tương thích
- Wayland không phải một phần mềm đơn lẻ mà là một giao thức, nên tồn tại sự không tương thích giữa các bản triển khai
- Các tính năng cơ bản như kéo và thả, chia sẻ màn hình vẫn còn ở trạng thái thử nghiệm
- Những chức năng từng được chuẩn hóa trong X11 hiện chưa được triển khai trong Wayland hoặc chỉ tồn tại dưới dạng extension phân tán
-
Tình trạng chưa hoàn thiện kéo dài
- Dù đã 17 năm trôi qua, đến nay các vấn đề ổn định cơ bản vẫn tiếp diễn
- Khi máy chủ mặc định của KDE Plasma chuyển sang Wayland, đã phát sinh hiện tượng giật hình đồ họa
- Lỗi segfault của OBS chỉ mới được khắc phục cách đây khoảng 6 tháng
- Ngay cả các tiện ích đơn giản cũng mới chỉ được hỗ trợ chưa đầy đủ, và hệ sinh thái công cụ tích lũy từ X11 đã bị đứt gãy
- Khi KDE và RedHat chuyển trọng tâm sang Wayland và ngừng hỗ trợ công nghệ cũ, người dùng đang bị ép chuyển sang công nghệ chưa hoàn thiện
Xung đột trong nhận thức giữa nhà phát triển và người dùng
- Một số nhà phát triển Wayland đã phản ứng mang tính công kích trước sự bất mãn của người dùng, với thái độ kiểu “đừng phàn nàn về phần mềm làm miễn phí”
- Dù phát ngôn đó sau này đã bị xóa, sự bất mãn vì bị ép chuyển đổi của người dùng và cảm giác mệt mỏi của nhà phát triển vẫn cùng tồn tại
- Bài viết nhận định rằng sẽ không có vấn đề lớn nếu Wayland chỉ là một dự án thử nghiệm dành cho nhà phát triển,
nhưng việc bị áp dụng cưỡng ép với người dùng phổ thông đã khiến bất mãn bùng nổ
- Có ý kiến chỉ trích rằng hiện tại Wayland gần giống một sân thử nghiệm cho nhà phát triển hơn là một sản phẩm hoàn chỉnh
Triển vọng và kỳ vọng trong tương lai
- Bất chấp các chỉ trích, khả năng phát triển của công nghệ cửa sổ mới vẫn còn tồn tại
- Hình dạng cửa sổ phi chuẩn, các thao tác ngữ cảnh kiểu macOS, tự động hóa desktop và tính năng scripting được nêu ra như các hướng phát triển trong tương lai
- Hỗ trợ game và phần cứng, cũng như mức độ hoàn thiện UI được nâng cao được đánh giá là những tiến triển tích cực
Kết luận và dự đoán
- Ngay cả sau 17 năm, Wayland vẫn bị đánh giá là không phù hợp cho sử dụng đại trà
- Các lỗi chức năng lớn vẫn tiếp tục được ghi nhận, và có nhận định rằng chi phí chuyển đổi lớn hơn lợi ích mang lại
- Những thay đổi được dự đoán trong 5 năm tới:
- Một số dự án ngừng hỗ trợ Wayland và quay lại X11
- Xuất hiện một giao thức mới thay thế cả X11 lẫn Wayland
- Giao thức mới sẽ cung cấp lớp tương thích tương tự XWayland
- Vấn đề phân mảnh vẫn sẽ tiếp diễn
- Cuối cùng, bài viết khép lại bằng câu đùa rằng “2030 mới là năm thực sự của desktop Linux”
9 bình luận
Có vẻ đây chỉ là kiểu chê bai vô não thôi. Với xu hướng hiện tại, Wayland có lẽ trong vài năm tới sẽ đủ tốt, mà giả sử cứ tiếp tục kéo X11 theo thì ai sẽ đi bảo trì nó đây? Vì lớp legacy đã chồng chất quá nhiều nên cần thay thế dần dần. Cũng khó để có thứ khác xuất hiện nữa. Từng có nhiều đối thủ cạnh tranh của Wayland như Mir, nhưng rồi đều chết cả. Nếu ghét DE dựa trên Wayland/X11 thì cứ dùng enlightenment đi. Tôi cũng chẳng muốn, và cũng sẽ không nói kiểu “không biết thì tự tìm đi”, nhưng cứ lôi một hai lỗi đã được giải quyết từ lâu của desktop Linux ra để chế giễu thì cũng phát chán. Còn vấn đề quay màn hình thì đừng dùng OBS mà dùng screen recorder tăng tốc bằng GPU, trên Flathub có đầy lựa chọn thay thế mà...
Theo trải nghiệm của tôi khi dùng Wayland và lần theo hệ thống issue cùng PR,
đó là một giao thức đơn giản nhưng không có triển khai tiêu chuẩn, nên mỗi nơi phát triển theo một kiểu khác nhau khiến tiến độ chậm,
và vì các giao thức cho tài nguyên dùng chung lại được tách ra để phát triển qua
xdg-desktop-portal, nên phải trải qua thêm quá trình trao đổi và ra quyết định, thành ra còn chậm hơn nữa.Dù phần lớn các tính năng hữu ích và vốn có ở những môi trường desktop khác đã được triển khai, tôi vẫn quá thường xuyên thấy chúng chỉ dừng ở trạng thái PR trong nhiều tháng, thậm chí nhiều năm.
Những phản hồi nảy sinh từ các trường hợp sử dụng thực tế như xung đột giữa các công cụ, hoạt động bất thường trong một số môi trường cụ thể, hay các tính năng QoL đơn giản đều lặp lại ở từng dự án,
Và nếu các dự án không chia sẻ những phần đó với nhau thì cùng một chức năng sẽ phải được rất nhiều người phát triển đi phát triển lại nhiều lần bằng rất nhiều ngôn ngữ khác nhau.
Ngay cả
xdg-desktop-portalcũng bị phân mảnh theo từng môi trường, nên cùng một chức năng lại được phát triển bằng các cách khác nhau với mức độ tiến triển khác nhau.. Chỉ cần nhìn vào trạng thái phát triển là có thể hiểu ngay vì sao mọi thứ lại chậm như vậy.Ừm... nhìn là biết ngay người bắt bẻ chuyện nó được viết bằng C đang cổ xúy cho ngôn ngữ nào rồi.
Thành thật mà nói, tôi không thể hiểu được việc chê bai một ngôn ngữ một cách vô thức như vậy... Việc dùng ngôn ngữ nào có thể có liên quan đến độ an toàn bộ nhớ, nhưng đó không phải là điều tất yếu.
Ở mức độ sử dụng desktop thông thường, có lẽ đã nhiều năm rồi tôi chưa từng gặp phải vấn đề nghiêm trọng nào với Wayland.
Ngoại trừ vài lỗi vặt thật sự nhỏ nhặt thì tôi đang dùng rất thoải mái, nên đây thực sự là một bài viết mà tôi không thể đồng cảm.
Dù sao thì cũng chỉ là giao thức, nên kể cả có tạo thêm tính năng mới thì chỉ cần định nghĩa nó trong giao thức hiện có là được mà
Ý kiến trên Hacker News
Tôi nghĩ cả X11 lẫn Wayland đều ổn. Có cả hai cùng tồn tại là điều tốt
Tôi hiểu những lời phàn nàn về systemd, nhưng lại không thật sự hiểu các lời phàn nàn về Wayland. Bài này có cảm giác giống than phiền cảm tính hơn là thông tin
Các chỉ trích về bảo mật hay hiệu năng cũng thiếu cơ sở. Ví dụ, câu kiểu “được viết bằng ngôn ngữ không an toàn bộ nhớ” là lập luận bỏ qua việc hồi năm 2008 còn chưa có Rust
Thêm nữa, việc nói “nó chậm” rồi lại bổ sung “cũng có kết quả ngược lại” chẳng khác nào tự phá vỡ chính lập luận của mình
Cuối cùng, tôi cũng không hiểu ý “bị ép phải dùng”. Chẳng phải cứ dùng X11 là được sao
Gần đây tôi dùng GNOME và Wayland trên Fedora với GPU AMD và không gặp vấn đề gì
Sao chép/dán, chia sẻ màn hình, kéo thả, webcam iPhone, ghi màn hình đều hoạt động tốt
Đặc biệt, fractional scaling trên nhiều màn hình hoạt động hoàn hảo. Trên X11 thì điều này là không thể
Fedora cho cảm giác được trau chuốt hơn Ubuntu rất nhiều, nên nếu ai đang cân nhắc thì tôi khuyên nên thử
Bài này có vẻ là sự pha trộn giữa nỗi đau trong quá khứ và những hiểu lầm đã lỗi thời
Mô hình bảo mật của Wayland hoàn toàn ngược với X11 — trong X11, mọi ứng dụng đều có thể nghe lén thao tác gõ phím và màn hình, còn Wayland là thiết kế dựa trên cô lập, phải được cho phép rõ ràng thông qua portal và API
Lập luận về hiệu năng cũng mâu thuẫn. Wayland có lợi thế cấu trúc trong việc giảm sao chép không cần thiết và giảm giao tiếp qua lại. Hiệu năng thực tế còn tùy compositor và driver
Câu chuyện NVIDIA cũng là chuyện cũ rồi. Trên driver mới, hỗ trợ GBM đã cải thiện rất nhiều
OBS, clipboard, chia sẻ màn hình v.v. phần lớn cũng đã được giải quyết
Tôi đã dùng Sway, GNOME và KDE trên Fedora và Asahi Remix, và độ tương thích của XWayland cũng rất tốt
Những thay đổi như thế này là quá trình thay thế thế hệ của công nghệ nền tảng, chậm nhưng đều đặn
xdg-desktop-portalkhông hoạt động nên khá bất tiện. Với X11 thì không cần phải bận tâm những thứ nàyTôi nghĩ chính sự tồn tại của Wayland là cú hích khiến toàn bộ graphics stack của Linux tiến bộ
Ngày xưa, nếu không có X thì thậm chí còn không dùng được GPU, và driver bị trói bên trong X. Thái độ “nền tảng nào không chạy thì không hỗ trợ” của Wayland ngược lại đã thúc đẩy chất lượng driver đi lên
Các nhà phát triển chính của X đã đi đến kết luận rằng “cái này không còn sửa được nữa”. Vì vậy họ bắt đầu lại với Wayland
Không thể chỉ nói rằng họ đã sai. Có khi việc tiếp tục bám lấy một khối chắp vá khổng lồ hiện có còn tệ hơn
Tôi thấy Wayland khó có thể trở thành bản thay thế hoàn toàn cho X11R6. Cấu trúc của nó giống như đang cố bắt chước WindowServer của Apple, nên không hợp với hệ sinh thái Linux vốn có nhiều toolkit và tiêu chuẩn khác nhau
Nhưng nếu có đủ tiền và nhân lực, có lẽ ai đó vẫn có thể tạo ra “thiên đường nhỏ” của riêng mình
Tôi dùng tổ hợp KDE + Wayland + NVIDIA và nó chạy rất tốt. NVIDIA cũng đã cải thiện rất nhiều trong vài năm gần đây
Quay lại X thậm chí còn bất tiện hơn. Tôi cũng đang chờ đợi sự phát triển tiếp theo của dự án xfwl
Tình huống này giống với quá trình chuyển từ Python2 sang 3. Từ góc nhìn nhà phát triển, đó là nỗ lực giải quyết giới hạn cấu trúc, nhưng với người dùng thì chi phí chuyển đổi rất lớn
Cuối cùng mất hơn 15 năm, và có người rốt cuộc vẫn không chuyển. Perl5→6 cũng là một ví dụ tương tự
Phần mềm nguồn mở vận hành theo hướng nhà phát triển nhiều hơn dự án thương mại, nên những chuyện như vậy gần như khó tránh khỏi
Tôi đang dùng Pop_OS 22.04 (X11), và chỉ muốn một desktop hoạt động ổn định
Bản 24.04 dựa trên Wayland có nhiều báo cáo lỗi, và tôi cảm thấy nó vẫn chưa ổn định. Tôi thích System76 và Pop_OS, nhưng lần chuyển đổi này đã làm cộng đồng chia rẽ
Khi còn làm đồng thời cả DE mới COSMIC viết bằng Rust, có vẻ họ đã cố làm quá nhiều thứ cùng lúc
Tôi đã dùng Wayland dựa trên sway suốt nhiều năm và nhìn chung hài lòng, chủ yếu vì fractional scaling
Vấn đề chủ yếu xuất hiện ở các ứng dụng XWayland. Ghi màn hình hay tương thích ứng dụng bên thứ ba vẫn khác nhau tùy bản phân phối
Điều tác giả nói như “không copy được, preview không hoạt động” hoàn toàn khác trải nghiệm của tôi. Wayland có vấn đề, nhưng X cũng từng có
Canonical hay Red Hat không phải đang ép mọi người dùng Wayland. Họ chỉ đổi mặc định để có trải nghiệm người dùng tốt hơn
Việc những thứ trước đây chạy được mà giờ không chạy được thì quả là bất tiện, nhưng chỉ riêng việc dọn bỏ đống spaghetti đã từng bị vật vã trong x11 để làm cho nó chạy được thôi cũng đã đủ lý do để đánh giá cao rồi.
Tuy vậy, nếu tìm nguyên nhân vì sao đến giờ vẫn còn nhiều thứ không chạy được thì cuối cùng vấn đề vẫn là chưa được tiêu chuẩn hóa, và đúng là khoảng thời gian đó kéo dài lâu hơn tưởng tượng.
Có lẽ đến cả năm 2030 người ta vẫn sẽ còn nói rằng nó vẫn còn lâu mới hoàn thiện, nhưng việc quay lại x11 sẽ là điều không thể.
Ngay cả trong giai đoạn hỗn loạn khi hệ sinh thái thay đổi, các giải pháp thay thế rồi cũng sẽ lại nghe những lời tương tự, còn chuyện quay lại thì có vẻ sẽ chỉ gây ra phản ứng ngược từ một hệ sinh thái mà mọi người đã quen thuộc.