Chrome ย้ายไปใช้ Ozone layer บนระบบ X11

google-โครเมี่ยม

บางวันที่ผ่านมา Chrome ส่งการเปลี่ยนแปลงให้กับผู้ใช้ทั้งหมดของสาขาเสถียรของเบราว์เซอร์ ซึ่งโดยปริยาย เปิดใช้งานรหัสใหม่เพื่อจัดระเบียบเอาต์พุตบนระบบด้วยเซิร์ฟเวอร์ X, ขึ้นอยู่กับการใช้ ชั้นที่เรียกว่า «โอโซน» ที่สรุปปฏิสัมพันธ์กับระบบย่อยแบบกราฟิก

การใช้โอโซน อนุญาตให้รองรับ X11 และ Wayland ใน Chrome build เดียวกันโดยไม่เชื่อมโยงกับระบบย่อยกราฟิกเฉพาะ

เกี่ยวกับโอโซน

โอโซนเป็นชั้นนามธรรมของแพลตฟอร์มด้านล่างระบบหน้าต่างออร่า ซึ่งใช้สำหรับอินพุตและกราฟิกระดับต่ำ ดังนั้นสิ่งที่เป็นนามธรรมจึงสนับสนุนระบบพื้นฐานตั้งแต่เป้าหมาย SoC ในตัวไปจนถึงระบบหน้าต่างทางเลือกใหม่ไปจนถึง X11 บน Linux เช่น Wayland หรือ Mir เพื่อแสดง Aura Chromium โดยให้การใช้งานอินเทอร์เฟซของแพลตฟอร์ม

เนื่องจากเป็นที่ต้องการให้ใช้ Chrome ในโครงการที่หลากหลาย จึงมีการดำเนินการเพื่ออำนวยความสะดวกในการโยกย้ายไปยังแพลตฟอร์มใหม่

เพื่อสนับสนุนเป้าหมายนี้ โอโซนปฏิบัติตามหลักการดังต่อไปนี้:

  • อินเทอร์เฟซ ไม่ใช่ ifdefs: ความแตกต่างระหว่างแพลตฟอร์มได้รับการจัดการโดยการเรียกอ็อบเจ็กต์ที่แพลตฟอร์มจัดเตรียมไว้ผ่านอินเทอร์เฟซแทนที่จะใช้การคอมไพล์แบบมีเงื่อนไข ส่วนประกอบภายในของแพลตฟอร์มยังคงถูกห่อหุ้มไว้ และอินเทอร์เฟซสาธารณะทำหน้าที่เป็นไฟร์วอลล์ระหว่างชั้นบนที่เป็นกลางของแพลตฟอร์ม (ออร่า การสั่นไหว เนื้อหา ฯลฯ) และเลเยอร์เฉพาะของแพลตฟอร์มที่ต่ำกว่า 
  • อินเทอร์เฟซที่ยืดหยุ่น: อินเทอร์เฟซของแพลตฟอร์มต้องห่อหุ้มสิ่งที่ Chrome ต้องการจากแพลตฟอร์มอย่างแท้จริง โดยมีข้อจำกัดในการใช้งานแพลตฟอร์มน้อยที่สุด รวมถึงข้อจำกัดเล็กน้อยในการใช้ชั้นบน
  • รันไทม์สำหรับทุกแพลตฟอร์ม: เพื่อหลีกเลี่ยงการรวบรวมแบบมีเงื่อนไขในเลเยอร์ด้านบน ทำให้เราสามารถสร้างหลายแพลตฟอร์มในไบนารีเดียวและเชื่อมโยงระหว่างรันไทม์ได้
  • การแตกแขนงอย่างง่าย - พอร์ตจำนวนมากเริ่มต้นจากการส้อมและหลายพอร์ตต่อมารวมรหัสต้นน้ำเข้าด้วยกัน ส่วนพอร์ตอื่นๆ จะมีอายุการใช้งานยาวนานนอกทรี นี่เป็นเรื่องปกติ และเราควรอำนวยความสะดวกในกระบวนการนี้เพื่อส่งเสริมให้ส้อม

นั่นคือเหตุผล ความเป็นอิสระของลักษณะเฉพาะของการสร้างส่วนต่อประสานกราฟิกบนระบบต่างๆ ทำงานใน Chrome มันถูกใช้งานโดยใช้สแต็กกราฟิกข้ามแพลตฟอร์ม Aura ของตัวเอง Aura ทำหน้าที่เป็นตัวจัดการหน้าต่าง (Aura shell) ทำงานผ่านเซิร์ฟเวอร์คอมโพสิตของตัวเอง และใช้เครื่องมือ GPU ที่มีอยู่เพื่อเพิ่มความเร็วการทำงานแบบกราฟิก

เพื่อสร้างองค์ประกอบอินเทอร์เฟซ ใช้ชุดเครื่องมือกราฟิก Aura UI ซึ่งมีชุดวิดเจ็ต ไดอะล็อก ตัวควบคุม และตัวจัดการเหตุการณ์ของตัวเอง จากความสามารถของสแต็กกราฟิกพื้นฐาน (X11, Wayland, Cocoa หรือ Windows) จะใช้เฉพาะเอาต์พุตที่ด้านบนของหน้าต่างรูทเท่านั้น

การดำเนินการเฉพาะทั้งหมดด้วยสแต็กกราฟิก Linux ลดลงเหลือชั้นเดียว โอโซนนามธรรมที่เปลี่ยนได้ง่าย จนถึงตอนนี้ รองรับโอโซนในรูปแบบของตัวเลือก และค่าเริ่มต้นคือแบ็กเอนด์เก่าที่เข้ารหัส X11

งานแปลโครงสร้าง X11 เพื่อใช้เลเยอร์โอโซนได้เริ่มดำเนินการมาตั้งแต่ปี 2020 และสำหรับผู้ใช้ การรวมแบ็กเอนด์ Ozone / X11 อย่างค่อยเป็นค่อยไปโดยค่าเริ่มต้นเริ่มต้นด้วยการเปิดตัว Chrome 92

นั่นคือเมื่อไม่กี่วันก่อน แบ็กเอนด์ใหม่ถูกเปิดใช้งานสำหรับผู้ใช้ Chrome Linux ทุกคน นอกจาก X11 และ Wayland ("–ozone-platform = wayland" และ "–ozone-platform = x11") Ozone ยังพัฒนาแพลตฟอร์มสำหรับเอาต์พุตผ่านไดรเวอร์กราฟิก KMS / DRM เอาต์พุตกราฟิก ASCII โดยใช้ไลบรารี libcaca แสดงผลเป็น PNG รูปภาพ (หัวขาด) และสตรีมผ่านอุปกรณ์ Chromecast

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

Fuente: https://chromium.googlesource.com


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา