Wayland เป็นโปรโตคอลเซิร์ฟเวอร์แบบกราฟิกและไลบรารีที่ให้วิธีการสำหรับตัวจัดการองค์ประกอบหน้าต่างในการสื่อสารโดยตรงกับแอปพลิเคชันและฮาร์ดแวร์
หลังจากเก้าเดือนของการพัฒนา การเปิดตัว เวอร์ชันใหม่ของโปรโตคอลเวอร์ชันเสถียร กลไกการสื่อสารระหว่างกระบวนการและไลบรารี เวย์แลนด์ 1.22.
สาขา 1.22 เข้ากันได้กับ API และ ABI เวอร์ชัน 1.x และประกอบด้วยการแก้ไขข้อบกพร่องและการอัปเดตโปรโตคอลเล็กน้อยเป็นส่วนใหญ่ Weston Composite Server ซึ่งให้โค้ดและตัวอย่างที่ใช้งานได้จริงสำหรับการใช้ Wayland ในสภาพแวดล้อมเดสก์ท็อปและโซลูชันแบบฝัง กำลังได้รับการพัฒนาโดยเป็นส่วนหนึ่งของวงจรการพัฒนาที่แยกต่างหาก
สำหรับผู้ที่ไม่ทราบเกี่ยวกับ Wayland คุณควรรู้ไว้ นี่คือโปรโตคอลสำหรับการโต้ตอบของเซิร์ฟเวอร์คอมโพสิตและแอปพลิเคชัน ที่ทำงานร่วมกับเขา ลูกค้าทำการเรนเดอร์หน้าต่างของตนเองในบัฟเฟอร์แยกต่างหาก โดยส่งผ่านข้อมูลเกี่ยวกับการอัปเดตไปยังเซิร์ฟเวอร์คอมโพสิต ซึ่งรวมเนื้อหาของบัฟเฟอร์แอปพลิเคชันแต่ละตัวเพื่อสร้างผลลัพธ์สุดท้าย โดยคำนึงถึงความแตกต่างที่เป็นไปได้ เช่น การทับซ้อนกันของหน้าต่างและความโปร่งใส .
ในคำอื่น ๆ เซิร์ฟเวอร์คอมโพสิตไม่มี API เพื่อแสดงองค์ประกอบ รายบุคคล, แต่ทำงานบนหน้าต่างที่สร้างไว้แล้วเท่านั้น ซึ่งช่วยให้คุณกำจัด double buffer เมื่อใช้ไลบรารี่ระดับสูง เช่น GTK และ Qt ซึ่งเข้ามาแทนที่งานของการเรียงลำดับเนื้อหาในหน้าต่าง
Wayland แก้ปัญหาความปลอดภัยของ X11 มากมาย เพราะมันแยกอินพุตและเอาต์พุตสำหรับแต่ละหน้าต่าง ไม่อนุญาตให้ไคลเอ็นต์เข้าถึงเนื้อหาของหน้าต่างไคลเอ็นต์อื่น และไม่อนุญาตการสกัดกั้นเหตุการณ์อินพุตที่เกี่ยวข้องกับหน้าต่างอื่น ซึ่งแตกต่างจากอันหลัง
ข่าวหลักของ Wayland 1.22
ในเวอร์ชันใหม่ของ Wayland 1.22 ที่นำเสนอนี้ โดดเด่นกว่านั้น รองรับเหตุการณ์ wl_surface ::preferred_buffer_scale และ wl_surface::preferred_buffer_transform ไปยัง wl_surface API ซึ่งเซิร์ฟเวอร์คอมโพสิตส่งผ่านข้อมูลเกี่ยวกับการเปลี่ยนแปลงในระดับมาตราส่วนและพารามิเตอร์การแปลงสำหรับพื้นผิว
การเปลี่ยนแปลงที่โดดเด่นอีกประการหนึ่งก็คือ เพิ่มเหตุการณ์ wl_pointer::axis ไปยัง wl_pointer API เพื่อ ระบุที่อยู่ทางกายภาพของตัวชี้ เพื่อกำหนดทิศทางการเลื่อนที่ถูกต้องในวิดเจ็ต
นอกจากนั้น เซิร์ฟเวอร์ Wayland ได้เพิ่มเมธอดเพื่อรับชื่อส่วนกลางและใช้งานฟังก์ชัน wl_client_add_destroy_late_listener
ในส่วนของ การเปลี่ยนแปลงที่เกี่ยวข้องกับ Wayland ต่อแอปพลิเคชัน สภาพแวดล้อมเดสก์ท็อป และการแจกจ่ายจะมีการเน้นสิ่งต่อไปนี้:
- Wine มาพร้อมกับการสนับสนุนเบื้องต้นสำหรับการใช้งานในสภาพแวดล้อมตามโปรโตคอล Wayland โดยไม่มีส่วนประกอบ XWayland และ X11 ในขั้นตอนปัจจุบัน มีการเพิ่มไดรเวอร์ winewayland.drv และคอมโพเนนต์ unixlib และมีการเตรียมการสำหรับการประมวลผลไฟล์นิยามโปรโตคอล Wayland โดยระบบบิลด์ ในหนึ่งในรีลีสถัดไป พวกเขาวางแผนที่จะรวมการเปลี่ยนแปลงเพื่อเปิดใช้งานเอาต์พุตในสภาพแวดล้อม Wayland
- ปรับปรุงการสนับสนุน Wayland อย่างต่อเนื่องใน KDE Plasma เวอร์ชัน 5.26 และ 5.27 ใช้ความสามารถในการปิดใช้งานการวางจากคลิปบอร์ดด้วยปุ่มกลางของเมาส์ ปรับปรุงคุณภาพการปรับขนาดหน้าต่างสำหรับแอปพลิเคชันที่เปิดตัวด้วย XWayland
- ให้การเลือกระดับการซูมอัตโนมัติสำหรับหน้าจอ
- เวอร์ชันทดลองของ xfce4-panel และ xfdesktop desktop ได้รับการจัดเตรียมไว้สำหรับ Xfce โดยให้การสนับสนุนเบื้องต้นสำหรับการทำงานในสภาพแวดล้อมที่ใช้โปรโตคอล Wayland
- สภาพแวดล้อมผู้ใช้ของการกระจาย Tails ถูกย้ายจากเซิร์ฟเวอร์ X ไปใช้โปรโตคอล Wayland
- ระบบการสร้างแบบจำลอง 3 มิติของ Blender 3.4 ใช้การรองรับโปรโตคอล Wayland ทำให้คุณสามารถเรียกใช้ Blender ได้โดยตรงในสภาพแวดล้อมที่อิงตาม Wayland โดยไม่ต้องใช้เลเยอร์ XWayland
- Sway สภาพแวดล้อมที่กำหนดเองเวอร์ชัน 1.8 พร้อม Wayland ได้รับการเผยแพร่แล้ว
- สภาพแวดล้อม PaperDE 0.2 แบบกำหนดเองพร้อมใช้งานโดยใช้ Qt และ Wayland
- Firefox ได้ปรับปรุงการแชร์หน้าจอในสภาพแวดล้อม Wayland โดยแก้ไขปัญหาเกี่ยวกับการเลื่อนเนื้อหาอย่างราบรื่น เริ่มเหตุการณ์การคลิกเมื่อแถบเลื่อนถูกคลิก และการเลื่อนออกจากเนื้อหาในสภาพแวดล้อมที่ใช้ Wayland
- Valve ยังคงพัฒนา Gamescope Composite Server (เดิมชื่อ steamcompmgr) ซึ่งใช้โปรโตคอล Wayland และใช้ในระบบปฏิบัติการ SteamOS 3
- การพัฒนา lxqt-sway ซึ่งเป็นพอร์ตของพื้นที่ผู้ใช้ LXQt ที่ Wayland รองรับ นอกจากนี้ โครงการ LWQt อื่นกำลังพัฒนา wrapper LXQt แบบกำหนดเองตาม Wayland ย้ายเดสก์ท็อป MATE ไปยัง Wayland ต่อไป
- System76 กำลังพัฒนาเวอร์ชันใหม่ของสภาพแวดล้อมผู้ใช้ COSMIC โดยใช้ Wayland
- Wayland เปิดใช้งานโดยค่าเริ่มต้นบนแพลตฟอร์มมือถือ Plasma Mobile, Sailfish, webOS Open Source Edition, Tizen และ AsteroidOS
ขึ้นอยู่กับ Wayland, Ubuntu Framework และเชลล์เอาแต่ใจกำลังได้รับการพัฒนา
ในที่สุด สำหรับใครที่สนใจอยากลองเวอร์ชั่นใหม่นี้ คุณสามารถดาวน์โหลดซอร์สโค้ดสำหรับบิลด์ของคุณได้จาก ลิงค์ต่อไปนี้