經過十三個月的持續開發,Wayland 1.24 正式發布,這是該協議的最新穩定版本,除了修復各種錯誤外,還實現了各種改進。
與先前的版本不同,Wayland 1.24 的新版本沒有引入任何顛覆性的變化,而是鞏固了先前的工作,提高了穩定性,增強了協議,並在 API 和 ABI 層級實現了完全向後相容。
Wayland 1.24 的新功能
在 Wayland 1.24 的新版本中,最顯著的新特性之一是實現了 wl_fixes 接口,旨在修正協議其他核心接口的局限性。其功能之一是 destroy_registry,允許明確終止對 wl_registry 物件的使用。
Wayland 1.24 中引入的另一個有趣的新功能是wl_keyboard::key API 新增了一個函數,該函數現在包含一個名為「repeated 」的新偽狀態。這項改進提升了持續按鍵的表示方式,尤其是在鍵盤輸入精度至關重要的環境中,例如透過 Wayland 進行的遠端桌面或 VNC 會話。
使用 `wl_keyboard::key`,可以在按鍵按下後、釋放前將其設定為「重複」狀態。在按鍵保持此狀態期間,伺服器可以明確產生多個「重複」事件,這些事件與「按下」狀態不同。此變更在需要區分單次按下和長按的場景中尤其有用,例如輸入長字元或遠端控制圖形介面時,傳統行為有所不同。
Wayland 1.24也包含一些新功能,例如:
- wl_display_dispatch_queue_timeout() 和 wl_display_dispatch_timeout():處理逾時事件。
- wl_shm_buffer_ref() 和 wl_shm_buffer_unref():允許存取共享記憶體緩衝區,即使它們已被銷毀。
- wl_proxy_get_interface() 和 wl_resource_get_interface():促進介面的動態檢索。
- wl_resource_post_error_vargs():使用變數參數清單改進錯誤處理。
新擴展
值得一提的是,Wayland 生態系統在過去一年中新增了許多擴展,大大增強了其功能,尤其是在色彩管理、視覺特效和輸入處理方面。雖然大多數新擴充功能並非最新版本獨有,但值得重點介紹的是近幾個月來推出的一些重要擴充:
- 色彩管理與色彩表現-v1:啟用色彩管理和 HDR 支援。
- xdg-頂級標籤: 使得重啟後識別視窗變得更容易。
- 外部背景效果: 允許在透明區域產生模糊和效果。
- 指針扭曲: 可以立即重新定位指針。
- xx-會話管理: 意外關閉後恢復視窗的狀態。
- xx-輸入法: 新輸入法系統的進步。
- 外部資料控制: 允許特權客戶端操作資料(非常適合剪貼簿)。
- 外部工作區: 管理虛擬桌面及其狀態。
- xdg 系統鈴聲: 允許系統發出警報信號。
- xdg-頂層圖示: 將圖示與頂層視窗關聯。
- ext-image-capture-source 與 ext-image-copy-capture: 允許您捕獲螢幕內容。
- FIFO 和提交時間: 管理顯示內容的更新時間和優先順序。
最後,如果您有興趣了解更多信息,可以點擊以下鏈接查看詳情。
如果我的發行版中沒有 Wayland,我該如何安裝?
Wayland 不是作為獨立應用程式安裝的,因為它是一種協議,需要相容的顯示伺服器(例如 Wayfire、Weston、Sway 或 wlroots)和合成器(例如 GNOME、KDE Plasma 等)來支援它。
值得一提的是,大多數現代發行版都預設安裝了 Wayland,至少可以作為選項。但如果您不確定它是否存在或想要更新,可以按照以下步驟操作。
我如何知道我是否正在使用 Wayland?
要檢查您的發行版中是否有 Wayland,只需輸入:
回顯 $XDG_SESSION_TYPE
如果顯示為 wayland,則表示您正在使用 Wayland。
如果顯示 x11,則表示您正在使用 X11。
您也可以檢查這個變數:
loginctl show-session $(loginctl | grep $(whoami) | awk '{print $1}') -p 型
如果您已經檢查過是否擁有 Wayland,而您沒有,則可以使用以下命令之一進行安裝:
於Debian / Ubuntu
sudo apt install libwayland-client0 libwayland-server0
Fedora
sudo dnf 安裝 wayland
Arch Linux及其衍生版本:
sudo pacman -S wayland
openSUSE的
sudo zypper 安裝 wayland libwayland-egl1 libwayland-client0 libwayland-server0