Wayland-โปรโตคอล 1.42 ออก

แพ็คเกจ wayland-protocols 1.42 ได้รับการเผยแพร่แล้ว ซึ่งประกอบด้วยชุดโปรโตคอลและส่วนขยายที่เสริมโปรโตคอล Wayland พื้นฐาน และมอบความสามารถที่จำเป็นสำหรับการสร้างเซิร์ฟเวอร์คอมโพสิตและสภาพแวดล้อมของผู้ใช้

Wayland-Protocols 1.42 แนะนำโปรโตคอล "cursor-shape" เวอร์ชันใหม่ซึ่งขยายความสามารถในการกำหนดรูปร่างของเคอร์เซอร์ และเพิ่มการรองรับสำหรับรูปร่างเคอร์เซอร์ด้วยตัวบ่งชี้การรับข้อมูล (เครื่องหมายคำถาม) และการเปลี่ยนแปลงขนาด นอกจากนี้ เวอร์ชันของโปรโตคอล "แท็บเล็ต" ยังได้รับการอัปเดตอีกด้วย ซึ่งเพิ่มโอกาสให้กับการจัดระเบียบอินพุตจากแท็บเล็ตกราฟิก โปรโตคอลแท็บเล็ตเวอร์ชันใหม่เพิ่มการรองรับสำหรับเหตุการณ์ "bustype" และเพิ่มความสามารถในการจัดการเหตุการณ์จากการควบคุมแบบหมุนด้วยการส่งการเปลี่ยนแปลงที่สัมพันธ์กันคล้ายกับการจัดการการเคลื่อนไหวของล้อเมาส์

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

เพื่อเร่งความเร็วในการส่งมอบโปรโตคอลให้แก่นักพัฒนาและส่งเสริมการนำโปรโตคอลไปใช้ในระยะเริ่มต้นในโครงการที่มีอยู่ จึงได้เพิ่มเฟส "ทดลอง" ขึ้นมาโดยเริ่มตั้งแต่การเปิดตัวครั้งก่อน ซึ่งอนุญาตให้มีการเปลี่ยนแปลงที่ทำลายความเข้ากันได้ และเพิ่มโปรโตคอล "แบบดิบ" ที่สามารถปรับให้ค่อยๆ พัฒนาไปสู่ระดับที่เหมาะสมได้ ในขณะที่โปรโตคอลจำเป็นต้องจัดตั้งทีมสนับสนุนและรับคำยืนยันจำนวนหนึ่ง (ACK) จากผู้ตรวจสอบเพื่อเข้าสู่ระยะการจัดเตรียม แต่จำเป็นต้องไม่ได้รับการคัดค้าน (NACK) เฉพาะในช่วงระยะเวลาการตรวจสอบสองสัปดาห์เท่านั้นเพื่อเข้าสู่ระยะทดลอง

ปัจจุบันชุดโปรโตคอล wayland ประกอบด้วยโปรโตคอลที่เสถียรซึ่งเข้ากันได้แบบย้อนหลังดังต่อไปนี้:

  • "viewporter" - อนุญาตให้ไคลเอนต์ดำเนินการปรับขนาดและครอบตัดที่ขอบของพื้นผิวในฝั่งเซิร์ฟเวอร์
  • "เวลานำเสนอ" - แสดงวิดีโอ
  • "xdg-shell" เป็นอินเทอร์เฟซสำหรับการสร้างและโต้ตอบกับพื้นผิวในรูปแบบหน้าต่าง ซึ่งช่วยให้คุณสามารถย้ายไปรอบๆ หน้าจอ ยุบ ขยาย ปรับขนาด ฯลฯ ได้
  • "linux-dmabuf" - ให้ความสามารถในการสร้าง wl_buffers บนพื้นฐานของ DMA-BUF
  • "แท็บเล็ต" - การจัดระเบียบอินพุตจากแท็บเล็ตกราฟิก

