Chrome đã chuyển sang sử dụng lớp Ozone trên hệ thống X11

google-chrome

Vài ngày trước Chrome đã gửi cho tất cả người dùng nhánh ổn định của trình duyệt một thay đổi mà theo mặc định, kích hoạt mã mới để tổ chức đầu ra trên các hệ thống có máy chủ X, dựa trên việc sử dụng một lớp có tên là «Ôzôn» trừu tượng hóa sự tương tác với hệ thống phụ đồ họa.

Sử dụng Ozone cho phép cung cấp hỗ trợ cho X11 và Wayland trong cùng một bản dựng Chrome, mà không bị ràng buộc với một hệ thống phụ đồ họa cụ thể.

Giới thiệu về Ozone

Ozone là một lớp trừu tượng nền tảng bên dưới hệ thống cửa sổ Aura được sử dụng cho đầu vào và đồ họa cấp thấp, do đó trừu tượng hỗ trợ các hệ thống cơ bản khác nhau, từ các mục tiêu SoC tích hợp sẵn đến các hệ thống cửa sổ thay thế mới cho X11 trên Linux như Wayland hoặc Mir để hiển thị Aura Chromium bằng cách cung cấp triển khai giao diện của nền tảng.

Vì mong muốn Chrome được sử dụng trong nhiều dự án khác nhau, công việc đang được thực hiện để tạo điều kiện thuận lợi cho việc di chuyển sang các nền tảng mới.

Để hỗ trợ mục tiêu này, Ozone tuân theo các nguyên tắc sau:

  • Giao diện, không phải ifdefs: Sự khác biệt giữa các nền tảng được xử lý bằng cách gọi một đối tượng do nền tảng cung cấp thông qua một giao diện thay vì sử dụng biên dịch có điều kiện. Các thành phần bên trong của nền tảng vẫn được đóng gói và giao diện công khai hoạt động như một bức tường lửa giữa các lớp trung tính trên của nền tảng (hào quang, nhấp nháy, nội dung, v.v.) và các lớp cụ thể của nền tảng bên dưới. 
  • Giao diện linh hoạt: Giao diện nền tảng phải bao hàm chính xác những gì Chrome cần từ nền tảng, với những hạn chế tối thiểu về việc triển khai nền tảng, cũng như những hạn chế tối thiểu về việc sử dụng các lớp trên.
  • Thời gian chạy cho tất cả các nền tảng: để tránh biên dịch có điều kiện ở các lớp trên, nó cho phép chúng tôi xây dựng nhiều nền tảng trong một hệ nhị phân và liên kết chúng trong thời gian chạy.
  • Phân nhánh đơn giản - Nhiều cổng bắt đầu dưới dạng ngã ba và nhiều cổng sau đó hợp nhất mã của chúng ngược dòng, những cổng khác sẽ có tuổi thọ dài bên ngoài cây. Điều này là tốt, và chúng ta nên tạo điều kiện cho quá trình này để khuyến khích fork.

Đó là lý do tại sao tính độc lập của các đặc thù của việc xây dựng giao diện đồ họa trên các hệ thống khác nhau hoạt động trong Chrome nó được thực hiện bằng cách sử dụng ngăn xếp đồ họa đa nền tảng Aura của riêng nó. Aura hoạt động như một trình quản lý cửa sổ (Aura shell), chạy thông qua máy chủ tổng hợp của riêng nó và sử dụng các công cụ GPU có sẵn để tăng tốc các hoạt động đồ họa.

Để tạo các phần tử giao diện, bộ công cụ đồ họa Aura UI được sử dụng, cung cấp bộ widget, hộp thoại, điều khiển và trình xử lý sự kiện của riêng nó. Trong số các khả năng ngăn xếp đồ họa cơ bản (X11, Wayland, Cocoa hoặc Windows), chỉ đầu ra ở đầu cửa sổ gốc mới được sử dụng.

Tất cả các hoạt động cụ thể với ngăn xếp đồ họa Linux được giảm xuống một lớp ozon trừu tượng có thể thay thế dễ dàng. Cho đến nay, hỗ trợ Ozone đã được cung cấp dưới dạng một tùy chọn và mặc định là chương trình phụ trợ cũ, được mã hóa X11.

Công việc dịch các bản dựng X11 để sử dụng tầng Ozone đã diễn ra từ năm 2020 và đối với người dùng, việc đưa dần phần phụ trợ Ozone / X11 vào mặc định bắt đầu với việc phát hành Chrome 92.

Tức là, một vài ngày trước, chương trình phụ trợ mới đã được kích hoạt cho tất cả người dùng Chrome Linux. Ngoài X11 và Wayland ("–ozone-platform = wayland" và "–ozone-platform = x11"), Ozone cũng phát triển các nền tảng cho đầu ra thông qua trình điều khiển đồ họa KMS / DRM, đầu ra đồ họa ASCII sử dụng thư viện libcaca, hiển thị sang PNG hình ảnh (không đầu) và phát trực tuyến qua thiết bị Chromecast.

Cuối cùng, nó được đề cập rằng chương trình phụ trợ trên đã được lên kế hoạch, chỉ hỗ trợ công việc thông qua X11, sẽ không được dùng nữa và cuối cùng bị xóa khỏi codebase (Sau khi chương trình phụ trợ Ozone / X11 mới đạt được tính năng ngang bằng và bật nó theo mặc định, không có lý do gì để giữ một chương trình phụ trợ X11 khác trong trình duyệt.)

Fuente: https://chromium.googlesource.com


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.