Проект Ubuntu анонсировал дисплейный сервер Mir, альтернативу Wayland и X.Org. Unity переходит на Qt

Одновременно с Mir представлен проект Unity Next в рамках которого планируется провести кардинальную внутреннюю реорганизацию оболочки Unity. Наиболее существенным изменением станет переход с GTK+ и OpenGL-тулкита Nux на встроенные в Qt5 механизмы поддержки OpenGL и средства декларативного описания интерфейса QML. В итоге, новая оболочка, сохранив прежний внешний вид и особенности использования, сможет применять единую кодовую базу при формировании окружений для различных классов устройств, автоматически адаптируясь к широкому диапазону экранных разрешений (от смартфонов до ПК) и систем ввода (клавиатура/мышь, сенсорный экран, пульт ДУ).

Mir включает в себя две базовые библиотеки: libmir-server с набором функций для реализации композитных серверов и libmir-client с реализацией клиентского интерфейса, позволяющего приложениям взаимодействовать с сервером. На базе libmir-server развивается композитный сервер unity-system-compositor. Клиентские библиотеки представляют средства для организации работы существующих тулкитов поверх композитного сервера, например, уже подготовлен набор биндингов QMir для интеграции с Qt, планируется создание аналогичных биндингов для GTK3+. Средствами Mir также планируется предоставить механизмы для организации взаимодействия приложений и обмена произвольными данными между программами, не ограничиваясь только буфером обмена и интерфейсом drag’n’drop.

Код Mir развивался как внутренняя разработка Canonical с июня прошлого года. Пакеты с начальной реализацией Mir можно загрузить уже сейчас, тем не менее доступен лишь базовый каркас, большая часть функциональности пока только в планах. Код Mir распространяется под лицензией LGPLv3 и в настоящее время насчитывает около 15 тысяч строк на языке C++. Инструкцию по сборке и запуску Mir можно найти на данной странице, для работы требуется использование модифицированной версии пакета Mesa, в который добавлен новый DRI2-компонент EGL. Наработки Unity Next можно загрузить из данного репозитория.
Интеграцию Mir в дистрибутив и наращивание функциональности нового графического стека планируется производить поэтапно. Первый прототип окружения Unity Next, основанного на Mir будет доступен для тестирования в начале мая. В октябре 2013 года планируется обеспечить полную интеграцию Mir и UnityNext с дистрибутивом и задействовать данные компоненты в редакции Ubuntu для смартфонов. Для запуска X-приложений будет предусмотрен специальный режим совместимости, основанный на обеспечении запуска X-сервера поверх Mir. В апреле 2014 года новое окружение будет доступно для всех платформ, включая десктопы, планшеты, телевизоры.

В большинстве ситуаций использование Mir не отразится на взаимодействии пользователя с системой, который не заметит каких-либо изменений и сможет как и раньше запускать любые графические приложения. В новом окружении можно будет без предварительной пересборки запустить уже собранные приложения на базе таких тулкитов, как Qt и GTK+. Оболочка Unity внешне останется неизменной. Будет продолжена поддержка запуска приложений, привязанных к библиотекам и особенностям X11.
Работа Mir будет организована поверх существующей инфраструктуры видеодрайверов. Бесшовно будут поддерживаться как свободные, так и проприетарные драйверы, а также драйверы платформы Android. Основная идея состоит в использовании подхода платформы Android, при котором Mir будет полагаться только на использование EGL и работать с любыми моделями построения драйверов для которых имеется поддержка EGL. В настоящее время уже возможна работа со свободными драйверами Intel и Radeon, но пока отсутствует поддержка Nouveau. Также пока невозможна работа с проприетарными драйверами NVIDIA и AMD, но Canonical уже договорилась с производителями данных драйверов о внесении изменений для обеспечения поддержки EGL, которая необходима для работы Mir. Более того, совместно с ведущими производителями GPU планируется разработать унифицированную и кроссплатформенную модель драйверов на базе EGL.
Вначале компания Canonical рассчитывала перевести графический стек дистрибутива на использование Wayland, но в конечном счёте разработчиков Ubuntu не устроила применяемая в Wayland организация обработки событий ввода, во многом повторяющая подход X.Org и затрудняющая построение современных систем для мобильных устройств с сенсорными экранами. Кроме того, часть протокола Wayland, предоставляет привилегированные механизмы интеграции с пользовательской оболочной, в то время как разработчики Ubuntu пытаются полностью исключить какую-либо привязку протокола к оболочке и блокировать возможность бесконтрольного доступа клиентским приложениям к привилегированным операциям, таким как перехват событий ввода и захват экрана. Работа Mir с оболочкой организована через использование дополнительных фронтэндов, что позволяет обеспечить возможность работы с различными протоколами и легко портировать дисплейных сервер для произвольных графических стеков. В качестве системы ввода планируется задействовать input-стек платформы Android, который был адаптирован разработчиками Canonical для использования вне платформы Android.
Дополнение: Реализуемость проекта поставлена под сомнение некоторыми разработчиками X.Org. С критикой также выступил Кристиан Хогсберг (Kristian Høgsberg), создатель проекта Wayland, который указал на то, что аргументы против использования Wayland надуманы, например, предлагаемая в Mir система обработки ввода уже реализована и доступна в Wayland. Карстен Хайтцлер (Carsten "Rasterman" Haitzler), основатель и лидер проекта Enlightenment, подчеркнул абсурдность мотивов создания Mir, призвал игнорировать данный проект и подключиться к разработке Waylаnd. Кроме того, отмечается, что среди людей, привлечённых к развитию Mir, отсутствуют разработчики с большим опытом работы над низкоуровневыми компонентами графического стека Linux. В основном к работе привлечены разработчики Unity и сопровождающие пакетов с Compiz.
Источник: http://www.opennet.ru/opennews/art.shtml?num=36293
|
0 | Tweet | Нравится |
|