หลังจากแปดเดือนของการพัฒนา เซิร์ฟเวอร์คอมโพสิต Weston 12.0 ที่เสถียรได้รับการเผยแพร่ โดยพัฒนาเทคโนโลยีที่นำไปสู่การรองรับโปรโตคอล Wayland อย่างเต็มที่ในการตรัสรู้, GNOME, KDE และสภาพแวดล้อมผู้ใช้อื่น ๆ การพัฒนาของ Weston มีเป้าหมายเพื่อมอบฐานโค้ดคุณภาพสูงและตัวอย่างการทำงานสำหรับการใช้ Wayland ในสภาพแวดล้อมเดสก์ท็อปและโซลูชันแบบฝัง เช่น แพลตฟอร์มสำหรับระบบสาระบันเทิงในยานยนต์ สมาร์ทโฟน ทีวี และอุปกรณ์ผู้บริโภคอื่น ๆ รหัสโครงการเผยแพร่ภายใต้ใบอนุญาต MIT
การเปลี่ยนแปลงหมายเลขเวอร์ชันที่สำคัญของ Weston เกิดจากการเปลี่ยนแปลง ABI ที่ทำให้ความเข้ากันได้เสียหาย การเปลี่ยนแปลงในสาขา Weston ใหม่:
- มีการเพิ่มแบ็กเอนด์เพื่อจัดการการเข้าถึงเดสก์ท็อประยะไกล - backed-vnc ซึ่งทำหน้าที่คล้ายกับ backend-rpd โปรโตคอล VNC ถูกนำมาใช้โดยใช้ aml และ Neatvnc รองรับการตรวจสอบผู้ใช้และการเข้ารหัสช่องทางการสื่อสาร (TLS)
- เพิ่มแบ็กเอนด์สำหรับการทำงานกับเซิร์ฟเวอร์มัลติมีเดีย PipeWire
- การเปลี่ยนแปลงในแบ็กเอนด์ DRM (Direct Rendering Manager):
- มีการรองรับการกำหนดค่าด้วย GPU หลายตัว หากต้องการเปิดใช้งาน GPU เพิ่มเติม จะมีการเสนอตัวเลือก “—รายการอุปกรณ์เพิ่มเติม_output_devices”
- เพิ่มการรองรับสำหรับโปรโตคอลควบคุมการฉีกขาดเพื่อปิดใช้งานการซิงโครไนซ์แนวตั้ง (VSync) ด้วยพัลส์การตัดแนวตั้งในแนวตั้ง ซึ่งใช้เพื่อป้องกันการฉีกขาดในเอาต์พุต ในโปรแกรมเกม การปิดใช้งาน VSync ช่วยให้คุณลดความล่าช้าในการแสดงผลหน้าจอ โดยต้องเสียค่าใช้จ่ายของสิ่งประดิษฐ์เนื่องจากการฉีกขาด
- เพิ่มการรองรับสำหรับการกำหนดประเภทเนื้อหาสำหรับ HDMI (กราฟิก ภาพถ่าย ภาพยนตร์ และเกม)
- คุณสมบัติการหมุนระนาบได้ถูกเพิ่มและเปิดใช้งานเมื่อเป็นไปได้
- เพิ่มการรองรับตัวเชื่อมต่อการเขียนกลับที่ใช้ในการจับภาพหน้าจอ
- เพิ่มคุณสมบัติเพื่อกำหนดระดับความโปร่งใสของเครื่องบิน
- ไลบรารีภายนอก libdisplay-info ใช้เพื่อแยกวิเคราะห์ข้อมูลเมตา EDID
- Backend-wayland ดำเนินการปรับขนาดโดยใช้ส่วนขยาย xdg-shell
- มีการเพิ่มการสนับสนุนเบื้องต้นสำหรับระบบหลายหัวเข้ากับแบ็กเอนด์การเข้าถึงระยะไกลของ backend-rdp
- แบ็กเอนด์แบบไม่มีส่วนหัวของแบ็กเอนด์ ซึ่งออกแบบมาเพื่อทำงานบนระบบที่ไม่มีจอแสดงผล ได้เพิ่มการรองรับสำหรับการตกแต่งเอาต์พุตที่ใช้สำหรับทดสอบปลั๊กอิน color-lcms
- ส่วนประกอบการเข้าสู่ระบบตัวเรียกใช้งานเลิกใช้แล้วและปิดใช้งานตามค่าเริ่มต้น แต่ขอแนะนำให้ใช้ตัวเรียกใช้งาน-libseat ซึ่งรองรับการเข้าสู่ระบบด้วย
- libweston/desktop (libweston-desktop) ให้การสนับสนุนสถานะรอก่อนที่จะแนบบัฟเฟอร์เอาต์พุตเข้ากับไคลเอ็นต์ ซึ่งสามารถใช้เพื่อเริ่มต้นไคลเอ็นต์จากจุดเริ่มต้นในโหมดเต็มหน้าจอ เป็นต้น
- มีการใช้โปรโตคอล Weston-Output-Capture ซึ่งได้รับการออกแบบมาเพื่อสร้างภาพหน้าจอและทำหน้าที่เป็นตัวทดแทนโปรโตคอล Weston-Screenshooter แบบเก่าที่ใช้งานได้มากขึ้น
- เพิ่มการรองรับโปรโตคอล xwayland_shell_v1 ซึ่งช่วยให้คุณสามารถสร้างวัตถุ xwayland_surface_v1 สำหรับ wl_surface ที่เฉพาะเจาะจงได้
- ไลบรารี libweston ใช้การสนับสนุนสำหรับการตรวจสอบสิทธิ์ผู้ใช้ผ่าน PAM และเพิ่มการสนับสนุนสำหรับอินเทอร์เฟซซอฟต์แวร์ wl_output เวอร์ชัน 4
- โหมดที่เรียบง่ายสำหรับการเลือกแบ็กเอนด์ เชลล์ และตัวเรนเดอร์ได้ถูกเพิ่มเข้าไปในกระบวนการประกอบ ซึ่งช่วยให้สามารถใช้ไวยากรณ์ “--backend=headless”, “-shell=foo” และ “-renderer=gl|pixman” แทน “-backend=headless-backend.so” "--shell=foo-shell.so" และ "-renderer=gl-renderer.so"
- ขณะนี้ไคลเอ็นต์ Simple-egl ได้รับการสนับสนุนสำหรับโปรโตคอลเศษส่วน ซึ่งอนุญาตให้ใช้ค่ามาตราส่วนที่ไม่ใช่จำนวนเต็ม และมีการใช้โหมดการเรนเดอร์แผงแนวตั้ง
- เชลล์สำหรับระบบสาระบันเทิงในยานยนต์ ivi-shell ใช้การเปิดใช้งานโฟกัสอินพุตคีย์บอร์ดสำหรับพื้นผิว xdg-shell ซึ่งใช้งานในลักษณะเดียวกันกับการเปิดใช้งานอินพุตใน desktop-shell และ kiosk-shell
- ไลบรารีที่ใช้ร่วมกันของ libweston-desktop ถูกรวมเข้ากับไลบรารี libweston การเชื่อมโยงแอปพลิเคชันกับ libweston จะทำให้สามารถเข้าถึงฟังก์ชันการทำงานทั้งหมดที่มีให้ก่อนหน้านี้ใน libweston-desktop
ที่มา: opennet.ru