✨Wayland

Wayland

Wayland là một giao thức máy tính chỉ định giao tiếp giữa máy chủ hiển thị và máy khách của nó, cũng như triển khai tham chiếu của giao thức trong ngôn ngữ lập trình C. Một máy chủ hiển thị sử dụng giao thức Wayland được gọi là bộ tổng hợp Wayland.

Wayland được phát triển bởi một nhóm tình nguyện viên ban đầu lãnh đạo bởi Kristian Høgsberg như một dự án hướng đến cộng đồng tự do và nguồn mở với mục đích thay thế X Window System bằng một hệ thống cửa sổ hiện đại, đơn giản hơn trong các hệ điều hành Linux và tương tự Unix khác. Mã nguồn của dự án được phát hành theo các điều khoản của Giấy phép MIT,và các giấy phép phần mềm tự do khác.

Là một phần trong nỗ lực của mình, dự án Wayland cũng phát triển một triển khai tham chiếu của bộ tổng hợp Wayland có tên Weston.

Tổng quan

Trong những năm gần đây, Đồ họa Linux desktop đã chuyển từ "một đống giao diện kết xuất... tất cả đang nói chuyện với X server, vốn là trung tâm của vũ trụ" hướng tới việc đặt nhân Linux và các thành phần của nó (i.e. Direct Rendering Infrastructure (DRI), Direct Rendering Manager (DRM)) "ở giữa", với "window systems giống như X hay Wayland... ở trong góc". Đây sẽ là" một hệ thống đồ họa đơn giản hóa mang đến sự linh hoạt hơn và hiệu năng tốt hơn ".

Kristian Høgsberg có thể đã thêm một phần mở rộng cho X như nhiều dự án gần đây đã thực hiện, nhưng ưu tiên "[đẩy] X ra khỏi đường dây nóng giữa trình khách và phần cứng"vì những lý do được giải thích trong FAQ của dự án:

Điều khác biệt bây giờ là rất nhiều cơ sở hạ tầng đã chuyển từ máy chủ X vào kernel (quản lý bộ nhớ, lập lịch lệnh, cài đặt chế độ) hoặc thư viện (cairo, pixman, freetype, fontconfig, pango, v.v.), và có rất ít điều phải xảy ra trong quy trình máy chủ trung tâm... Một máy chủ X có một số lượng lớn chức năng mà bạn phải hỗ trợ để yêu cầu kết nối giao thức X, nhưng sẽ không có ai sử dụng điều này. Điều này bao gồm các bảng mã, rasterization glyph và bộ nhớ đệm, XLFDs Và toàn bộ API kết xuất lõi cho phép bạn vẽ các đường thẳng, đa giác, vòng cung rộng và nhiều hơn nữa nguyên thủy đồ họa phong cách của những năm 1980. Đối với nhiều thứ, chúng tôi đã có thể giữ cho máy chủ X.org hiện đại bằng cách thêm tiện ích mở rộng như XRandR, XRender và COMPOSITE.... Với Wayland, chúng tôi có thể di chuyển X sever và tất cả công nghệ kế thừa của nó sang đường dẫn mã tùy chọn. Đến một điểm mà X server là một tùy chọn tương thích thay vì hệ thống kết xuất lõi sẽ mất một thời gian, nhưng chúng tôi sẽ không bao giờ đến đó nếu [chúng tôi] không có kế hoạch cho nó.
Wayland bao gồm một giao thức và triển khai tham chiếu có tên Weston. Dự án cũng đang phát triển các phiên bản GTK+ và Qt kết xuất với Wayland thay vì X. Hầu hết các ứng dụng dự kiến ​​sẽ nhận được hỗ trợ cho Wayland thông qua một trong những thư viện này mà không sửa đổi ứng dụng.

