Tại sao Wayland tốt hơn?


177

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?


5
Kể từ tháng 12 năm 2013, có vẻ như Ubuntu dựa trên Unity sẽ sử dụng máy chủ hiển thị Mir thay vì nhà soạn nhạc dựa trên Wayland bắt đầu từ Ubuntu 14.10: liên kết liên kết Các biến thể Ubuntu khác có thể sẽ chuyển sang Wayland: link
Diego

4
Đây là một video tuyệt vời giải thích X và tại sao mọi người muốn thay thế nó: youtube.com/watch?v=cQoQE_HDG8g
Jason

Ubuntu 18 (Bionic) hiện sẽ sử dụng xorg theo mặc định, nhưng wayland vẫn là một tùy chọn trên màn hình đăng nhập: blog.ub Ubuntu.com / 2018/01/26 / Lỗi
Kris

Tôi sẽ nói X là tốt hơn. Tôi sẽ không đi vào công cụ kỹ thuật. Nhưng tôi sẽ chỉ nói rằng tôi đã bỏ khung hình trên youtube bằng Wayland nếu tôi thay đổi kích thước cửa sổ hoặc đi / thoát toàn màn hình. Với X, không có vấn đề gì. Mặc dù tốc độ là như nhau. Ngoài ra, con trỏ chuột Wayland cảm thấy lỏng lẻo hơn trên X. X vẫn là số 1 của tôi
Luka

Câu trả lời:


136

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ự.


21
Điều minh bạch mạng là quá nhiều vì nhiều lý do. 1. Chuyển tiếp thuần X chỉ đủ nhanh qua mạng LAN. Qua internet raw X không sử dụng được do độ trễ. Để có được hiệu suất tốt, bạn phải sử dụng các giao thức của bên thứ ba như NX hoặc VNC. 2. Cả NX và VNC là một nỗi đau lớn để thiết lập do kiến ​​trúc của X. Nó sẽ dễ dàng hơn với Wayland. 3. Rất ít bộ công cụ hiện đại sử dụng mã vẽ của X. Họ chỉ tự vẽ một bitmap và gửi nó cho X. Điều này hoàn toàn giống với Wayland và sẽ có cùng đặc điểm mạng.
Timmmm

4
Tôi đồng ý với điểm 1 nhưng qua mạng LAN tốt, chuyển tiếp X không thể chạm tới về chất lượng hoặc hiệu suất. Tốt hơn nhiều so với sự thay thế trong kinh nghiệm của tôi.
Oli

1
Kể từ năm 2013, tình hình rõ ràng hơn về tính minh bạch của mạng: Askubfox.com/a3539870/203271
Diego

2
@poolie: Có vẻ như họ đã thay đổi suy nghĩ. ;-)
Peque 10/03/2015

2
Từ BionicBeaver / ReleaseNotes : "X là máy chủ hiển thị mặc định. Wayland được cung cấp dưới dạng Bản xem trước kỹ thuật và dự kiến ​​sẽ là máy chủ hiển thị mặc định trong 20.04 LTS . Để thử, chỉ cần chọn Ubuntu trên Wayland từ cog trên nhật ký màn hình. Nhật ký X.org hiện có thể được tìm thấy tại ~ / .local / share / xorg "[nhấn mạnh của tôi]
Dennis Williamson

56

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.


2
Âm thanh giống như DirectX của Microsoft như mọi thứ?
Anwar

3
Tôi sử dụng API vẽ giao thức X11 cốt lõi, vì nó nhanh hơn XRender.
étale-cohomology

3
Tôi cũng nhận được Microsoft wibes bằng Wayland và systemd. Và không, đó không phải là một điều tốt. Họ phá vỡ các quy tắc phát triển phần mềm cơ bản. Trong systemd chỉ vì nó dễ dàng hơn cho các nhà phát triển của systemd. Trong wayland bởi vì họ muốn các trò chơi nhanh hơn (?) Và kết xuất, và ném ra rất nhiều thứ hay ho với điều đó.
Anders

18

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?


4
KMS & GEM không di chuyển trình điều khiển đồ họa vào kernel, chỉ một số phần nhỏ được chuyển sang kernel (các bit nói trực tiếp với phần cứng và được yêu cầu phải ở trong kernel để các trình điều khiển khác nhau có thể cùng tồn tại, ví dụ ghi vào cổng I / O và quản lý bộ nhớ). KMS & GEM đã được X sử dụng ngày nay, ít nhất là cho các trình điều khiển nguồn mở hiện đại (intel, radeon, nouveau). BTW: Tôi thực sự nghi ngờ việc chuyển toàn bộ trình điều khiển đồ họa sang kernel sẽ được Linus chấp nhận ...;)
JanC

4
Ồ, và KMS không bao giờ cần thay đổi độ phân giải màn hình (điều đó có thể xảy ra kể từ khi tôi sử dụng X hơn 10 năm trước), nhưng nó cho phép các trình điều khiển khác nhau (ví dụ trình điều khiển bộ đệm khung điều khiển, trình điều khiển X và giờ là trình điều khiển Wayland) hợp tác dễ dàng hơn. Trước đây, không phải lúc nào cũng rõ ràng đối với mỗi người trong số "trạng thái" phần cứng đồ họa tại một thời điểm nhất định và rất nhiều cách giải quyết độc quyền phụ thuộc vào trình điều khiển đã được sử dụng.
JanC

1
Hoàn toàn không đúng khi chuyển tiếp X sẽ biến mất vì X vẫn có thể được sử dụng như một ứng dụng khách trên Wayland. wayland.freedesktop.org có một ví dụ về điều đó. Nhưng X là một cách khá kinh khủng để làm điều đó dù sao đi nữa. Đó là khoảng thời gian nó được thay thế. Trong nhiều trường hợp, có vẻ như những thứ như GTK với Broadway sẽ là cách tiếp cận tốt hơn.
Jo-Erlend Schinstad

3
Tiện ích mở rộng RandR cho phép bạn thay đổi độ phân giải màn hình mà không cần khởi động lại máy chủ X.
Ẩn danh

14

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 đủ.


Đây chính xác là những gì tôi cũng coi là lợi thế lớn nhất của X so với Wayland được đề xuất.
Kris Jace

7

Nói một cách đơn giản, hy vọng là cho đồ họa tốt hơn (ít lỗi hơn, nhanh hơn, dễ sử dụng hơn). Ngay cả những điều có thể có thể một ngày mà trước đây không có. Cá nhân tôi nghĩ rằng điều này ít nhất sẽ làm gia vị mọi thứ, như cạnh tranh luôn luôn làm.


3

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:

  • Wayland loại bỏ các giấy tờ được coi là quá khó để sửa trong X11. Một ví dụ nổi tiếng: Sử dụng các phím chức năng (âm lượng loa, độ sáng màn hình, v.v.) trong khi menu đang mở hoặc màn hình khóa được bật.
  • Wayland là tốt hơn ở các thiết bị đầu vào. Đối với một, có nhiều tùy chọn khác để định cấu hình bàn di chuột, bao gồm cài đặt nhấn để nhấp liên tục.

1
Wayland tồi tệ hơn nếu một chương trình bị khóa vì một lý do. Để có wm khác nhau là một điều tốt. Tôi sử dụng mạng X11 thường xuyên (mỗi ngày). Một số chương trình đã ngừng hoạt động ở Wayland (Tôi sử dụng Ubuntu 18.04)
Anders
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.