KWinFT ซึ่งเป็นทางแยกของ KWin ที่มุ่งเน้นไปที่ Wayland ได้รับการแนะนำ

โรมัน กิลก์, เข้าร่วม ในการพัฒนา KDE, Wayland, Xwayland และ X Server ส่ง โครงการ กวินเอฟที (KWin Fast Track) พัฒนาตัวจัดการหน้าต่างคอมโพสิตที่ยืดหยุ่นและใช้งานง่ายสำหรับ Wayland และ X11 โดยใช้โค้ดเบส ชนะ. นอกจากตัวจัดการหน้าต่างแล้ว โปรเจ็กต์ยังพัฒนาไลบรารีอีกด้วย ห่อหุ้ม ด้วยการดำเนินการผูกมัด libwayland สำหรับ Qt/C++ และการพัฒนาอย่างต่อเนื่อง เคเวย์แลนด์แต่เป็นอิสระจากการผูกกับ Qt รหัสนี้เผยแพร่ภายใต้ใบอนุญาต GPLv2 และ LGPLv2

เป้าหมายของโครงการคือการรีไซเคิล KWin และ KWayland โดยใช้
เทคโนโลยีสมัยใหม่และแนวทางการพัฒนาที่ช่วยให้คุณเร่งการพัฒนาโครงการ ปรับโครงสร้างโค้ด เพิ่มการเพิ่มประสิทธิภาพ และลดความซับซ้อนของการเพิ่มนวัตกรรมพื้นฐาน ซึ่งการบูรณาการเข้ากับ KWin ในรูปแบบปัจจุบันเป็นเรื่องยาก KWinFT และ Wrapland สามารถใช้แทน KWin และ KWayland ได้อย่างราบรื่น แต่ไม่ได้จำกัดอยู่เพียงการล็อคอินของ KWin ของผลิตภัณฑ์จำนวนมาก ซึ่งการรักษาความเข้ากันได้อย่างสมบูรณ์เป็นสิ่งสำคัญอันดับแรกที่ป้องกันไม่ให้นวัตกรรมก้าวไปข้างหน้า

ด้วย KWinFT นักพัฒนามีอิสระในการทดลองคุณสมบัติใหม่ๆ ในขณะที่ยังคงรักษาความเสถียรผ่านการใช้เทคนิคการพัฒนาที่ทันสมัยมากขึ้น ตัวอย่างเช่น ในการตรวจสอบรหัส KWinFT จะใช้ระบบบูรณาการอย่างต่อเนื่อง รวมถึงการตรวจสอบโดยใช้ linters ที่แตกต่างกัน การสร้างชุดประกอบอัตโนมัติ และการทดสอบที่ครอบคลุม ในแง่ของการพัฒนาฟังก์ชัน จุดสนใจหลักของ KWinFT คือการให้การสนับสนุนโปรโตคอลคุณภาพสูงและครบถ้วน
Wayland รวมถึงการปรับปรุงคุณสมบัติทางสถาปัตยกรรม KWin ที่ทำให้การบูรณาการกับ Wayland ซับซ้อนยิ่งขึ้น

ในบรรดานวัตกรรมเชิงทดลองที่เพิ่มเข้ามาใน KWinFT แล้ว ได้แก่:

  • กระบวนการรวมภาพได้รับการปรับปรุงใหม่ ซึ่งได้รับการปรับปรุงการเรนเดอร์เนื้อหาที่ใช้งาน X11 และ Wayland อย่างมีนัยสำคัญ นอกจากนี้ ยังมีการเพิ่มตัวจับเวลาเพื่อลดความล่าช้าระหว่างการสร้างภาพและการแสดงผลบนหน้าจอ
  • ใช้ส่วนขยายกับโปรโตคอล Wayland "ผู้ดู“ ช่วยให้ลูกค้าทำการปรับขนาดฝั่งเซิร์ฟเวอร์และตัดขอบพื้นผิวได้ เมื่อรวมกับ XWayland เวอร์ชันหลักถัดไป ส่วนขยายนี้จะช่วยให้สามารถจำลองการเปลี่ยนแปลงความละเอียดหน้าจอสำหรับเกมรุ่นเก่าได้
  • รองรับการหมุนและการมิเรอร์เอาต์พุตอย่างเต็มที่สำหรับเซสชันที่ใช้ Wayland

Wrapland มีอินเทอร์เฟซการเขียนโปรแกรมแบบ Qt ที่ให้การเข้าถึงฟังก์ชัน libwayland ในรูปแบบที่ใช้งานง่ายในโครงการ C++ เดิมที 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

เพิ่มความคิดเห็น