Các phiên bản ban đầu của Wayland đã không cung cấp tính minh bạch của mạng lưới, mặc dù Høgsberg đã lưu ý vào năm 2010 rằng tính minh bạch của mạng lưới là có thể. Họ đã được thử làm dự án Google Summer of Code năm 2011, nhưng không thành công. Adam Jackson đã hình dung việc cung cấp quyền truy cập từ xa vào ứng dụng Wayland bằng cách "pixel-scraping" (giống VNC) hoặc để nó gửi "rendering command stream" qua mạng (như trong RDP, SPICE hay X11). Vào đầu năm 2013, Høssberg đang thử nghiệm tính minh bạch của mạng bằng máy chủ Wayland proxy để gửi hình ảnh nén đến bộ tổng hợp thực. Vào tháng 8 năm 2017, Gnome đã chứng kiến lần đầu tiên triển khai máy chủ VNC quét pixel như vậy dưới Wayland.

Kiến trúc phần mềm

nhỏ|

Kiến trúc giao thức

Giao thức Wayland theo mô hình máy khách/ máy chủ trong đó máy khách là các ứng dụng đồ họa yêu cầu hiển thị bộ đệm pixel trên màn hình và máy chủ (bộ tổng hợp) là nhà cung cấp dịch vụ điều khiển hiển thị các bộ đệm này.

Việc triển khai tham chiếu Wayland đã được thiết kế như một giao thức hai lớp:

  • Một lớp cấp thấp hay wire protocol xử lý giao tiếp giữa các quá trình giữa hai quy trình có liên quan (client và bộ tổng hợp) và việc sắp xếp dữ liệu mà chúng trao đổi. Lớp này dựa trên thông báo và thường được triển khai bằng các dịch vụ IPC kernel, cụ thể là các ổ cắm miền Unix trong trường hợp các hệ điều hành giống như Linux và Unix.
  • Một lớp cấp cao được xây dựng dựa trên nó, xử lý thông tin mà client và bộ tổng hợp cần trao đổi để thực hiện các tính năng cơ bản của hệ thống cửa sổ. Lớp này được triển khai dưới dạng "giao thức hướng đối tượng không đồng bộ".

Mặc dù lớp cấp thấp được viết thủ công bằng C, nhưng lớp cấp cao được tự động tạo từ mô tả các thành phần của giao thức được lưu trữ ở định dạng XML. Mỗi khi mô tả giao thức của tệp XML này thay đổi, mã nguồn C thực hiện giao thức đó có thể được tạo lại để bao gồm các thay đổi mới, cho phép một giao thức rất linh hoạt, có thể mở rộng và chống lỗi.

Việc triển khai tham chiếu của giao thức Wayland được chia thành hai thư viện: một thư viện được sử dụng bởi các máy khách Wayland được gọi là libwayland-client và một thư viện được sử dụng bởi các trình biên dịch Wayland gọi là libwayland-server.

Tổng quan giao thức

Giao thức Wayland được mô tả là "giao thức hướng đối tượng không đồng bộ". Hướng đối tượng có nghĩa là các dịch vụ được cung cấp bởi trình biên dịch được trình bày dưới dạng một loạt các đối tượng sống trên cùng một trình biên dịch. Mỗi đối tượng thực hiện một giao diện có tên, một số phương thức (được gọi là yêu cầu) cũng như một số sự kiện liên quan. Mỗi yêu cầu và sự kiện không có hoặc nhiều đối số, mỗi đối số có tên và kiểu dữ liệu. Giao thức không đồng bộ theo nghĩa là các yêu cầu không phải chờ trả lời đồng bộ hoặc ACK, tránh thời gian trễ chuyến đi khứ hồi và đạt được hiệu suất được cải thiện

