Скрыть
Компания Canonical анонсировала планы по созданию собственного графического стека, основой которого будет выступать новый дисплейный сервер Mir, который будет использоваться вместо X-сервера и Wayland. Первоочередное внимание в новом стеке уделяется Qt, который будет использоваться в качестве основного тулкита для приложений и графического окружения дистрибутива.
Одновременно с Mir представлен проект Unity Next в рамках которого планируется провести кардинальную внутреннюю реорганизацию оболочки Unity. Наиболее существенным изменением станет переход с GTK+ и OpenGL-тулкита Nux на Qt5 и средства декларативного описания интерфейса QML. В итоге, новая оболочка, сохранив прежний внешний вид и особенности использования, сможет применять единую кодовую базу при формировании окружений для различных классов устройств, автоматически адаптируясь к широкому диапазону экранных разрешений (от смартфонов до ПК) и систем ввода (клавиатура/мышь, сенсорный экран, пульт ДУ).
Mir включает в себя две базовые библиотеки: libmir-server с набором функций для реализации композитных серверов и libmir-client с реализацией клиентского интерфейса, позволяющего приложениям взаимодействовать с сервером. На базе libmir-server развивается композитный сервер unity-system-compositor. Клиентские библиотеки представляют средства для организации работы существующих тулкитов поверх композитного сервера, например, уже подготовлен набор биндингов QMir для интеграции с Qt, планируется создание аналогичных биндингов для GTK+.
Интеграцию Mir в дистрибутив и наращивание функциональности нового графического стека планируется производить поэтапно. Код Mir развивался как внутренняя разработка Caninical с июня прошлого года. Пакеты с начальной реализацией Mir можно загрузить уже сейчас, тем не менее доступен лишь базовый каркас, большая часть функциональности пока только в планах. В настоящее время код Mir насчитывает около 15 тысяч строк кода на языке C++. Инструкцию по сборке и запуску Mir можно найти на данной странице, для работы требуется использование модифицированной версии пакета Mesa, в который добавлен новый DRI2-компонент EGL.
Первый прототип окружения Unity Next, основанного на Mir будет доступен для тестирования в начале мая. В октябре 2013 года планируется обеспечить полную интеграцию Mir и UnityNext с дистрибутивом и задействовать данные компоненты в редакции Ubuntu для смартфонов. Для запуска X-приложений будет предусмотрен специальный режим совместимости, основанный на обеспечении запуска X-сервера поверх Mir. В апреле 2014 года новое окружение будет доступно для всех платформ, включая десктопы, планшеты, телевизоры.
В большинстве ситуаций использование Mir не отразится на взаимодействии пользователя с системой, который не заметит каких-либо изменений и сможет как и раньше запускать любые графические приложения. В новом окружении можно будет без предварительной пересборки запустить уже собранные приложения на базе таких тулкитов, как Qt и GTK+. Оболочка Unity внешне останется неизменной. Будет продолжена поддержка запуска приложений, привязанных к библиотекам и особенностям X11. Работа Mir будет организована поверх существующей инфраструктуры видеодрайверов, бесшовно будут поддерживаться как свободные, так и проприетарные драйверы, а также EGL-драйверы платформы Android. В настоящее время уже возможна работа со свободными драйверами Intel и Radeon, но пока отсутствует поддержка Nouveau. Также пока невозможна работа с проприетарными драйверами NVIDIA и AMD, но Canonical уже договорилась с производителями данных драйверов о внесении изменений для обеспечения поддержки EGL, которая необходима для работы Mir.
Вначале компания Canonical рассчитывала перевести графический стек дистрибутива на использование Wayland, но в конечном счёте разработчиков Ubuntu не устроила применяемая в Wayland организация обработки событий ввода, во многом повторяющая подход X.Org и затрудняющая построение современных систем для мобильных устройств с сенсорными экранами. Кроме того, часть протокола Wayland, предоставляет первостепенные средства для интеграции с пользовательской оболочной, в то время как разработчики Ubuntu пытаются полностью исключить какую-либо привязку протокола к оболочке. Работа Mir с оболочкой организована через использование дополнительных фронтэндов, что позволяет обеспечить возможность работы с различными протоколами и легко портировать дисплейных сервер для произвольных графических стеков. В качестве системы ввода планируется задействовать input-стек платформы Android, который был адаптирован разработчиками Canonical для использования вне платформы Android.
>>>
Подробнее