最近 宣布發布Wayland 1.18協議的新穩定版本,該新版本與1.x版的API和ABI級別上的先前版本兼容,但也包含部分改進。
對於那些不了解Wayland的人,他們應該知道 這是用於復合服務器和與其一起工作的應用程序交互的協議。 客戶端分別獨立地渲染其窗口,將更新信息傳遞到復合服務器,該服務器將各個應用程序窗口的內容組合起來以形成最終輸出,同時考慮到諸如窗口重疊和透明度之類的細微差別。
換句話說,複合服務器不提供API 用於渲染單個元素 並且僅在已經形成的窗口下運行 使用高級庫(例如GTK +和Qt)消除雙重緩衝。
關於韋蘭
目前,支持 與Wayland直接合作 已針對GTK3 +,Qt 5,SDL,Clutter和EFL實現 (啟蒙基金會圖書館)。
與硬件的交互 例如,在Wayland / Weston,圖形卡的初始化,更改視頻模式(drm模式設置)和內存管理(i915為GEM,radeon和nouveau為TTM), 可以直接通過內核級模塊完成,您可以繞過超級用戶權限。
Weston複合服務器不僅可以使用Linux內核DRM模塊運行,而且還可以在X11,其他Wayland複合服務器,幀緩衝區和RDP上運行。 此外,正在開發項目以確保在Android平台圖形堆棧的頂部進行工作。
作為Weston項目的一部分,正在開發一種複合服務器實現。
任何其他支持Wayland協議的產品也可以充當複合服務器。
例如: 目前正在為KWin的Wayland提供支持的工作。 以目前的形式,Weston已經超出了一組示例的範圍來測試Wayland協議,並且可以通過插件獲取功能。 此外,建議以Weston外部的後端形式實現自定義外殼程序和高級窗口管理功能。
為了確保普通的X11應用程序在基於Wayland的環境中運行,使用了XWayland DDX(設備相關X)組件,該組件在組織上類似於在Win32和OS X平台的Xwin和Xquartz中工作。
計劃將X11應用程序的啟動支持直接集成到Weston複合服務器中,當涉及到完整的X11應用程序時,它將啟動X服務器和相關XWayland組件的啟動。
通過這種方法,對於啟動直接與Wayland一起使用的應用程序的用戶而言,啟動X11應用程序的過程將是簡單而直接的。
Wayland 1.18的重大改進
在其新穎性方面,該公告提到了增加了對Meson建築系統的支持,雖然仍保留使用自動工具進行構建的功能,但在將來的版本中將刪除該功能。
Wayland 1.18的新版本中另一個引人注目的變化是 新API已添加到單獨的代理對象 基於標籤。 這允許應用程序和工具包共享Wayland連接。
另外, 添加了wl_global_remove()函數 分派一個全局對象刪除事件而不清除它。
新功能允許消除全局對象時消除“競賽條件”的發生。 由於客戶無法確認是否收到淘汰賽,因此可能會發生類似的比賽情況。 wl_global_remove()函數可以首先發送刪除事件,並且只有在一定延遲後才刪除對象。
還 Wayland服務器計時器已跟踪保證 在用戶空間中,消除了創建過多文件描述符的麻煩。
直到最後一個圖形多服務器,唯一沒有重新發明輪子的事情就變得太複雜了,它似乎不是最後一個稻草,在這裡,我將盡可能地對X11感到滿意。
PS:您知道在不破壞Debian中所有內容的情況下可以返回SystemV的任何方法嗎? 提前致謝。