Như Mark Shuttleworth đã công bố gần đây , Ubuntu sẽ chuyển sang sử dụng Wayland làm trình quản lý hiển thị.
Sự khác biệt lớn nhất giữa X11 và Wayland là gì? Tại sao Wayland sẽ làm cho Ubuntu tốt hơn?
Như Mark Shuttleworth đã công bố gần đây , Ubuntu sẽ chuyển sang sử dụng Wayland làm trình quản lý hiển thị.
Sự khác biệt lớn nhất giữa X11 và Wayland là gì? Tại sao Wayland sẽ làm cho Ubuntu tốt hơn?
Câu trả lời:
Bạn có thể xem trang kiến trúc Wayland để xem nó khác nhau như thế nào trong thiết kế. Cần đơn giản hóa toàn bộ ngăn xếp đồ họa bằng cách buộc mọi thứ thông qua ngăn xếp GEM / DRM tiêu chuẩn vào thẳng kernel và quản lý tổng hợp chính nó.
So sánh với ngăn xếp X nơi bạn có bit và bobs ở khắp mọi nơi. Một số mớ hỗn độn X đã được thiết kế linh hoạt, một số đã bị đau. Tất cả các bộ tổng hợp (Compiz / Metacity / Mutter / KWin / etc) đã được thêm vào như một suy nghĩ sau. Họ là, cốt lõi của họ, hack để làm những gì X có thể nên tự làm. Nếu mọi thứ tiếp tục mở rộng ra bên ngoài như trước đây, chúng ta sẽ đến điểm mà dự án trở nên không thể nhầm lẫn.
Nói chung, khi có hỗ trợ phần cứng, nó sẽ làm cho toàn bộ ngăn xếp hiệu quả hơn và ít gây đau đớn hơn khi sử dụng trong các thiết lập tiêu chuẩn.
Tuy nhiên, có một số vấn đề mà tôi chưa thấy biện pháp khắc phục cho đến nay:
X là nhận thức mạng khá. Bạn có thể gửi các cửa sổ đến các máy tính khác, bạn có thể có nhiều màn hình với thông tin đăng nhập từ xa và tất cả các loại điều thú vị như thế. Điều này có vẻ khá chuyên nghiệp nhưng nó được sử dụng rộng rãi công nghệ. Wayland xuất hiện khá địa phương và tĩnh trong so sánh.
Ngoài ra còn có hỗ trợ lái xe. Các trình điều khiển nguồn đóng vẫn chưa hỗ trợ các công nghệ KMS / shared-GEM / shared-DRM mà Wayland phát triển mạnh. Một người theo chủ nghĩa thuần túy có thể ổn với Nouveau nhưng ai đó trả 100-400 bảng cho thẻ đồ họa 3D hiệu suất cao sẽ không hài lòng với hiệu suất 3d kém hoàn hảo mà họ có được với trình điều khiển mở hiện tại.
Cập nhật: Nvidia đang làm việc để hỗ trợ cả Wayland và Mir .
Cập nhật 2018 . 17.10 đã sử dụng Wayland làm máy chủ hiển thị mặc định (trừ khi bạn có trình điều khiển đóng hoặc trình điều khiển không hỗ trợ hoặc cần X). Cả 18.04 và 18.10 đều sử dụng X làm mặc định toàn cầu (mặc dù bạn có thể cài đặt Wayland).
Tôi không chịu trách nhiệm cho bất cứ điều gì nhưng từ vị trí này, có vẻ như chúng tôi vẫn là một số liệu Nvidia không nhận được lực kéo thực sự . Cho đến thời điểm đó, tôi không nghĩ rằng chúng ta sẽ thấy đủ tư duy và sức mạnh phát triển vượt xa Wayland. Thị trường trò chơi / hiệu suất đang sử dụng X. Thị trường MCE đang sử dụng X (và bộ đệm khung trực tiếp). Tôi không chắc Wayland sẽ có cơ hội thực sự.
Có rất nhiều sự khác biệt giữa X và Wayland. Có lẽ cái lớn nhất từ phía đồ họa là Wayland không thực hiện bất kỳ bản vẽ nào .
X có hai API vẽ. Một trong số đó là một phần của giao thức X11 cốt lõi, cổ xưa, vô dụng và không ai sử dụng. Cái khác là phần mở rộng XRender cung cấp các hoạt động tổng hợp hiện đại, trong số những thứ khác như độ dốc. Đây là những gì Cairo, ví dụ, sử dụng. X cũng có API vẽ phông chữ.
Wayland không có API vẽ. Một máy khách Wayland có một bộ đệm DRM, về cơ bản là một con trỏ tới một số bộ nhớ đồ họa; Wayland không biết hoặc quan tâm đến cách khách hàng vẽ vào bộ đệm đó. Theo thuật ngữ X, điều này có nghĩa là tất cả các ứng dụng đều có kết xuất trực tiếp - yêu cầu vẽ không cần phải đi qua máy chủ.
Wayland kết xuất duy nhất làm là sao chép bộ đệm của khách hàng lên màn hình.
Về mặt lợi ích, Wayland ít phức tạp hơn X nên dễ bảo trì hơn - mặc dù một số điều đơn giản này đến từ việc đẩy sự phức tạp (ví dụ: làm thế nào để thực sự vẽ lên vùng đệm đó, độ trong suốt của mạng) sang các lớp khác của cây rơm. Bằng cách làm cho khách hàng chịu trách nhiệm cho tất cả các kết xuất của họ, khách hàng có thể thông minh hơn về những thứ như bộ đệm đôi.
Có những lợi ích khác ngoài đồ họa. Chẳng hạn, ứng dụng hộp cát dễ dàng hơn nhiều.
Sự khác biệt chính trong mắt tôi là Wayland gần với kernel hơn X-Server. Với việc di chuyển trình điều khiển đồ họa từ X sang kernel (được gọi là cài đặt chế độ kernel, KMS), Wayland có kế hoạch sử dụng chức năng mới này để thay thế X. Bạn có thể thấy ...
Ít dấu chân hơn X - vì màn hình được xử lý bởi kernel Wayland sẽ không phải thực hiện nhiều để có thể sử dụng được. Điều này diễn ra theo cả hai cách khi tôi nghi ngờ chuyển tiếp X (nhìn vào một màn hình trên PC khác) có thể biến mất với X.
Các tính năng của KMS: Có thể thay đổi độ phân giải màn hình mà không cần khởi động lại máy chủ X (mặc dù tôi tin rằng điều này đã được khắc phục trong X một thời gian trước, ít nhất là đối với nvidia), gỡ lỗi bảng điều khiển trên kernel hoảng loạn cho chipset intel (chuyển sang nouveau) nếu bạn vào đó là một thứ
Bất cứ ai có thể sửa chữa tôi về bất kỳ điều này nếu tôi sai?
Tất cả các bài đăng khác nêu bật những lợi ích của Wayland, nhưng nó không chỉ tốt cho tất cả. Ưu điểm lớn nhất của X so với Wayland là X hoạt động qua mạng. X là mạng trong suốt, bạn có thể hiển thị cửa sổ hoặc với XDMCP một phiên hoàn chỉnh, trên một thiết bị đầu cuối trong khi chương trình thực tế đang chạy trên một máy khác, thường mạnh hơn. Với một cái gì đó như Wayland, ý tưởng về tính minh bạch của mạng không còn nữa. Có lẽ ngày nay nó không được yêu cầu nhiều với các mạng nhanh và các giao thức khác như VNC và RDP, chỉ nghĩ rằng tôi muốn đề cập đến nó cho đầy đủ.
Hai điều nhỏ mà bất cứ ai cũng sẽ nhận thấy khá nhanh chóng trong công việc hàng ngày: