Подробности о графическом стеке Freon, пришедшем на смену X11 в Chrome OS
Вместо X-сервера Freon предоставляет компактную прослойку, позволяющую организовать прямое обращение из браузера к драйверам KMS и OpenGL ES. Подобное стало возможным благодаря применению классов Ozone, используемых в Chromium для абстрагирования вывода на различные оконные системы (например, развиваются прослойки для вывода через Wayland и Mir). Все операции вывода в Chrome OS ограничиваются браузером, который использует только одно окно X11, формируя содержимое экрана при помощи RendererViews и встроенного оконного менеджера Aura.
Aura берёт на себя функции оконного менеджера (Aura shell), работающего через собственный композитный сервер, использующий доступные средства GPU для ускорения графических операций, и графического тулкита (Aura UI) для формирования элементов интерфейса, предоставляя собственный набор виджетов, диалоговых окон, элементов управления и обработчиков событий. Из подсистем нижележащего графического стека (X11, Cocoa или Windows) затрагивается только вывод поверх корневого окна. Код вывода в Aura сведён к легко заменяемой абстрактной прослойке Ozone.
Так как в Chrome OS допускается выполнение только web-приложений, которые выводят информацию через браузер, функции мультиплексирования окон X11 оказались излишними и появилась возможность организовать вывод напрямую, исключив звено с X-сервером. Таким образом, с введением Freon связка chrome+x11+drm/kms трансофрмировалась в chrome+drm/kms. Для работы текстовой консоли (Ctrl+Alt+F2), применяемой в режиме для разработчиков, в рамках проекта frecon подготовлена реализация консоли, работающая через KMS.
Из перспектив, которые открылись перед разработчиками после внедрения Freon и позволяют добиться увеличения производительности и времени автономной работы, отмечено задействование для композитинга аппаратных оверлеев (Hardware overlay), поддержка выполнения частичных обновлений на платформах без их поддержки в драйверах OpenGL, возможность загрузки текстур без их промежуточного копирования (zero copy), поддержка работы с внешними экранами (уже имеется прототип c реализацией DisplayLink 2.0), сокращение задержек при вводе данных.
Источник: http://www.opennet.ru/opennews/art.shtml?num=41809
|
0 | Tweet | Нравится |
|