โปรโตคอลที่ทดสอบในสาขา "staging":

  • drm-lease - จัดหาทรัพยากรที่จำเป็นในการสร้างภาพสเตอริโอที่มีบัฟเฟอร์ที่แตกต่างกันสำหรับตาซ้ายและขวาเมื่อแสดงบนหมวกกันน็อคเสมือนจริง
  • "ext-session-lock" - กำหนดวิธีการล็อคเซสชัน เช่น ระหว่างการทำงานของโปรแกรมรักษาหน้าจอหรือเอาต์พุตของไดอะล็อกการรับรองความถูกต้อง
  • "บัฟเฟอร์พิกเซลเดียว" - ให้คุณสร้างบัฟเฟอร์พิกเซลเดียวที่มีค่า RGBA 32 บิตสี่ค่า
  • "xdg-activation" - ช่วยให้คุณถ่ายโอนโฟกัสระหว่างพื้นผิวต่างๆ ของระดับแรก (เช่น ใช้ xdg-activation แอปพลิเคชันหนึ่งสามารถเปลี่ยนโฟกัสไปยังอีกแอปพลิเคชันหนึ่งได้)
  • ประเภทเนื้อหา - อนุญาตให้ไคลเอนต์ส่งผ่านข้อมูลเกี่ยวกับเนื้อหาที่แสดงผลไปยังเซิร์ฟเวอร์คอมโพสิต ซึ่งสามารถใช้เพื่อปรับพฤติกรรมการรับรู้เนื้อหาให้เหมาะสม เช่น การตั้งค่าคุณสมบัติเฉพาะ DRM เช่น "ประเภทเนื้อหา" มีการประกาศการสนับสนุนสำหรับประเภทเนื้อหาต่อไปนี้: ไม่มี (ไม่มีข้อมูลเกี่ยวกับประเภทข้อมูล), ภาพถ่าย (เอาต์พุตของภาพถ่ายดิจิทัลที่ต้องใช้การประมวลผลน้อยที่สุด), วิดีโอ (วิดีโอหรือภาพเคลื่อนไหว, จำเป็นต้องมีการซิงโครไนซ์ที่แม่นยำยิ่งขึ้นเพื่อขจัดอาการตะกุกตะกัก) และเกม (เริ่มเกม, ออกจากการหน่วงเวลาขั้นต่ำ)
  • ext-idle-notify - อนุญาตให้เซิร์ฟเวอร์คอมโพสิตส่งการแจ้งเตือนการไม่ใช้งานของผู้ใช้ไปยังไคลเอนต์ ซึ่งสามารถใช้เพื่อเปิดใช้งานโหมดประหยัดพลังงานเพิ่มเติมหลังจากไม่มีการใช้งานในระดับหนึ่ง
  • การควบคุมการฉีกขาด - ช่วยให้คุณสามารถปิดใช้งานการซิงโครไนซ์ในแนวตั้ง (VSync) ด้วยพัลส์การหน่วงแนวตั้งในแอปพลิเคชันแบบเต็มหน้าจอ ซึ่งใช้เพื่อป้องกันการฉีกขาดในเอาต์พุต ในแอปพลิเคชันมัลติมีเดีย สิ่งประดิษฐ์เนื่องจากการฉีกขาดเป็นผลที่ไม่พึงประสงค์ แต่ในโปรแกรมเกม สิ่งประดิษฐ์สามารถยอมรับได้หากการจัดการกับสิ่งเหล่านั้นทำให้เกิดความล่าช้าเพิ่มเติม
  • ext-foreign-toplevel-list - ดึงข้อมูลเกี่ยวกับพื้นผิวที่วางอยู่ที่ระดับบนสุด ซึ่งช่วยให้คุณสามารถจัดระเบียบหน้าต่างเพื่อเทียบเคียงกับเนื้อหาอื่น ๆ ได้ เช่น เพื่อแนบแผงและสวิตช์หน้าต่างของคุณเอง
  • บริบทความปลอดภัย - ช่วยให้คุณระบุไคลเอนต์โดยใช้การแยกแซนด์บ็อกซ์ ลูกค้าสามารถลงทะเบียนการเชื่อมต่อใหม่กับเซิร์ฟเวอร์คอมโพสิตที่ใช้ Wayland และแนบบริบทความปลอดภัยเข้าไป หลังจากนั้นตัวจัดการคอมโพสิตจะจำกัดความสามารถที่มีให้กับการเชื่อมต่อที่สร้างขึ้นตามบริบทความปลอดภัยที่ระบุ
  • รูปร่างเคอร์เซอร์เป็นอีกทางเลือกหนึ่งในการปรับแต่งรูปลักษณ์ของเคอร์เซอร์ โดยอิงจากการส่งชุดรูปภาพของเคอร์เซอร์แทนที่จะจัดชิดบนพื้นผิว (wl_surface)
  • “ที่นั่งเสริมชั่วคราว” - ออกแบบมาเพื่อสร้างเซสชันอิสระชั่วคราว (ที่นั่ง) ที่ออกแบบมาเพื่อใช้กับอุปกรณ์อินพุตเสมือน ตัวอย่างเช่น เมื่อใช้ความสามารถในการเชื่อมต่อกับเดสก์ท็อประยะไกล โปรโตคอลจะอนุญาตให้คุณสร้างเซสชันแยกต่างหากสำหรับผู้ใช้แต่ละคนด้วยแป้นพิมพ์และเมาส์เสมือน
  • "xdg-toplevel-drag" - ขยายกลไก "ลากและวาง" ด้วยความสามารถในการแนบหน้าต่างระดับบนสุดกับการลากซึ่งสามารถใช้เพื่อจัดระเบียบการลากแถบเครื่องมือหรือแท็บเบราว์เซอร์ด้วยเมาส์ โปรโตคอลใหม่ช่วยให้คุณสร้างส่วนที่ถอดออกได้ของหน้าต่าง ซึ่งเมื่อลากจากหน้าต่างนั้น จะกลายเป็นหน้าต่างใหม่ และสามารถย้ายไปไว้ด้านบนของหน้าต่างที่มีอยู่ก่อนจะติดตั้งใหม่อีกครั้ง
  • "xdg-dialog" - ช่วยให้คุณสามารถกำหนดคุณลักษณะเฉพาะของกล่องโต้ตอบให้กับพื้นผิวระดับบนสุดได้ ตัวอย่างเช่น คุณสามารถสร้างกล่องโต้ตอบโมดอลที่บล็อกการโต้ตอบของผู้ใช้กับส่วนที่เหลือของอินเทอร์เฟซ
  • "linux-drm-syncobj" - ให้เครื่องมือสำหรับการซิงโครไนซ์บัฟเฟอร์ที่ชัดเจนโดยใช้วัตถุการซิงโครไนซ์ DRM (Direct Rendering Manager) สันนิษฐานว่าในบริบทของการซิงโครไนซ์เมื่อเรนเดอร์ไปยังบัฟเฟอร์ โปรโตคอลที่เสนอจะช่วยปรับปรุงการทำงานกับไดรเวอร์ที่ใช้ Vulkan และ OpenGL กราฟิก API (การใช้งานนั้นใช้ตัวจัดการในไดรเวอร์เป็นหลัก) โปรโตคอลใหม่นี้ทำให้มั่นใจได้ว่าการดำเนินการวาดลงบนบัฟเฟอร์จะเสร็จสมบูรณ์ก่อนที่ตัวจัดการการจัดองค์ประกอบจะแสดงบัฟเฟอร์นั้น
  • alpha-modifier ซึ่งช่วยให้ไคลเอ็นต์เปลี่ยนระดับความโปร่งใสของพื้นผิวและการดำเนินการถ่ายโอนเพื่อให้แน่ใจว่ามีความโปร่งใสที่ด้านข้างของเซิร์ฟเวอร์คอมโพสิต ซึ่งจะเปลี่ยนเส้นทางการดำเนินการเหล่านี้ไปยัง KMS
  • xdg-toplevel-icon - ผูกไอคอนเข้ากับหน้าต่างระดับบนสุด
  • ext-image-capture-source และ ext-image-copy-capture - จัดระเบียบการจับเนื้อหาที่แสดงบนหน้าจอ
  • xdg-system-bell - อนุญาตให้คุณส่งสัญญาณระบบซึ่งสามารถใช้เป็นคำเตือนในโปรแกรมจำลองเทอร์มินัล รูปแบบของสัญญาณเอาท์พุตจะขึ้นอยู่กับดุลยพินิจของผู้จัดการคอมโพสิต ซึ่งไม่เพียงแต่เป็นเสียงเท่านั้น แต่ยังเป็นการตอบสนองด้วยภาพอีกด้วย
  • fifo - ใช้กลไก FIFO (เข้าก่อนออกก่อน) สำหรับการประมวลผลคิวการอัปเดตเนื้อหาของพื้นผิวที่แสดง ในทางปฏิบัติ โปรโตคอลอนุญาตให้เอาต์พุตรอการสแกนแนวตั้งให้เสร็จสิ้น (vblank) แทนที่จะใช้การโทรกลับทุกครั้งที่พร้อมที่จะแสดงเฟรมใหม่ ซึ่งจะช่วยแก้ปัญหาโหลด GPU สูงเมื่อใช้ VSync
  • commit-timing - อนุญาตให้คุณผูกการจำกัดเวลากับเนื้อหาพื้นผิว (เซิร์ฟเวอร์คอมโพสิตควรสะท้อนถึงการเปลี่ยนแปลงเนื้อหาหากเป็นไปได้หลังจากเวลาที่กำหนด แต่ไม่ใช่ก่อนหน้านั้น)
  • ext-data-control - อนุญาตให้ไคลเอ็นต์ที่มีสิทธิ์ควบคุมการประมวลผลข้อมูล เช่น ใช้ผู้จัดการคลิปบอร์ด
  • ext-workspace — นำแนวคิดนี้ไปใช้ เดสก์ท็อปเสมือน และนำเสนอเหตุการณ์ต่างๆ ที่ให้ข้อมูลเกี่ยวกับสถานะของเดสก์ท็อป รวมถึงความสามารถในการเปิดใช้งานและปิดใช้งานเดสก์ท็อป โปรโตคอลนี้สามารถใช้เพื่อสร้างแดชบอร์ดและตัวชี้วัดที่แสดงรายการเดสก์ท็อปเสมือนที่มีอยู่และอนุญาตให้สลับไปมาระหว่างเดสก์ท็อปเหล่านั้นได้
  • การจัดการสี — ให้ความสามารถในการจัดการสีและรองรับช่วงไดนามิกสูง (HDR) ส่วนขยายนี้ช่วยให้แอปพลิเคชันไคลเอ็นต์สามารถรับข้อมูลเกี่ยวกับคุณสมบัติที่เกี่ยวข้องกับสีของอุปกรณ์เอาต์พุตและส่งข้อมูลเกี่ยวกับคุณสมบัติสีของเนื้อหาของตนเองไปยังเซิร์ฟเวอร์คอมโพสิต ในโหมดคอมโพสิต เซิร์ฟเวอร์ ข้อมูลนี้สามารถนำไปใช้ในการจัดการสีอัตโนมัติเมื่อแสดงเนื้อหาบนอุปกรณ์แสดงผลต่างๆ ตัวอย่างเช่น เพื่อแปลงเนื้อหาให้เหมาะสมสำหรับการแสดงผลบนจอภาพ HDR โปรไฟล์ ICC ใช้เพื่ออธิบายพื้นที่สี

