KWinFT, một nhánh của KWin tập trung vào Wayland, được giới thiệu

La Mã Gilg, tham gia trong việc phát triển KDE, Wayland, Xwayland và X Server, giới thiệu dự án KWinFT (KWin Fast Track), phát triển trình quản lý cửa sổ tổng hợp linh hoạt và dễ sử dụng cho Wayland và X11 dựa trên cơ sở mã Kwin. Ngoài trình quản lý cửa sổ, dự án còn phát triển một thư viện vùng đất bao bọc với việc triển khai ràng buộc trên libwayland cho Qt/C++, tiếp tục phát triển Kwayland, nhưng được giải phóng khỏi ràng buộc với Qt. Mã được phân phối theo giấy phép GPLv2 và LGPLv2.

Mục tiêu của dự án là tái chế KWin và KWayland bằng cách sử dụng
các công nghệ hiện đại và thực tiễn phát triển cho phép bạn tăng tốc độ phát triển dự án, cấu trúc lại mã, thêm tối ưu hóa và đơn giản hóa việc bổ sung các cải tiến cơ bản, việc tích hợp chúng vào KWin ở dạng hiện tại là rất khó. KWinFT và Wrapland có thể được sử dụng để thay thế KWin và KWayland một cách liền mạch, nhưng chúng không bị giới hạn bởi việc khóa KWin của nhiều sản phẩm trong đó việc duy trì khả năng tương thích hoàn toàn là ưu tiên ngăn cản sự đổi mới tiến lên.

Với KWinFT, các nhà phát triển có thể thoải mái thử nghiệm các tính năng mới trong khi vẫn duy trì sự ổn định thông qua việc sử dụng các kỹ thuật phát triển hiện đại hơn. Ví dụ: để kiểm tra mã KWinFT, một hệ thống tích hợp liên tục được sử dụng, bao gồm xác minh bằng cách sử dụng các linters khác nhau, tự động tạo các cụm lắp ráp và thử nghiệm rộng rãi. Về phát triển chức năng, trọng tâm chính của KWinFT sẽ là cung cấp hỗ trợ giao thức hoàn chỉnh và chất lượng cao
Wayland, bao gồm việc làm lại các đặc điểm kiến ​​trúc KWin khiến việc tích hợp với Wayland trở nên phức tạp.

Trong số những cải tiến thử nghiệm đã được thêm vào KWinFT là:

  • Quá trình tổng hợp đã được làm lại, điều này đã cải thiện đáng kể khả năng hiển thị nội dung chạy X11 và Wayland. Ngoài ra, bộ hẹn giờ đã được thêm vào để giảm thiểu độ trễ giữa việc tạo hình ảnh và hiển thị hình ảnh đó trên màn hình.
  • Đã triển khai phần mở rộng cho giao thức Wayland "người xem“, cho phép khách hàng thực hiện chia tỷ lệ phía máy chủ và cắt xén các cạnh bề mặt. Kết hợp với bản phát hành chính tiếp theo của XWayland, tiện ích mở rộng sẽ cung cấp khả năng mô phỏng các thay đổi về độ phân giải màn hình cho các trò chơi cũ hơn.
  • Hỗ trợ đầy đủ cho đầu ra xoay và phản chiếu cho các phiên dựa trên Wayland.

Wrapland cung cấp giao diện lập trình kiểu Qt cho phép truy cập vào các hàm libwayland ở dạng dễ sử dụng trong các dự án C++. Wrapland ban đầu được lên kế hoạch phát triển như một nhánh của KWayland, nhưng do tình trạng mã KWayland không đạt yêu cầu nên hiện nó được coi là một dự án để đại tu hoàn toàn KWayland. Sự khác biệt quan trọng nhất giữa Wrapland và KWayland là nó không còn bị ràng buộc với Qt và có thể được sử dụng riêng mà không cần cài đặt Qt. Trong tương lai, Wrapland có thể được sử dụng như một thư viện phổ quát với API C++, loại bỏ nhu cầu sử dụng API libwayland C của các nhà phát triển.

Các gói làm sẵn được tạo cho người dùng Manjaro Linux. Để sử dụng KWinFT, chỉ cần cài đặt kwinft từ kho lưu trữ và để quay lại KWin tiêu chuẩn, hãy cài đặt gói kwin. Việc sử dụng Wrapland không chỉ giới hạn ở KDE, ví dụ: việc triển khai ứng dụng khách đã được chuẩn bị để sử dụng trong rễ cây giao thức điều khiển đầu ra, cho phép các máy chủ tổng hợp dựa trên wlroots (Sự ảnh hưởng, Ngọn lửa) sử dụng KScreen để tùy chỉnh đầu ra.

Trong khi đó, tiếp tục cập nhật dự án sẽ được xuất bản KWin-độ trễ thấp, tạo thành một phiên bản của trình quản lý tổng hợp KWin với các bản vá nhằm tăng khả năng phản hồi của giao diện và khắc phục một số vấn đề liên quan đến tốc độ phản hồi các thao tác của người dùng, chẳng hạn như tình trạng giật hình khi nhập liệu. Ngoài DRM VBlank, KWin-lowlatency còn hỗ trợ sử dụng glXWaitVideoSync, glFinish hoặc NVIDIA VSync để bảo vệ chống xé hình mà không ảnh hưởng tiêu cực đến khả năng phản hồi (Tính năng chống xé hình ban đầu của KWin được triển khai bằng bộ hẹn giờ và có thể dẫn đến đầu ra có độ trễ lớn (lên đến 50ms) và kết quả là phản hồi bị chậm khi nhập dữ liệu). Có thể sử dụng các bản phát hành mới của KWin-lowlatency thay cho máy chủ tổng hợp gốc trong KDE Plasma 5.18.

Nguồn: opennet.ru

Thêm một lời nhận xét