KWinFT 是 KWin 的一個分支,專注於 Wayland,推出了

羅曼·吉爾格, 參與 參與 KDE、Wayland、Xwayland 和 X Server 的開發, 引進 項目 KWinFT (KWin Fast Track),基於程式碼庫為 Wayland 和 X11 開發靈活且易於使用的複合視窗管理器 勝利。 除了視窗管理器之外,該專案還開發了一個庫 華普蘭 為 Qt/C++ 實作 libwayland 綁定,繼續開發 凱蘭,但擺脫了與 Qt 的綁定。 該程式碼根據 GPLv2 和 LGPLv2 授權分發。

該專案的目標是利用 KWin 和 KWayland 進行回收
現代技術和開發實踐使您能夠加快專案開發、重構程式碼、添加最佳化並簡化基本創新的添加,而將其整合到當前形式的 KWin 中是很困難的。 KWinFT 和 Wrapland 可用於無縫取代 KWin 和 KWayland,但它們不受許多產品的 KWin 鎖定的限制,在這些產品中,保持完全相容性是阻礙創新前進的首要任務。

借助 KWinFT,開發人員可以自由地嘗試新功能,同時透過使用更現代的開發技術來保持穩定。 例如,為了檢查 KWinFT 程式碼,使用了持續整合系統,包括使用不同的 linter 進行驗證、自動產生組件和廣泛的測試。 在功能開發方面,KWinFT的主要重點將是提供高品質且完整的協議支持
Wayland,包括重新設計 KWin 架構功能,使與 Wayland 的整合變得複雜。

KWinFT 中已新增的實驗性創新包括:

  • 合成過程經過重新設計,顯著改善了運行 X11 和 Wayland 的內容渲染。 此外,還添加了一個計時器,以最大程度地減少圖像創建與其在螢幕上顯示之間的延遲。
  • 實現了 Wayland 協議的擴展”視窗員「,允許客戶端執行伺服器端縮放和表面邊緣修剪。 與 XWayland 的下一個主要版本相結合,該擴展將提供模擬舊遊戲螢幕解析度變化的能力。
  • 完全支援基於 Wayland 的會話的旋轉和鏡像輸出。

Wrapland 提供了 Qt 風格的程式設計接口,以易於在 C++ 專案中使用的形式提供對 libwayland 函數的存取。 Wrapland 原本計劃作為 KWayland 的一個分叉進行開發,但由於 KWayland 程式碼的狀態不理想,現在被考慮作為一個徹底改造 KWayland 的專案。 Wrapland 與 KWayland 最重要的區別在於,它不再與 Qt 綁定,無需安裝 Qt 即可單獨使用。 未來,Wrapland 可以作為具有 C++ API 的通用庫使用,從而無需開發人員使用 libwayland C API。

為 Manjaro Linux 使用者建立現成的軟體包。 要使用 KWinFT,只需從儲存庫安裝 kwinft,要回滾到標準 KWin,請安裝 kwin 軟體套件。 Wrapland的使用不限於KDE,例如,已經準備了客戶端實作以供使用 維根 輸出控制協議,允許基於 wlroots 的複合伺服器(搖擺, 航火)使用 KScreen 自訂輸出。

同時 繼續 將發布專案更新 KWin-低延遲,形成一個帶有補丁的 KWin 複合管理器版本,以提高介面的響應能力並修復一些與使用者操作響應速度相關的問題,例如輸入卡頓。 除了DRM VBlank 之外,KWin-lowlatency 還支援使用glXWaitVideoSync、glFinish 或NVIDIA VSync 來提供防撕裂保護,而不會對響應能力產生負面影響(KWin 最初的撕裂保護是使用計時器實現的,可能會導致較大的延遲(高達50ms)輸出因此,輸入時的響應會出現延遲)。 新版本的 KWin-lowlatency 可以用來取代 KDE Plasma 5.18 中的庫存複合伺服器。

來源: opennet.ru

添加評論