โปรโตคอลที่กำลังพัฒนาในสาขา "ไม่เสถียร":

  • "fullscreen-shell" - ควบคุมการทำงานในโหมดเต็มหน้าจอ
  • "วิธีการป้อนข้อมูล" - การประมวลผลวิธีการป้อนข้อมูล
  • "idle-inhibit" - บล็อกการเรียกใช้สกรีนเซฟเวอร์ (สกรีนเซฟเวอร์)
  • "input-timestamps" - การประทับเวลาสำหรับเหตุการณ์อินพุต
  • "keyboard-shortcuts-inhibit" - ควบคุมการแนบแป้นพิมพ์ลัดและปุ่มลัด
  • "linux-explicit-synchronization" มีลักษณะเฉพาะสำหรับ Linux กลไกสำหรับการซิงโครไนซ์บัฟเฟอร์ที่สัมพันธ์กับพื้นผิว
  • "ตัวชี้ท่าทาง" - ควบคุมจากหน้าจอสัมผัส
  • "ข้อ จำกัด ตัวชี้" - ข้อ จำกัด ตัวชี้ (การปิดกั้น)
  • "การเลือกหลัก" - โดยการเปรียบเทียบกับ X11 จะมีคลิปบอร์ดหลัก (การเลือกหลัก) การแทรกข้อมูลที่โดยปกติจะทำด้วยปุ่มกลางของเมาส์
  • "เหตุการณ์ตัวชี้สัมพัทธ์" - เหตุการณ์ตัวชี้สัมพัทธ์
  • "การป้อนข้อความ" - การจัดระเบียบของการป้อนข้อความ
  • "xdg-foreign" เป็นอินเทอร์เฟซสำหรับการโต้ตอบกับพื้นผิวของไคลเอนต์ "เพื่อนบ้าน"
  • "xdg-decorative" - ​​แสดงการตกแต่งหน้าต่างในฝั่งเซิร์ฟเวอร์
  • "xdg-output" - ข้อมูลเพิ่มเติมเกี่ยวกับเอาต์พุตวิดีโอ (ใช้สำหรับการปรับขนาดเศษส่วน)
  • "xwayland-keyboard-grab" - จับอินพุตในแอปพลิเคชัน XWayland

ที่มา: opennet.ru

ซื้อโฮสติ้งที่เชื่อถือได้สำหรับไซต์ที่มีการป้องกัน DDoS เซิร์ฟเวอร์ VPS VDS 🔥 ซื้อบริการเว็บโฮสติ้งที่เชื่อถือได้ พร้อมระบบป้องกัน DDoS และเซิร์ฟเวอร์ VPS/VDS | ProHoster