Світ є відкритим вихідним кодом і серверної технології вільний дисплей, який був розроблений з нуля, щоб забезпечити ефективну підтримку графічних співпроцесорів на системах 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 дисплей, і першим кроком на шляху забезпечення поверхневого зміни розміру підтримки.
Коментар не знайдено