Sau tám tháng phát triển, phiên bản ổn định của giao thức Wayland 1.25, cơ chế giao tiếp giữa các tiến trình và thư viện đã được phát hành. Nhánh 1.25 tương thích ngược với các phiên bản 1.x ở cấp độ API và ABI và chủ yếu chứa các bản sửa lỗi và cập nhật nhỏ về giao thức. Công việc của dự án được cấp phép theo giấy phép MIT. Máy chủ tổng hợp tham chiếu Weston, cung cấp mã và các ví dụ hoạt động để sử dụng Wayland trong môi trường máy tính để bàn và các giải pháp nhúng, đang được phát triển trong một chu kỳ phát triển riêng biệt.
Những thay đổi lớn trong giao thức:
- Tài liệu đã được chuyển đổi từ định dạng DocBook sang định dạng mdBook (Markdown).
- Ngôn ngữ XML Wayland, mô hình cập nhật nội dung và khả năng quản lý màu sắc đều được ghi chép đầy đủ.
- Đã thêm thuộc tính mới "frozen" cho các giao diện có nhiều giao diện cha.
- Đã thêm yêu cầu wl_surface.get_release mới để nhận thông báo về việc giải phóng bộ đệm được gắn bởi máy khách thông qua wl_surface.attach. Không giống như wl_buffer.release, thông báo của wl_surface.get_release được gắn liền với một thời điểm hiển thị cụ thể.
- Đã thêm hàm wl_display_dispatch_pending_single(), cho phép bạn truy xuất và xử lý chỉ một sự kiện từ hàng đợi sự kiện, thay vì tất cả các sự kiện đã tích lũy như hàm wl_display_dispatch_pending().
- Đã thêm tính năng tô màu nổi bật cho đầu ra gỡ lỗi WAYLAND_DEBUG.
Các phần mở rộng giao thức được thêm vào kể từ khi phát hành Wayland 1.25, bổ sung cho giao thức Wayland cốt lõi và được cung cấp trong một bộ Wayland-Protocols riêng biệt:
- xx-input-method — Cho phép các ứng dụng triển khai các phương thức nhập văn bản cho dữ liệu phức hợp. may chủ và tạo ra văn bản đã nhập, có thể được sử dụng, ví dụ, để tạo bàn phím ảo và các lớp IME (Trình soạn thảo phương thức nhập) để xử lý đầu vào.
- xx-text-input — cho phép các máy chủ tổng hợp triển khai các phương thức nhập liệu và gửi văn bản đến các ứng dụng. Giao thức này chuẩn hóa sự tương tác giữa các máy chủ tổng hợp. người phục vụ và các ứng dụng, đồng thời cho phép bạn quản lý các chức năng như truyền văn bản đầu vào, xử lý các sự kiện thay đổi tiêu điểm nhập liệu và xem xét các đặc thù của trường nhập liệu (ngôn ngữ, lựa chọn văn bản, loại nội dung).
- Các giao thức color-management-v1 và color-representation-v1 đã được cải thiện, cung cấp khả năng quản lý màu, hỗ trợ HDR và xác định cách biểu diễn màu của bề mặt Wayland.
Những sự kiện đáng chú ý nhất liên quan đến Wayland đã xảy ra kể từ khi số báo cuối cùng được xuất bản:
- GNOME 50 đã loại bỏ hỗ trợ X11. KDE Plasma 6.8 cũng sẽ loại bỏ hỗ trợ X11.
- JetBrains đang chuyển đổi IDE IntelliJ sang sử dụng Wayland theo mặc định.
- Xfce đã công bố máy chủ tổng hợp Xfwl4 sử dụng Wayland.
- Môi trường máy tính để bàn Budgie 10.10 đã được chuyển đổi sang Wayland.
- Giao diện máy tính để bàn QNX Developer dựa trên Wayland.
- Marathon OS là một hệ điều hành di động dựa trên Wayland.
- Phát hành Wayback, một lớp để chạy môi trường máy tính để bàn X11 sử dụng các thành phần Wayland.
- Cinnamon hiện đã có tùy chọn cài đặt các tập tin phiên cho Wayland và tích hợp khả năng chuyển đổi bố cục bàn phím khi sử dụng Wayland.
- Trình điều khiển Wine hỗ trợ clipboard, các phương thức nhập liệu, cửa sổ không hình chữ nhật và độ trong suốt khi chạy trong môi trường dựa trên Wayland.
- Cairo-Dock đã bổ sung hỗ trợ Wayland.
- Các máy chủ tổng hợp đã được cập nhật: Weston 15.0, River 0.4.0, Hyprland 0.54, labwc 0.9.4, Niri 25.11, miracle-wm 0.8, Wayfire 0.10, wlmaker 0.6, labwc 0.9.0.
Chúng ta cần nhớ rằng Wayland là một giao thức truyền thông phức hợp. người phục vụ và các ứng dụng làm việc với nó. Các máy khách tự động hiển thị cửa sổ của chúng trong một bộ đệm riêng biệt, truyền thông tin về các bản cập nhật cho bộ đệm tổng hợp. người phục vụNó kết hợp nội dung của các bộ đệm ứng dụng riêng lẻ để tạo ra đầu ra cuối cùng, có tính đến các sắc thái có thể xảy ra như chồng chéo cửa sổ và độ trong suốt. Nói cách khác, máy chủ tổng hợp không cung cấp API để hiển thị các phần tử riêng lẻ, mà chỉ hoạt động trên các cửa sổ đã được hiển thị trước, loại bỏ hiện tượng đệm kép khi sử dụng các thư viện cấp cao như GTK và Qt, vốn xử lý công việc kết hợp nội dung cửa sổ.
Wayland решает многие проблемы с безопасностью X11, так как в отличие от последнего изолирует ввод и вывод для каждого окна, не позволяет клиенту получить доступ к содержимому окон других клиентов, а также не допускает перехват связанных с другими окнами событий ввода. Поддержка прямой работы c Wayland реализована для большинства применяемых в Linux графических библиотек, включая GTK, Qt, SDL, FLTK, wxWidgets, Clutter и EFL (Enlightenment Foundation Library).
Взаимодействие с аппаратным обеспечением в Wayland/Weston, например, проведение инициализации, переключение видеорежимов (drm modesetting) и управление памятью (GEM для i915 и TTM для radeon и nouveau) графических карт, может производиться напрямую через модуль, работающий на уровне ядра, что позволяет обойтись без привилегий суперпользователя. Для обеспечения выполнения обычных X11-приложений в окружении на базе Wayland используется DDX-компонент XWayland (Device-Dependent X), похожий по организации работы на Xwin и Xquartz для платформ Win32 и macOS.


Nguồn: opennet.ru
