Мир является открытым исходным кодом и серверной технологии свободный дисплей, который был разработан с нуля, чтобы обеспечить эффективную поддержку графических сопроцессоров на системах GNU / Linux. Он разработан Canonical для мира & Rsquo;. Самый популярный свободная операционная система, Ubuntu
реализации клиентских и серверных
Мир распространяется как оба клиента (libmirclient) и сервера (libmirserver). Он был разработан как прямой заменой для X Window System (X.Org) на Ubuntu и его производных. Он также совместим с Android графических драйверов.
Продукты Мир и XMir будут распределены по умолчанию на предстоящих выпусках операционной системы Ubuntu Linux, разработанной Canonical. Кроме того, сервер дисплей по умолчанию используется в текущей стабильной версии мобильной операционной системы Ubuntu касания для питания смартфонов и планшетов.
Что & Rsquo, S включен
Мир состоит из нескольких компонентов, которые имеют важное значение для любого современного сервера дисплея, например, наборщиком, менеджер ввода, вывода менеджер, менеджер приложений, а также между приложением функциональных возможностей обмена данными.
Программное обеспечение каким-то образом идентичны по функциональности с и в значительной степени вдохновлен широко используемый сервер X.Org отображения, который в настоящее время реализуется в 99,9% всех дистрибутивов GNU / Linux, а также совершенно новый сервер дисплея Wayland.
Он был разработан, чтобы поддержать многие из существующих аппаратных наборщиков, разработанных в направлении EGL / GL (ES), и воспользоваться существующими драйверами, которые реализуют модель Android драйвера.
Под капотом и поддерживаемых операционных систем
Программа не зависит от платформы и полностью написанный на языке программирования C ++, предназначенный для работы на системах GNU / Linux, BSD дистрибутивов, а также других UNIX-подобных платформах.
Он был успешно протестирован с 32-разрядных и 64-разрядных архитектур наборов инструкций, и самая последняя версия может быть проверена на текущей версии Ubuntu Linux операционной системы или путем захвата последний исходный код из официального репозитория.
Что нового в этом выпуске:
- Улучшения:
- Добавлен новый инструмент 'mirvanity', который может использовать камеру высокоскоростной видео для измерения клиент-экрана задержки.
- Добавлена (сборка времени) поддержка для настольных полный серверов OpenGL (по умолчанию отключена в пользу GLESv2).
- Введен новый буфер семантика (NBS) и включен его по умолчанию.
- избегали использования libmirserver в mir_demo_standalone_render_overlays, что делает bringup следы менее загроможден.
- Удалены TilingWindowManager из примера серверов.
- Добавлены два новых MIR _ * _ performance_test инструменты, которые выполняются в рамках "mir_performance_tests".
- Добавлена удержание указатель на клиентский API.
- Добавлена новая платформа, поддерживающая программное обеспечение EGLStreams.
- Добавлена платформа ввода, вложенная сервер может использовать.
- Разрешить конфигурацию application_not_responding_detector
- Ручка на стороне сервера с помощью раскладки клавиатуры XKBMapper.
- Удалите закадровый дисплей.
- Добавлена опция обратного вызова для уведомления оболочки, что сервер собирается останавливаться.
- Добавить запись в журнал событий ANativeWindow на Android.
- Резюме ABI:
- mirclient ABI без изменений на уровне 9
- mirserver ABI врезались до 41
- mircommon ABI без изменений на уровне 6
- mirplatform ABI врезались до 12
- mirprotobuf ABI без изменений на уровне 3
- mirplatformgraphics ABI врезались до 10
- mirclientplatform ABI без изменений на уровне 5
- mirinputplatform ABI без изменений на уровне 5
Что нового в версии 0.18.0:
- Графика:
- Внутренняя подготовительные работы, необходимые для Vulkan, аппаратные мультимедийные декодируется оптимизаций, и время ожидания улучшений для вложенных серверов.
- Начал работу над плагина рендереров. Это позволит лучше подготовиться к Mir IoT, где мы не могли бы иметь стек Vulkan / GLES на устройстве, и, возможно, придется использовать процессор.
- Исправлены ошибки графики коррупции, влияющие на Xmir (блочные черные полосы)
- Различные исправления для сценариев мультимониторных, а также улучшенную поддержку масштабирования буферов, чтобы удовлетворить монитор его дальше.
- Входной сигнал:
- Используйте libinput по умолчанию. Мы были, опираясь на старую версию стека Android ввода. Полностью удалить это в пользу использования libinput.
- Ошибки:
- Довольно длинный список коррекции ошибок. Некоторые из них никогда не были "в дикой природе", но существовали в процессе развития 0.18.
Что нового в версии 0.17.0:
- Резюме ABI: только серверы и драйверы графической подсистемы нуждаются в восстановлении;
- Mirclient ABI без изменений на уровне 9
- Mirserver ABI врезались до 35
- Mircommon ABI без изменений на уровне 5
- Mirplatform ABI врезались до 11
- Mirprotobuf ABI врезались 3
- Mirplatformgraphics ABI наткнулся на 6
- Mirclientplatform ABI без изменений на уровне 3
- Улучшения:
- Ввести libmircookie, простой механизм для группы взаимодействующих процессов, чтобы раздать и проверить, трудно поддающихся подделать метка времени ненадежных 3 сторон.
- Более рефакторинга для поддержки других рендеров, чем GL.
- Добавьте MirBlob на клиентский API. - Инструмент для сериализации и десериализации данных
- Ввести входную платформу libinput на основе, пока не используется по умолчанию.
- Обеспечить механизм оболочки для отправки событий на поверхности конструкции.
- Обеспечение MIR :: оболочки :: DisplayConfigurationController позволяя оболочки правильно изменять конфигурацию дисплея, уведомление клиентов по мере необходимости.
- Новый DSO версий руководство.
- Отправить события, имеющие отношение к выходу поверхность в настоящее время находится на (точек на дюйм, форм-фактор, масштаб) для клиентов.
- Исправление ошибок:
- [повышение] XMir конкретной документации должны жить в своем собственном подразделе (LP: # 1200114)
- Вложенные серверы нуждаются в поддержке курсора (LP: # 1289072)
- Мир курсор отсутствует / невидимым до тех пор, пока клиент не устанавливает его несколько раз (LP: # 1308133)
- [регрессия] Fullscreen программные поверхности (как Xmir -sw) может привести к сбою сервера Мир (LP: # 1493721)
- [USC] Мир дает и выключается из-за ввода с мультимониторной qtmir (Std :: исключение :: Что: Ошибка при отправке входного события) (LP: # 1496069)
- Курсор мыши исчезает при входе площадь поверхности вложенного клиента (LP: # 1496849)
- [Android] вход не отправляется при подключении внешнего монитора (LP: # 1498045)
- [Android] входные координаты масштабируются неправильно, когда подключен внешний монитор (LP: # 1498540)
- [Android] станд :: исключение ::, что: ошибка при наборе HWC () при отключении внешнего монитора (LP: # 1498550)
- тесты не компилировать без предварительно скомпилированных заголовков (LP: # 1498829)
- [Android] станд :: исключение ::, что: Не удалось контролировать ФД: Операция не допускается при отключении внешнего дисплея в гнездовой конфигурации (LP: # 1499042)
- Мир больше вдруг не строит, так как 'Меса (11.0.
0-1ubuntu1) коварный ': /usr/include/EGL/eglplatform.h:100:35: фатальная ошибка: Android / native_window.h: Нет такого файла или каталога (LP: # 1499134)
- [Android] различные сбои При отключении внешнего дисплея на вложенной конфигурации (LP: # 1501927)
- Курсор становится видимым сам по себе, когда внешний монитор подключен (LP: # 1502200)
- Меса FTBFS из-за отсутствия Требуется в mirclient (LP: # 1503450)
Что нового в версии 0.13.3:
- MirEvent зачистка
- Продолжение буфера семантических изменений (что поможет вложенной байпас)
- & Quot; Приложение не отвечает & Quot; филиал предложил
- Мир-на-X предложил ветвь
- Продолжение работы по переделки QtMir использовать интерфейс WM в Мир
- Продолжение координации с вверх по течению изменений libinput мы предложили
- Платформа апи с устаревшим кодом Мир удален в процессе посадки
- Начало питон основе реализация тестовой основы перфорация
- Начало оценки Vulkan / WSI API
- Исправлены утечки в FD некоторых тестах
- Поддержка двойной буферизации
Что нового в версии 0.11.0:
- Упаковка изменения:
- Из-за изменений в модели драйверов Мир клиентские платформы больше не версированной по игнорирован. Thusly libmirplatform5driver- (Mesa | Android) заменяется Mir-клиент-Меса (от платформы-андроид). Новый пакет Mir-клиент-платформа-Меса-DEV вводится содержащий заголовки ранее в mirplatform-разработчика.
- Улучшения:
- Много более крупный водопровод в Android код, на пути к поддержке внешних дисплеев.
- Добавлена поддержка лязгом 3.6.
- Основная реконструкция серверных классов в Мирском :: оболочки, сцены и друзья (все еще продолжается).
- Добавлен клиент API для создания диалоговых окон и всплывающие подсказки.
- Добавлены новые состояния поверхности:. Mir_surface_state_hidden и mir_surface_state_horizmaximized
- Производительность:. Используйте оптимально эффективный фрагмент затенения, когда это возможно
- Производительность:. (Desktop) Composite с использованием двойной буферизации вместо тройного, чтобы уменьшить видимое отставание
- mir_proving_server: теперь изменить размер окна из любого края или угла, используя существующий Alt + middlebuttondrag .
- mir_proving_server: Добавлены некоторые демо пользовательские шейдеры (режимы отрицательная и высокая контрастность: Супер + N / C) .
- mir_proving_server:. Закройте окно клиенты вежливо через Alt + F4
- Добавлена MirPointerInputEvent (часть нового API ввода, старый MirMotionEvent все еще поддерживается и сейчас).
- Резюме ABI: Серверы должны восстанавливать, но клиенты не; , Mirclient ABI без изменений на уровне 8. Mircommon ABI без изменений на уровне 3. Mirplatform ABI врезались до 6. Mirserver ABI врезались до 29
- Исправление ошибок:
- [регрессия] mir_demo_server немедленно завершает работу с наддува bad_any_cast исключения (LP: # 1414630)
- нужен путь к меню положения и всплывающих подсказок (относительное позиционирование к Parent) (LP: # 1324101)
- Отказ GLibMainLoopTest видели в CI (LP: # 1413748)
- Clang строит неудачу в CI (LP: # 1416317)
- в Мирском ошибку сегментации :: наборщику :: GLProgramFamily :: Shader :: Init () (LP: # 1416482)
- GLRenderer: фрагмент по умолчанию шейдер не является оптимальным для альфа = 1.
0 (LP: # 1350674)
- Меса :: DisplayBuffer :: post_update трехкратно буферном - более лага, чем она должна быть (LP: # 1350725)
- Не удается подключиться к серверу вложенного при запуске из диффере ЖТ (LP: # 1379266)
- [testfail] AsioMainLoopAlarmTest терпит неудачу в CI (LP: # 1392256)
- Отчет Compositor непоследовательно сообщает время кадра во время обхода, и время рендеринга в противном случае (LP: # 1408906)
- [регрессия] mir_demo_client_fingerpaint ничего не больше, (с помощью мыши) не краска (LP: # 1413139)
- Аппаратный курсор всегда немного впереди составное изображение (LP: # 1274408)
- интеграционные тесты вывода (слишком много) DisplayServer журнал сообщений (LP: # 1408231)
- [регрессия] deploy-and-test.sh не работает больше (если у вас нет umockdev уже установлен) (LP: # 1413479)
- Цвет Inverse на дисплее. Переключите Негативное изображение (LP: # 1400580)
- Mir-убунту-яркий-armhf-CI не удается последовательно (LP: # 1407863)
- с двойной буферизацией поверхности могут запаздывать или замерзнуть, если событийная, а не постоянно перерисовывать (LP: # 1395581)
- Указатель движения и пересечения событий отсутствуют (LP: # 1417650)
Что нового в версии 0.8:
- Поддержка touchspots, чтобы визуально показать сенсорные места на экране, хотя и ценой исполнения.
- Мир клиенты теперь могут выставить информацию о производительности, как частоту кадров и время рендеринга с помощью установки переменной окружения MIR_CLIENT_PERF_REPORT = журнал, чтобы сбросить информацию о производительности на стандартный вывод.
- Менее чувствительность к ABI-брейков, скрывая заголовки от воздействия, которые были неиспользованные внешние проекты и т.д. Там также несколько сценариев в настоящее время для обнаружения ABI поломки.
- Другие улучшения на ощупь реагировать -. В том числе менее отставание и гладкой прокрутки
- накладками Аппаратные средства теперь включены по умолчанию.
- Большое количество исправлений.
Что нового в версии 0.1.2:
- графика: Android:. Улучшить интерфейс для MGA :: DisplayDevice поэтому его просто обеспокоены с оказанием и размещение
- поверхности: переименовывать & Quot; поверхности & Quot; компонент & Quot; сцены & Quot;.
- поверхности, оболочка: Перенесите модель данных сеанса из оболочки на поверхности .
- графика: изменение fill_ipc_package (), чтобы использовать реальные указатели .
- mir_client_library.h: Fix опечатка & Quot; делать и запирание & Quot; должно быть & Quot; делать все запорные & Quot;.
- API перечислений очистки: Удалить немного вводит в заблуждение * значения _enum_max_, и заменить их более точными множественного числа .
- test_android_communication_package:. Не ждите, открытый ФО быть & GT; 0, мы можем иметь закрытую стандартный ввод делает это допустимое значение (LP: # 1247718)
- Обновить документы о запуске Мир на рабочем столе говоря уже о новом пакете Ubuntu-Desktop-Mir.
- закадровый: Добавить дисплей, который отображает ее вывод закадровый буферов
- графика: Android: исправление регрессии для hwc1.0 устройств, введенных в r1228 (LP: # 1252433) .
- OffscreenPlatform предоставляет услуги, что закадровый дисплей нуждается от платформы.
- графика: Android:. Объединить классы GLContexts в использовании
- Исправьте неинициализированную переменную вызывая сбои тестирования случайным образом drm_auth_magic. (LP: # 1252144).
- Добавьте fullyish функциональную Udev обертку. Это в настоящее время находится в графическом / GBM, но будет перемещен в верхнем уровне, когда устройство ввода мигрирует обнаружения.
- Добавить поддержку изменения размера кода примера; демо-оболочки и клиентов.
- eglapp: Уточнение сообщения о пиксельных форматов (LP: # 1168304).
- Добавляет поддержку MirMotionEvent под pointer_coordinates называемых tool_type. Это позволит клиентам сказать, какой тип инструмента используется, от мыши / пальцем / и т.д.. (LP: # 1252498)
- клиент, внешний интерфейс: Сообщить о реальных доступных форматов поверхности пикселей для клиентов. (LP: # 1240833)
- графика: Android: 1) изменение hwc1.1 использовать заборы синхронизации во время г л renderloop наборщиком в. Обратите внимание, что мы больше не ждать рендеринга для завершения, мы передаем эту ответственность на водителя и ядра. 2) поддержка связующей 10. (LP: # 1252173) (LP: # 1203268)
- оболочки: не публикуют SurfacesContainer - это может быть частная обстреливать .
- GBM:. Не запутались режим VT при сбое установки восстановления только предыдущий режим VT во время завершения работы, если он был VT_AUTO
- Исправлена ошибка из-за вызова оказалась неудачной eglMakeCurrent (), когда в гнездовой режиме.
- оболочки: единство-Mir использует оболочки :: FocusSetter - сделать заголовок общественность снова
- Добавлена поддержка изменения размера для клиента поверхностей (MIR :: клиент :: MirSurface).
- графика: Android: поддержка 'старый ака 2012' связующей 7 HWC (Tegra3 SoC NVIDIA) лучше. (LP: # 1231917)
- Добавить поддержку изменения размеров классов * ClientBuffer. Теперь всегда получают размеры из последнего пакета буфера.
- Android: поддержка крючки драйверов для Мали T604 (присутствующие в связующей 10)
- Добавьте ширину и высоту с протоколом сообщений Буфер, в рамках подготовки к изменяемыми размерами поверхностей.
- поверхности, раковины, каротаж, результаты тестов: не публиковать заголовки, которые могут быть частными к поверхностям. Поверхности / basic_surface.h, поверхности / surface_controller.h и оболочки / surface_builder.h
- примеры: Восстановление связывания при уничтожении цели визуализации GL фреймбуфером
- примеры, поверхности, оболочка: удалить render_surfaces зависимость от BasicSurface
- Геометрия: удалить реализацию потоковых операторов из заголовков (LP: # 1247820)
- Устранить последовательность фокуса регистрации заказа, складывая его функциональность в контейнере для сеанса.
- Убедитесь, что сессия медиатора выбросов, полученных буферных ресурсов, прежде чем пытаться получить новый буфер от имени клиента.Это фиксирует показатели регрессии (LP: # 1249210).
- Некоторые уборок в test_client_input.cpp.
- Фактор связку & Quot; ClientConfigCommon & Quot;.
- Малый очистки для сеанса тестирования контейнера для увеличения инкапсуляцию.
- оболочки, поверхности: Еще один шаг в & Quot; фиксируя & Quot; Поверхности иерархий. - публиковать только интерфейсы и ввод данных в модель поверхности
- графика: Android:. Использование HWC1.1 EGL, чтобы получить дополнительную информацию о формате фреймбуфера пикселей
- Fix FTBS используя use_debflags = ON (здание для андроид-armhf). (LP: # 1248014)
- Добавить отчет клиента на входе приемника.
- Doc: Doxygen 1.8.4 жалуется на устаревшей конфигурации так побежал & Quot; Doxygen у Doxyfile.in & Quot; .
- Реализовать изменения размера () для классов на стороне сервера поверхности.
- Android: очистить MGA :: DisplayBuffer и MGA :: DisplayBufferFactory
- Добавьте изменение размера () поддержка BufferStream, в рамках подготовки к изменяемыми размерами поверхностей.
- Merge изменения метаданных из недавно реконструированный LP: Mir
- Тесты: Дедуплицировать мг :: GraphicBufferAllocator окурки .
- примеры: Удалить паразитный использование MIR / Shell / surface.h.
- внешний интерфейс: удалить ClientTrackingSurface из иерархии классов поверхности
- Bumping ABI на сервере для libmirserver11.
- Не говоря уже о & Quot; визуализируемых & Quot ;. Этот интерфейс не существовало в течение довольно продолжительного времени.
- Android-вход:. Назначают более уникальным сенсорным идентификаторами
Что нового в версии 0.1.1:
- Новые модульные тесты, различные исправления, чтобы избежать публикации внутреннего заголовки, поддержка для указания Мир вложенными имя сервера либо через --name = аргумент или переменную окружения MIR_SERVER_NAME, рефакторинга классов Мир Android дисплей, и первым шагом на пути обеспечения поверхностного изменения размера поддержки.
Комментарии не найдены