Các máy khách Wayland có thể thực hiện một yêu cầu (một lời gọi phương thức) trên một số đối tượng nếu giao diện của đối tượng hỗ trợ yêu cầu đó. Client cũng phải cung cấp dữ liệu cần thiết cho các đối số của yêu cầu đó. Đây là cách client yêu cầu dịch vụ từ bộ tổng hợp. Bộ tổng hợp lần lượt gửi thông tin trở lại máy khách bằng cách làm cho đối tượng phát ra các sự kiện (có thể cũng có các đối số). Các sự kiện này có thể được bộ tổng hợp phát ra dưới dạng phản hồi cho một yêu cầu nhất định hoặc không đồng bộ, tùy thuộc vào sự xuất hiện của các sự kiện nội bộ (chẳng hạn như một sự kiện từ thiết bị đầu vào) hoặc thay đổi trạng thái. Các điều kiện lỗi cũng được báo hiệu là sự kiện của bộ tổng hợp.

Để một máy khách có thể đưa ra yêu cầu cho một đối tượng, trước tiên, nó cần cho máy chủ biết số ID mà nó sẽ sử dụng để xác định đối tượng đó. Có hai loại đối tượng trong bộ tổng hợp: đối tượng toàn cục và đối tượng không toàn cục. Các đối tượng toàn cục được bộ tổng hợp quảng cáo cho khách hàng khi chúng được tạo (và cả khi chúng bị phá hủy), trong khi các đối tượng không toàn cầu thường được tạo bởi các đối tượng khác đã tồn tại như một phần chức năng của chúng.

Các giao diện và các yêu cầu và sự kiện của chúng là các yếu tố cốt lõi xác định giao thức Wayland. Mỗi phiên bản của giao thức bao gồm một bộ giao diện, cùng với các yêu cầu và sự kiện của chúng, dự kiến ​​sẽ có trong bất kỳ bộ tổng hợp Wayland nào. Tùy chọn, bộ tổng hợp Wayland có thể xác định và triển khai các giao diện riêng hỗ trợ các yêu cầu và sự kiện mới, do đó mở rộng chức năng ngoài giao thức cốt lõi. Để tạo điều kiện thay đổi giao thức, mỗi giao diện có chứa thuộc tính "số phiên bản" ngoài tên của nó; thuộc tính này cho phép phân biệt các biến thể của cùng một giao diện. Mỗi bộ tổng hợp Wayland không chỉ trưng bày những giao diện nào có sẵn, mà cả các phiên bản được hỗ trợ của các giao diện đó.

👁️ 1 | 🔗 | 💖 | ✨ | 🌍 | ⌚
**Wayland** là một giao thức máy tính chỉ định giao tiếp giữa máy chủ hiển thị và máy khách của nó, cũng như triển khai tham chiếu của giao thức trong ngôn ngữ lập trình
**Wayland** là một thành phố thuộc quận Henry, tiểu bang Iowa, Hoa Kỳ. Năm 2010, dân số của thành phố này là 966 người. ## Dân số Dân số qua các năm: * Năm 2000:
**Xã Wayland** () là một xã thuộc quận Chariton, tiểu bang Missouri, Hoa Kỳ. Năm 2010, dân số của xã này là 157 người.
**Xã Wayland** () là một xã thuộc quận Allegan, tiểu bang Michigan, Hoa Kỳ. Năm 2010, dân số của xã này là 3.088 người.
**Mir** là một máy chủ hiển thị máy tính và gần đây, bộ tổng hợp Wayland cho hệ điều hành Linux, được phát triển bởi Canonical Ltd. Nó đã được lên kế hoạch thay thế
**GTK** (trước đây là **GIMP Toolkit**) là một bộ công cụ widget đa nền tảng cho việc xây dựng các giao diện người dùng đồ họa. Nó được phát hành theo giấy phép GNU LGPL,
**KDE Plasma 5** là thế hệ thứ năm và hiện tại của môi trường không gian làm việc đồ họa được tạo bởi KDE chủ yếu cho các hệ thống Linux. KDE Plasma 5 là
**_Vũ khí bóng đêm: Thành phố Xương_** (tựa gốc tiếng Anh: **_The Mortal Instruments: City of Bones_**) là một bộ phim khoa học kỳ ảo hành động-phiêu lưu năm 2013 của Đức-Canada phỏng theo cuốn
nhỏ|Trụ sở hãng hàng không Mỹ [[Pan Am ở Manhattan là công trình văn phòng lớn nhất khi được xây dựng. Công ty MetLife mua lại năm 1981.]] **The Architects Collaborative** (tiếng Anh, viết tắt
**Fedora Linux** là một bản phân phối Linux dựa trên RPM Package Manager, được phát triển dựa trên cộng đồng theo Fedora Project và được bảo trợ bởi Red Hat, một công ty con của
[[Tập tin:Rökstenen - KMB - 16000300014216.jpg|nhỏ|392.997x392.997px| Hòn đá Rök, trên khắc những ký tự của cổ ngữ Rune. Đặt ở Rök, Thụy Điển. ]] **Thần thoại Bắc Âu** bao gồm tôn giáo và tín ngưỡng
**Freedesktop.org** (fd.o) là một dự án làm việc trên các cơ sở khả năng tương tác và chia sẻ công nghệ cho các phần mềm môi trường desktop miễn phí cho hệ thống X Window
**postmarketOS** (được viết tắt thành _pmOS_) là một hệ điều hành tự do và mã nguồn mở được phát triển chủ yếu cho các điện thoại thông minh, dựa trên bản phân phối Alpine Linux.
thumb|upright=1.35|Một giao diện đồ họa tương tự như những giao diện từ cuối thập niên 1980, trong đó có một cửa sổ [[Giao diện người dùng dựa trên văn bản|TUI cho một trang man, một
**Adobe Premiere Pro** (còn gọi là **Premiere Pro**) là một ứng dụng chỉnh sửa video theo thời gian được Adobe Systems phát triển và được phát hành như là một phần của chương trình cấp
**James Metcalfe** "**Jamie**" **Campbell Bower** (sinh ngày 22 tháng 11 năm 1988) là một ca sĩ, diễn viên người Anh. Bower được biết đến nhiều nhất qua các vai diễn như Anthony Hope trong phim
**Unity** là một là một môi trường desktop phân nhánh từ GNOME được phát triển bởi Canonical Ltd. cho hệ điều hành Ubuntu. Unity ra mắt trong phiên bản netbook edition của Ubuntu 10.10. Ban
**LightDM** là trình quản lý hiển thị X tự do nguồn mở nhằm mục đích gọn nhẹ, nhanh, có thể mở rộng và đa màn hình. nó có thể được sử dùng trên nhiều front-end
**_Anh em nhà Dalton_** (tiếng Pháp: _Les Dalton_, tiếng Anh: _The Daltons_) là một bộ phim hài hoạt hình Pháp dựa trên các tác phẩm của họa sĩ Morris và nhà văn René Goscinny khi
**Lang's Fairy Books** là tuyển tập 25 cuốn truyện cho thiếu nhi do tác giả Andrew Lang và phu nhân Leonora Blanche Alleyne công bố giai đoạn 1889 - 1913 tại Scotland. ## Lịch sử
**GNOME** () - là bộ phần mềm cung cấp môi trường màn hình nền dễ dùng cho hệ điều hành Linux cũng như cho các hệ điều hành khác. GNOME từng là tên viết tắt
**Walter Adolph Gropius** (18 tháng 5 năm 1883 tại Berlin – 5 tháng 7 năm 1969 tại Boston) là một kiến trúc sư người Đức và là người sáng lập ra trường phái Bauhaus nổi
**Tập đoàn Intel** (**Int**egrated **El**ectronics) được thành lập vào ngày 18 tháng 7 năm 1968 tại Santa Clara, California, Hoa Kỳ, là một trong những nhà sản xuất bán dẫn lớn nhất thế giới về
**Huy chương Penrose** được nhà địa chất Richard Alexander Fullerton Penrose, Jr. (1863-1931) thiết lập năm 1927, là một giải thưởng hàng đầu của Hội địa chất Hoa Kỳ dành cho công trình nghiên cứu
là một loài Pokémon xuất hiện trong nhượng quyền thương mại _Pokémon_ của Nintendo và Game Freak. Lần đầu tiên xuất hiện trong bộ phim Pokémon năm 2009: _Pokémon: Arceus, chinh phục khoảng không thời
_Pokémon_, một bộ manga nổi tiếng của Nhật Bản, còn có tên khác là , là một bộ phim truyền hình anime của Nhật Bản dựa trên loạt trò chơi video _Pokémon_ do Nintendo phát
**GeForce** là một thương hiệu của các đơn vị xử lý đồ họa (GPU) được thiết kế bởi NVIDIA. Kể từ loạt GeForce 30, đã có mười bảy lần lặp lại thiết kế. Các sản
nhỏ|Hackday với [[Jolla, Mer và Nemo Mobile tháng 8/2012]] **Sailfish OS** (cũng được viết là **SailfishOS** Hệ điều hành được phát hành cùng với máy tính bảng và smartphone Jolla (dừng bán năm 2016 nhưng
thumb|Đô đốc Hải quân Mỹ [[Dennis C. Blair giới thiệu huân chương và ruy băng của Huân chương Mặt trời mọc. (2002)]] thumb|Nam tước [[Édouard Descamps|Descamps đeo huân chương Đại Thập tự.]] là một huân
**Đảng Xã hội chủ nghĩa Mỹ** () là một đảng phái chính trị theo hệ tư tưởng xã hội chủ nghĩa ở Hoa Kỳ và một bộ phận ở Hoa Kỳ của Quốc tế xã
Trong tin học, một **môi trường desktop** (**DE**) là một triển khai của desktop metaphor làm cho một nhóm các ứng dụng có thể chạy trên hệ điều hành máy tính, thông qua việc chia
**Mutter** là một trình quản lý của sổ ban đầu được thiết kế và triển khai cho hệ thống X Window, và gần đây đã phát triển để trở thành một trình biên soạn Wayland.
**GNOME Shell** là lớp vỏ đồ họa của GNOME bắt đầu từ phiên bản 3, được phát hành vào ngày 6/4/ 2011. Nó cung cấp các tính năng cơ bản như khởi động ứng dụng,
**_Chúng ta_** (tựa tiếng Anh: **_Us_**) là một bộ phim điện ảnh kinh dị Mỹ của đạo diễn kiêm biên kịch và nhà sản xuất Jordan Peele. Dàn diễn viên chính trong phim bao gồm
**Dominic Anthony "Dom" Sherwood** (sinh ngày 6 tháng 2 năm 1990) là nam diễn viên, người mẫu Anh Quốc. Anh được biết đến với vai Christian Ozera trong phim điện ảnh _Vampire Academy_ và vai
là một trò chơi Pokémon dành cho Wii. Trò chơi được phát hành ở Nhật Bản vào ngày 12 tháng 11 năm 2011 ở Bắc Mỹ vào ngày 27 tháng 2 năm 2012, ở châu
**Taylor Schilling **(sinh ngày 27 tháng 7 năm 1984) là một nữ diễn viên người Mỹ. Cô nổi tiếng qua vai diễn Piper Chapman trong sê ri _Orange Is the New Black_ của hãng Netflix,
**Raspberry Pi** là một dòng máy tính bo mạch đơn (hay còn gọi là máy tính nhúng) có kích thước chỉ bẳng một thẻ tín dụng được phát triển tại Anh bởi Raspberry Pi Foundation
**KDE Software Compilation** (**KDE SC**) là tên gọi chung cho môi trường desktop cộng với một loạt các ứng dụng đi kèm do KDE phát triển. Từ bản phát hành 1.0 của nó tháng 1/1998